diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 00000000000..a65fee43345 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: If you've already asked for help with a problem and confirmed something is broken with ActiveAdmin itself, create a bug report. +title: '' +labels: '' +assignees: '' +--- + + + +Describe your issue with a **clear title and description**. Make sure to include +as much relevant information as possible, including a code sample or failing +test that demonstrates the expected behavior, as well as your system +configuration. Your goal should be to make it easy for yourself - and others - +to reproduce the bug and figure out a fix. + +### Expected behavior + +What do you think should happen? + +### Actual behavior + +What actually happens? + +### How to reproduce + +Having a way to reproduce your issue will help people confirm, investigate, +and ultimately fix your issue. You can do this by providing an executable test +case. To make this process easier, please use [our bug report template script]. + +Copy the content of the appropriate template into an `.rb` file and make the +necessary changes to demonstrate the issue. You can execute it by running +`ruby the_file.rb` in your terminal. If all goes well, you should see your test +case failing. + +[our bug report template script]: https://github.com/activeadmin/activeadmin/blob/master/tasks/bug_report_template.rb diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 0aca3e07b04..3202933f390 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -6,9 +6,6 @@ contact_links: - name: Feature Request url: https://github.com/activeadmin/activeadmin/discussions/new?category=ideas about: Suggest any ideas you have using our discussion forums. - - name: Bug Report - url: https://github.com/activeadmin/activeadmin/issues/new?body=%3C%21--%20Please%20provide%20all%20of%20the%20information%20requested%20below.%20We%27re%20a%20small%20team%20and%20without%20detailed%20information%20it%27s%20not%20possible%20for%20us%20to%20help%20and%20your%20bug%20report%20will%20be%20closed.%20--%3E%0A%0ADescribe%20your%20issue%20with%20a%20%2A%2Aclear%20title%20and%20description%2A%2A.%20Make%20sure%20to%20include%20as%20much%20relevant%20information%20as%20possible%2C%20including%20a%20code%20sample%20or%20failing%20test%20that%20demonstrates%20the%20expected%20behavior%2C%20as%20well%20as%20your%20system%20configuration.%20Your%20goal%20should%20be%20to%20make%20it%20easy%20for%20yourself%20-%20and%20others%20-%20to%20reproduce%20the%20bug%20and%20figure%20out%20a%20fix.%0A%0A%23%23%23%20Expected%20behavior%0A%0AWhat%20do%20you%20think%20should%20happen%3F%0A%0A%23%23%23%20Actual%20behavior%0A%0AWhat%20actually%20happens%3F%0A%0A%23%23%23%20How%20to%20reproduce%0A%0AHaving%20a%20way%20to%20reproduce%20your%20issue%20will%20help%20people%20confirm%2C%20investigate%2C%20and%20ultimately%20fix%20your%20issue.%20You%20can%20do%20this%20by%20providing%20an%20executable%20test%20case.%20To%20make%20this%20process%20easier%2C%20please%20use%20%5Bour%20bug%20report%20template%20script%5D.%0A%0ACopy%20the%20content%20of%20the%20appropriate%20template%20into%20an%20%60.rb%60%20file%20and%20make%20the%20necessary%20changes%20to%20demonstrate%20the%20issue.%20You%20can%20execute%20it%20by%20running%20%60ruby%20the_file.rb%60%20in%20your%20terminal.%20If%20all%20goes%20well%2C%20you%20should%20see%20your%20test%20case%20failing.%0A%0A%5Bour%20bug%20report%20template%20script%5D%3A%20https%3A%2F%2Fgithub.com%2Factiveadmin%2Factiveadmin%2Fblob%2Fmaster%2Ftasks%2Fbug_report_template.rb - about: If you've already asked for help with a problem and confirmed something is broken with ActiveAdmin itself, create a bug report. - name: Documentation Issue url: https://github.com/activeadmin/activeadmin/pulls about: For documentation improvements, feel free to create a pull request. diff --git a/.github/dependabot.yml b/.github/dependabot.yml index dfd6c4185b6..4315a9fb870 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -17,9 +17,6 @@ updates: rails_default: patterns: - "*" - ignore: - - dependency-name: sqlite3 - versions: ">= 2" # FIXME: Remove when rails/rails#51636 will be released - package-ecosystem: npm directory: / schedule: @@ -30,26 +27,60 @@ updates: patterns: - "*" - package-ecosystem: bundler - directory: /gemfiles/rails_61 + directory: /gemfiles/rails_70 schedule: interval: monthly versioning-strategy: lockfile-only groups: - rails_61: + rails_70: patterns: - "*" ignore: + - dependency-name: rails + versions: ">= 7.1.0" + - dependency-name: rails-i18n + versions: ">= 8.0.0" + - dependency-name: railties + versions: ">= 7.1.0" + - dependency-name: rspec-rails + versions: ">= 8.0.0" - dependency-name: sqlite3 versions: ">= 2" - package-ecosystem: bundler - directory: /gemfiles/rails_70 + directory: /gemfiles/rails_71 schedule: interval: monthly versioning-strategy: lockfile-only groups: - rails_70: + rails_71: patterns: - "*" ignore: - - dependency-name: sqlite3 - versions: ">= 2" + - dependency-name: erb + versions: ">= 5" + - dependency-name: rails + versions: ">= 7.2.0" + - dependency-name: rails-i18n + versions: ">= 8.0.0" + - dependency-name: railties + versions: ">= 7.2.0" + - dependency-name: rspec-rails + versions: ">= 8.0.0" + - package-ecosystem: bundler + directory: /gemfiles/rails_72 + schedule: + interval: monthly + versioning-strategy: lockfile-only + groups: + rails_72: + patterns: + - "*" + ignore: + - dependency-name: erb + versions: ">= 5" + - dependency-name: rails + versions: ">= 8.0.0" + - dependency-name: rails-i18n + versions: ">= 8.0.0" + - dependency-name: railties + versions: ">= 8.0.0" diff --git a/.github/workflows/bug-report-template.yml b/.github/workflows/bug-report-template.yml index a53c53d704f..b6df09d4bea 100644 --- a/.github/workflows/bug-report-template.yml +++ b/.github/workflows/bug-report-template.yml @@ -11,7 +11,7 @@ concurrency: cancel-in-progress: ${{ github.event_name == 'pull_request' }} env: - RUBY_VERSION: ruby-3.3 + RUBY_VERSION: ruby-3.4 jobs: bug_report_template_test: @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: tj-actions/changed-files@v45 + - uses: tj-actions/changed-files@v46 id: changed-files with: files: | diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8732abbaa64..c3004176fdc 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -19,6 +19,7 @@ jobs: fail-fast: false matrix: ruby: + - "3.4" - "3.3" - "3.2" - "3.1" @@ -33,6 +34,9 @@ jobs: - ruby: '3.1' os: ubuntu-latest rails: rails_80 + - ruby: '3.4' + os: ubuntu-latest + rails: rails_70 steps: - uses: actions/checkout@v4 - name: Configure bundler (default) @@ -105,7 +109,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: tj-actions/changed-files@v45 + - uses: tj-actions/changed-files@v46 id: changed-files with: files: | diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml index a660dbc37a3..8d81db9d613 100644 --- a/.github/workflows/eslint.yml +++ b/.github/workflows/eslint.yml @@ -4,7 +4,7 @@ on: pull_request: env: - NODE_VERSION: ${{ vars.ESLINT_NODE_VERSION || '20.x' }} + NODE_VERSION: ${{ vars.ESLINT_NODE_VERSION || '22.x' }} jobs: eslint: @@ -16,7 +16,7 @@ jobs: with: node-version: ${{ env.NODE_VERSION }} cache: yarn - - uses: tj-actions/changed-files@v45 + - uses: tj-actions/changed-files@v46 id: changed-files with: files: | diff --git a/.github/workflows/gherkin-lint.yml b/.github/workflows/gherkin-lint.yml index 89885b53368..4a9fc1911e6 100644 --- a/.github/workflows/gherkin-lint.yml +++ b/.github/workflows/gherkin-lint.yml @@ -4,7 +4,7 @@ on: pull_request: env: - NODE_VERSION: 20.x + NODE_VERSION: 22.x jobs: gherkin_lint: @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: tj-actions/changed-files@v45 + - uses: tj-actions/changed-files@v46 id: changed-files with: files: | diff --git a/.github/workflows/github-actions-lint.yml b/.github/workflows/github-actions-lint.yml index bfeac0937d5..44e0a2453a3 100644 --- a/.github/workflows/github-actions-lint.yml +++ b/.github/workflows/github-actions-lint.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: tj-actions/changed-files@v45 + - uses: tj-actions/changed-files@v46 id: changed-files with: files: | diff --git a/.github/workflows/markdown-lint.yml b/.github/workflows/markdown-lint.yml index ed23c0a687d..012138ea762 100644 --- a/.github/workflows/markdown-lint.yml +++ b/.github/workflows/markdown-lint.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: tj-actions/changed-files@v45 + - uses: tj-actions/changed-files@v46 id: changed-files with: files: | diff --git a/.github/workflows/rubocop.yml b/.github/workflows/rubocop.yml index 1e884027c17..f40833230c1 100644 --- a/.github/workflows/rubocop.yml +++ b/.github/workflows/rubocop.yml @@ -4,7 +4,7 @@ on: pull_request: env: - RUBY_VERSION: ${{ vars.RUBOCOP_RUBY_VERSION || '3.3' }} + RUBY_VERSION: ${{ vars.RUBOCOP_RUBY_VERSION || '3.4' }} jobs: rubocop: @@ -14,7 +14,7 @@ jobs: BUNDLE_ONLY: ${{ vars.RUBOCOP_BUNDLE_ONLY || 'rubocop' }} steps: - uses: actions/checkout@v4 - - uses: tj-actions/changed-files@v45 + - uses: tj-actions/changed-files@v46 id: changed-files with: files: | diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml new file mode 100644 index 00000000000..953b4099582 --- /dev/null +++ b/.github/workflows/typos.yml @@ -0,0 +1,17 @@ +name: Typos + +on: + pull_request: + +jobs: + typos: + name: Run typos + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: reviewdog/action-typos@v1 + with: + fail_level: any + filter_mode: nofilter # added (default), diff_context, file, nofilter + github_token: ${{ secrets.GITHUB_TOKEN }} + reporter: github-pr-check diff --git a/.github/workflows/yaml-lint.yml b/.github/workflows/yaml-lint.yml index 58326526b4f..be0a0d73d6d 100644 --- a/.github/workflows/yaml-lint.yml +++ b/.github/workflows/yaml-lint.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: tj-actions/changed-files@v45 + - uses: tj-actions/changed-files@v46 id: changed-files with: files: | diff --git a/.rubocop.yml b/.rubocop.yml index 5ea7612dfb4..1c5d1580e51 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -4,7 +4,7 @@ inherit_mode: merge: - Include -require: +plugins: - rubocop-capybara - rubocop-packaging - rubocop-performance @@ -42,12 +42,18 @@ Capybara/ClickLinkOrButtonStyle: Capybara/CurrentPathExpectation: Enabled: true +Capybara/FindAllFirst: + Enabled: true + Capybara/MatchStyle: Enabled: true Capybara/NegationMatcher: Enabled: true +Capybara/NegationMatcherAfterVisit: + Enabled: true + Capybara/RedundantWithinFind: Enabled: true @@ -75,9 +81,6 @@ Layout/EndAlignment: Layout/HashAlignment: Enabled: true -Lint/ParenthesesAsGroupedExpression: - Enabled: true - Layout/AccessModifierIndentation: Enabled: true @@ -130,6 +133,21 @@ Layout/IndentationStyle: Enabled: true EnforcedStyle: spaces +Lint/AmbiguousOperator: + Enabled: true + +Lint/AmbiguousRegexpLiteral: + Enabled: true + +Lint/ParenthesesAsGroupedExpression: + Enabled: true + +Lint/UselessAccessModifier: + Enabled: true + +Lint/UselessAssignment: + Enabled: true + Packaging/BundlerSetupInTests: Enabled: true @@ -288,6 +306,9 @@ Performance/StringInclude: Performance/StringReplacement: Enabled: true +Performance/StringBytesize: + Enabled: true + Performance/Sum: Enabled: false @@ -300,6 +321,9 @@ Performance/UnfreezeString: Performance/UriDefaultParser: Enabled: true +Performance/ZipWithoutBlock: + Enabled: true + Rails/FilePath: Enabled: true EnforcedStyle: slashes @@ -342,7 +366,7 @@ Layout/IndentationConsistency: Layout/IndentationWidth: Enabled: true -Naming/PredicateName: +Naming/PredicatePrefix: Enabled: true ForbiddenPrefixes: @@ -391,6 +415,3 @@ Layout/SpaceInsideHashLiteralBraces: Layout/SpaceInsideParens: Enabled: true - -Lint/UselessAccessModifier: - Enabled: true diff --git a/Gemfile.lock b/Gemfile.lock index 23a65acf084..13228ef2108 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,8 +4,8 @@ PATH activeadmin (4.0.0.beta15) arbre (~> 2.0) csv - formtastic (>= 3.1) - formtastic_i18n (>= 0.4) + formtastic (>= 5.0) + formtastic_i18n (>= 0.7) inherited_resources (~> 2.0) kaminari (>= 1.2.1) railties (>= 7.0) @@ -14,29 +14,29 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (8.0.0) - actionpack (= 8.0.0) - activesupport (= 8.0.0) + actioncable (8.0.2) + actionpack (= 8.0.2) + activesupport (= 8.0.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (8.0.0) - actionpack (= 8.0.0) - activejob (= 8.0.0) - activerecord (= 8.0.0) - activestorage (= 8.0.0) - activesupport (= 8.0.0) + actionmailbox (8.0.2) + actionpack (= 8.0.2) + activejob (= 8.0.2) + activerecord (= 8.0.2) + activestorage (= 8.0.2) + activesupport (= 8.0.2) mail (>= 2.8.0) - actionmailer (8.0.0) - actionpack (= 8.0.0) - actionview (= 8.0.0) - activejob (= 8.0.0) - activesupport (= 8.0.0) + actionmailer (8.0.2) + actionpack (= 8.0.2) + actionview (= 8.0.2) + activejob (= 8.0.2) + activesupport (= 8.0.2) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (8.0.0) - actionview (= 8.0.0) - activesupport (= 8.0.0) + actionpack (8.0.2) + actionview (= 8.0.2) + activesupport (= 8.0.2) nokogiri (>= 1.8.5) rack (>= 2.2.4) rack-session (>= 1.0.1) @@ -44,39 +44,39 @@ GEM rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actiontext (8.0.0) - actionpack (= 8.0.0) - activerecord (= 8.0.0) - activestorage (= 8.0.0) - activesupport (= 8.0.0) + actiontext (8.0.2) + actionpack (= 8.0.2) + activerecord (= 8.0.2) + activestorage (= 8.0.2) + activesupport (= 8.0.2) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (8.0.0) - activesupport (= 8.0.0) + actionview (8.0.2) + activesupport (= 8.0.2) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (8.0.0) - activesupport (= 8.0.0) + activejob (8.0.2) + activesupport (= 8.0.2) globalid (>= 0.3.6) - activemodel (8.0.0) - activesupport (= 8.0.0) + activemodel (8.0.2) + activesupport (= 8.0.2) activemodel-serializers-xml (1.0.3) activemodel (>= 5.0.0.a) activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (8.0.0) - activemodel (= 8.0.0) - activesupport (= 8.0.0) + activerecord (8.0.2) + activemodel (= 8.0.2) + activesupport (= 8.0.2) timeout (>= 0.4.0) - activestorage (8.0.0) - actionpack (= 8.0.0) - activejob (= 8.0.0) - activerecord (= 8.0.0) - activesupport (= 8.0.0) + activestorage (8.0.2) + actionpack (= 8.0.2) + activejob (= 8.0.2) + activerecord (= 8.0.2) + activesupport (= 8.0.2) marcel (~> 1.0) - activesupport (8.0.0) + activesupport (8.0.2) base64 benchmark (>= 0.3) bigdecimal @@ -91,13 +91,13 @@ GEM uri (>= 0.13.1) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - arbre (2.0.2) - activesupport (>= 3.0.0) - ast (2.4.2) - base64 (0.2.0) + arbre (2.2.0) + activesupport (>= 7.0) + ast (2.4.3) + base64 (0.3.0) bcrypt (3.1.20) - benchmark (0.4.0) - bigdecimal (3.1.8) + benchmark (0.4.1) + bigdecimal (3.2.2) builder (3.3.0) cancancan (3.6.1) capybara (3.40.0) @@ -111,13 +111,13 @@ GEM xpath (~> 3.2) childprocess (5.1.0) logger (~> 1.5) - concurrent-ruby (1.3.4) - connection_pool (2.4.1) + concurrent-ruby (1.3.5) + connection_pool (2.5.3) crass (1.0.6) - cssbundling-rails (1.4.1) + cssbundling-rails (1.4.3) railties (>= 6.0.0) - csv (3.3.0) - cucumber (9.2.0) + csv (3.3.5) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -138,18 +138,18 @@ GEM bigdecimal cucumber-gherkin (27.0.0) cucumber-messages (>= 19.1.4, < 23) - cucumber-html-formatter (21.7.0) - cucumber-messages (> 19, < 27) + cucumber-html-formatter (21.9.0) + cucumber-messages (> 19, < 28) cucumber-messages (22.0.0) - cucumber-rails (3.1.0) + cucumber-rails (3.1.1) capybara (>= 3.11, < 4) cucumber (>= 5, < 10) railties (>= 5.2, < 9) - cucumber-tag-expressions (6.1.1) - cuprite (0.15.1) + cucumber-tag-expressions (6.1.2) + cuprite (0.17) capybara (~> 3.0) - ferrum (~> 0.15.0) - database_cleaner-active_record (2.2.0) + ferrum (~> 0.17.0) + database_cleaner-active_record (2.2.1) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) @@ -160,26 +160,28 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - diff-lcs (1.5.1) + diff-lcs (1.6.2) docile (1.4.1) - draper (4.0.2) + draper (4.0.4) actionpack (>= 5.0) activemodel (>= 5.0) activemodel-serializers-xml (>= 1.0) activesupport (>= 5.0) request_store (>= 1.0) ruby2_keywords - drb (2.2.1) - erubi (1.13.0) - ferrum (0.15) + drb (2.2.3) + erb (5.0.1) + erubi (1.13.1) + ferrum (0.17.1) addressable (~> 2.5) + base64 (~> 0.2) concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (~> 0.7) - ffi (1.17.0-aarch64-linux-gnu) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-darwin) - ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-darwin) + ffi (1.17.2-x86_64-linux-gnu) formtastic (5.0.0) actionpack (>= 6.0.0) formtastic_i18n (0.7.0) @@ -188,13 +190,13 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.1) + highline (3.1.2) reline - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso - i18n-tasks (1.0.14) + i18n-tasks (1.0.15) activesupport (>= 4.0.2) ast (>= 2.1.0) erubi @@ -203,23 +205,25 @@ GEM parser (>= 3.2.2.1) rails-i18n rainbow (>= 2.2.2, < 4.0) + ruby-progressbar (~> 1.8, >= 1.8.1) terminal-table (>= 1.5.1) - importmap-rails (2.0.3) + importmap-rails (2.1.0) actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - inherited_resources (2.0.1) - actionpack (>= 6.0) + inherited_resources (2.1.0) + actionpack (>= 7.0) has_scope (>= 0.6) - railties (>= 6.0) + railties (>= 7.0) responders (>= 2) io-console (0.8.0) - irb (1.14.1) + irb (1.15.2) + pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) iso (0.4.0) i18n - json (2.9.0) + json (2.12.2) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -232,12 +236,14 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) - language_server-protocol (3.17.0.3) - launchy (3.0.1) + language_server-protocol (3.17.0.5) + launchy (3.1.1) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.2) - loofah (2.23.1) + logger (~> 1.6) + lint_roller (1.1.0) + logger (1.7.0) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -248,142 +254,155 @@ GEM marcel (1.0.4) matrix (0.4.2) mini_mime (1.1.5) - minitest (5.25.2) + minitest (5.25.5) multi_test (1.1.0) - net-imap (0.5.1) + net-imap (0.5.8) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol nio4r (2.7.4) - nokogiri (1.16.8-aarch64-linux) + nokogiri (1.18.8-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.16.8-arm64-darwin) + nokogiri (1.18.8-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.8-x86_64-darwin) + nokogiri (1.18.8-x86_64-darwin) racc (~> 1.4) - nokogiri (1.16.8-x86_64-linux) + nokogiri (1.18.8-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) - parallel (1.26.3) - parallel_tests (4.7.2) + parallel (1.27.0) + parallel_tests (5.3.0) parallel - parser (3.3.6.0) + parser (3.3.8.0) ast (~> 2.4.1) racc - psych (5.2.1) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + prism (1.4.0) + psych (5.2.6) date stringio - public_suffix (6.0.1) - pundit (2.4.0) + public_suffix (6.0.2) + pundit (2.5.0) activesupport (>= 3.0.0) racc (1.8.1) - rack (3.1.8) - rack-session (2.0.0) + rack (3.1.16) + rack-session (2.1.1) + base64 (>= 0.1.0) rack (>= 3.0.0) - rack-test (2.1.0) + rack-test (2.2.0) rack (>= 1.3) rackup (2.2.1) rack (>= 3) - rails (8.0.0) - actioncable (= 8.0.0) - actionmailbox (= 8.0.0) - actionmailer (= 8.0.0) - actionpack (= 8.0.0) - actiontext (= 8.0.0) - actionview (= 8.0.0) - activejob (= 8.0.0) - activemodel (= 8.0.0) - activerecord (= 8.0.0) - activestorage (= 8.0.0) - activesupport (= 8.0.0) + rails (8.0.2) + actioncable (= 8.0.2) + actionmailbox (= 8.0.2) + actionmailer (= 8.0.2) + actionpack (= 8.0.2) + actiontext (= 8.0.2) + actionview (= 8.0.2) + activejob (= 8.0.2) + activemodel (= 8.0.2) + activerecord (= 8.0.2) + activestorage (= 8.0.2) + activesupport (= 8.0.2) bundler (>= 1.15.0) - railties (= 8.0.0) - rails-dom-testing (2.2.0) + railties (= 8.0.2) + rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.1) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) rails-i18n (8.0.1) i18n (>= 0.7, < 2) railties (>= 8.0.0, < 9) - railties (8.0.0) - actionpack (= 8.0.0) - activesupport (= 8.0.0) + railties (8.0.2) + actionpack (= 8.0.2) + activesupport (= 8.0.2) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) thor (~> 1.0, >= 1.2.2) zeitwerk (~> 2.6) rainbow (3.1.1) - rake (13.2.1) - ransack (4.2.1) + rake (13.3.0) + ransack (4.3.0) activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - rdoc (6.8.1) + rdoc (6.14.0) + erb psych (>= 4.0.0) - regexp_parser (2.9.3) - reline (0.5.12) + regexp_parser (2.10.0) + reline (0.6.1) io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.9) - rspec-core (3.13.2) + rexml (3.4.1) + rspec-core (3.13.4) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.2) + rspec-mocks (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.1.0) - actionpack (>= 7.0) - activesupport (>= 7.0) - railties (>= 7.0) + rspec-rails (8.0.0) + actionpack (>= 7.2) + activesupport (>= 7.2) + railties (>= 7.2) rspec-core (~> 3.13) rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.2) - rubocop (1.69.1) + rspec-support (3.13.4) + rubocop (1.76.0) json (~> 2.3) - language_server-protocol (>= 3.17.0) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.36.2, < 2.0) + rubocop-ast (>= 1.45.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.36.2) - parser (>= 3.3.1.0) - rubocop-capybara (2.21.0) - rubocop (~> 1.41) - rubocop-packaging (0.5.2) - rubocop (>= 1.33, < 2.0) - rubocop-performance (1.23.0) - rubocop (>= 1.48.1, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rails (2.27.0) + rubocop-ast (1.45.0) + parser (>= 3.3.7.2) + prism (~> 1.4) + rubocop-capybara (2.22.1) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-packaging (0.6.0) + lint_roller (~> 1.1.0) + rubocop (>= 1.72.1, < 2.0) + rubocop-performance (1.25.0) + lint_roller (~> 1.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) + rubocop-rails (2.32.0) activesupport (>= 4.2.0) + lint_roller (~> 1.1) rack (>= 1.1) - rubocop (>= 1.52.0, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.2.0) - rubocop (~> 1.61) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.44.0, < 2.0) + rubocop-rspec (3.6.0) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) - securerandom (0.4.0) + securerandom (0.4.1) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -393,38 +412,42 @@ GEM simplecov (~> 0.19) simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) - sprockets (4.2.1) + sprockets (4.2.2) concurrent-ruby (~> 1.0) + logger rack (>= 2.2.4, < 4) sprockets-rails (3.5.2) actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - sqlite3 (2.3.1-aarch64-linux-gnu) - sqlite3 (2.3.1-arm64-darwin) - sqlite3 (2.3.1-x86_64-darwin) - sqlite3 (2.3.1-x86_64-linux-gnu) - stringio (3.1.2) + sqlite3 (2.6.0-aarch64-linux-gnu) + sqlite3 (2.6.0-arm64-darwin) + sqlite3 (2.6.0-x86_64-darwin) + sqlite3 (2.6.0-x86_64-linux-gnu) + stringio (3.1.7) sys-uname (1.3.1) ffi (~> 1.1) - terminal-table (3.0.2) - unicode-display_width (>= 1.1.1, < 3) + terminal-table (4.0.0) + unicode-display_width (>= 1.1.1, < 4) thor (1.3.2) - timeout (0.4.2) + timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.6.0) - uri (1.0.2) - useragent (0.16.10) + unicode-display_width (3.1.4) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) + uri (1.0.3) + useragent (0.16.11) warden (1.2.9) rack (>= 2.0.9) webrick (1.9.1) - websocket-driver (0.7.6) + websocket-driver (0.8.0) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.7.1) + zeitwerk (2.7.3) PLATFORMS aarch64-linux @@ -468,4 +491,4 @@ DEPENDENCIES webrick BUNDLED WITH - 2.5.22 + 2.6.9 diff --git a/UPGRADING.md b/UPGRADING.md index bb7600c74cb..ca428f87e58 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -188,7 +188,7 @@ Note that `@post` can also be used here but make sure to call `authorize!` on it ### Localization Updates -This release includes several locale changes. Please [reivew the en.yml locale](https://github.com/activeadmin/activeadmin/blob/master/config/locales/en.yml) for the latest translations. +This release includes several locale changes. Please [review the en.yml locale](https://github.com/activeadmin/activeadmin/blob/master/config/locales/en.yml) for the latest translations. - The `dashboard_welcome`, `dropdown_actions`, `main_content` and `unsupported_browser` keys have been removed. - The `active_admin.pagination` keys have been rewritten to be less verbose and include new entries: next and previous. @@ -225,3 +225,4 @@ This release includes several locale changes. Please [reivew the en.yml locale]( - The `comments.delete_confirmation` text has been fixed to use singular form. - Inconsistent use of login/sign-in related terms so text now uses "Sign in", Sign out", and "Sign up" throughout. - The `toggle_dark_mode`, `toggle_main_navigation_menu`, `toggle_section`, and `toggle_user_menu` keys have been added. +- The `batch_actions.succesfully_destroyed` key has been renamed to `batch_actions.successfully_destroyed` to fix a typo. diff --git a/_typos.toml b/_typos.toml new file mode 100644 index 00000000000..a89d7205417 --- /dev/null +++ b/_typos.toml @@ -0,0 +1,20 @@ +# https://github.com/crate-ci/typos#false-positives +[default] + +[default.extend-identifiers] + +[default.extend-words] +rememberable = "rememberable" + +[type.md] +extend-ignore-identifiers-re = [ + "succesfully_destroyed" +] + +[files] +extend-exclude = [ + "config/locales/*", + "!config/locales/en*.yml", + "features/step_definitions/batch_action_steps.rb", + "vendor/*" +] diff --git a/activeadmin.gemspec b/activeadmin.gemspec index cb30db3739c..69438afbceb 100644 --- a/activeadmin.gemspec +++ b/activeadmin.gemspec @@ -33,8 +33,8 @@ Gem::Specification.new do |s| s.add_dependency "arbre", "~> 2.0" s.add_dependency "csv" - s.add_dependency "formtastic", ">= 3.1" - s.add_dependency "formtastic_i18n", ">= 0.4" + s.add_dependency "formtastic", ">= 5.0" + s.add_dependency "formtastic_i18n", ">= 0.7" s.add_dependency "inherited_resources", "~> 2.0" s.add_dependency "kaminari", ">= 1.2.1" s.add_dependency "railties", ">= 7.0" diff --git a/app/controllers/active_admin/resource_controller/data_access.rb b/app/controllers/active_admin/resource_controller/data_access.rb index f08fdea25d1..18f08b53cff 100644 --- a/app/controllers/active_admin/resource_controller/data_access.rb +++ b/app/controllers/active_admin/resource_controller/data_access.rb @@ -236,7 +236,7 @@ def apply_scoping(chain) def apply_includes(chain) if active_admin_config.includes.any? - chain.includes *active_admin_config.includes + chain.includes(*active_admin_config.includes) else chain end diff --git a/app/controllers/active_admin/resource_controller/streaming.rb b/app/controllers/active_admin/resource_controller/streaming.rb index 54b2aef02ad..efaf58c0812 100644 --- a/app/controllers/active_admin/resource_controller/streaming.rb +++ b/app/controllers/active_admin/resource_controller/streaming.rb @@ -26,7 +26,7 @@ def stream_resource(&block) if ActiveAdmin.application.disable_streaming_in.include? Rails.env self.response_body = block[String.new] # rubocop:disable Performance/UnfreezeString to preserve encoding else - self.response_body = Enumerator.new &block + self.response_body = Enumerator.new(&block) end end @@ -37,7 +37,7 @@ def csv_filename def stream_csv headers["Content-Type"] = "text/csv; charset=utf-8" # In Rails 5 it's set to HTML?? headers["Content-Disposition"] = %{attachment; filename="#{csv_filename}"} - stream_resource &active_admin_config.csv_builder.method(:build).to_proc.curry[self] + stream_resource(&active_admin_config.csv_builder.method(:build).to_proc.curry[self]) end end diff --git a/app/helpers/active_admin/form_helper.rb b/app/helpers/active_admin/form_helper.rb index 0750293cc43..e9a0b391cc0 100644 --- a/app/helpers/active_admin/form_helper.rb +++ b/app/helpers/active_admin/form_helper.rb @@ -29,7 +29,7 @@ def hidden_field_tags_for(params, options = {}) # def fields_for_params(params, options = {}) namespace = options[:namespace] - except = Array.wrap(options[:except]).map &:to_s + except = Array.wrap(options[:except]).map(&:to_s) params.flat_map do |k, v| next if namespace.nil? && RESERVED_PARAMS.include?(k.to_s) diff --git a/app/views/active_admin/kaminari/_gap.html.erb b/app/views/active_admin/kaminari/_gap.html.erb index fd1addd5135..a310332dc25 100644 --- a/app/views/active_admin/kaminari/_gap.html.erb +++ b/app/views/active_admin/kaminari/_gap.html.erb @@ -6,5 +6,5 @@ remote: data-remote -%> - <%= t('views.pagination.truncate').html_safe %> + <%= t('active_admin.pagination.truncate').html_safe %> diff --git a/app/views/active_admin/page/index.html.arb b/app/views/active_admin/page/index.html.arb index c5282854515..19e0b9e838a 100644 --- a/app/views/active_admin/page/index.html.arb +++ b/app/views/active_admin/page/index.html.arb @@ -1,6 +1,5 @@ -# frozen_string_literal: true div class: "main-content-container" do if page_presenter.block - instance_exec &page_presenter.block + instance_exec(&page_presenter.block) end end diff --git a/app/views/active_admin/resource/_form.html.arb b/app/views/active_admin/resource/_form.html.arb index f0f15db7326..97f7c195f3e 100644 --- a/app/views/active_admin/resource/_form.html.arb +++ b/app/views/active_admin/resource/_form.html.arb @@ -1,4 +1,3 @@ -# frozen_string_literal: true div class: "main-content-container" do if page_presenter.block options = { diff --git a/app/views/active_admin/resource/_form_default.html.arb b/app/views/active_admin/resource/_form_default.html.arb index 5954d430f58..f377cf1a38d 100644 --- a/app/views/active_admin/resource/_form_default.html.arb +++ b/app/views/active_admin/resource/_form_default.html.arb @@ -1,4 +1,3 @@ -# frozen_string_literal: true options = { url: resource.persisted? ? resource_path(resource) : collection_path, as: active_admin_config.param_key diff --git a/app/views/active_admin/resource/_index_as_table_default.html.arb b/app/views/active_admin/resource/_index_as_table_default.html.arb index abf461942c1..c13cb78a0aa 100644 --- a/app/views/active_admin/resource/_index_as_table_default.html.arb +++ b/app/views/active_admin/resource/_index_as_table_default.html.arb @@ -1,4 +1,3 @@ -# frozen_string_literal: true insert_tag(ActiveAdmin::Views::IndexAsTable::IndexTableFor, collection, table_options) do |t| selectable_column id_column if resource_class.primary_key diff --git a/app/views/active_admin/resource/_show_default.html.arb b/app/views/active_admin/resource/_show_default.html.arb index 42b0c2b1e73..81df5c22ea6 100644 --- a/app/views/active_admin/resource/_show_default.html.arb +++ b/app/views/active_admin/resource/_show_default.html.arb @@ -1,3 +1,2 @@ -# frozen_string_literal: true attributes_table_for(resource, *active_admin_config.resource_columns) active_admin_comments_for(resource) if active_admin_config.comments? diff --git a/app/views/active_admin/resource/edit.html.arb b/app/views/active_admin/resource/edit.html.arb index 8a861a64ba3..8c79d16ebce 100644 --- a/app/views/active_admin/resource/edit.html.arb +++ b/app/views/active_admin/resource/edit.html.arb @@ -1,2 +1 @@ -# frozen_string_literal: true render "form" diff --git a/app/views/active_admin/resource/index.html.arb b/app/views/active_admin/resource/index.html.arb index 7333997cc30..27b7bf89ac6 100644 --- a/app/views/active_admin/resource/index.html.arb +++ b/app/views/active_admin/resource/index.html.arb @@ -1,4 +1,3 @@ -# frozen_string_literal: true def wrap_with_batch_action_form(&block) if active_admin_config.batch_actions.any? insert_tag(ActiveAdmin::BatchActions::BatchActionForm, &block) diff --git a/app/views/active_admin/resource/new.html.arb b/app/views/active_admin/resource/new.html.arb index 8a861a64ba3..8c79d16ebce 100644 --- a/app/views/active_admin/resource/new.html.arb +++ b/app/views/active_admin/resource/new.html.arb @@ -1,2 +1 @@ -# frozen_string_literal: true render "form" diff --git a/app/views/active_admin/resource/show.html.arb b/app/views/active_admin/resource/show.html.arb index 0d4a48865ca..7e57b9268de 100644 --- a/app/views/active_admin/resource/show.html.arb +++ b/app/views/active_admin/resource/show.html.arb @@ -1,4 +1,3 @@ -# frozen_string_literal: true def attributes_table(*args, &block) attributes_table_for resource, *args, &block end diff --git a/app/views/active_admin/shared/_sidebar_section.html.arb b/app/views/active_admin/shared/_sidebar_section.html.arb index d52a65baa4a..ba44b5786f8 100644 --- a/app/views/active_admin/shared/_sidebar_section.html.arb +++ b/app/views/active_admin/shared/_sidebar_section.html.arb @@ -1,4 +1,3 @@ -# frozen_string_literal: true if section.block result = instance_exec(§ion.block) text_node result unless result.is_a?(Arbre::Element) diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index 7ec39d69e1c..b1079837e44 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -39,4 +39,3 @@ ignore_inconsistent_interpolations: ignore_missing: - errors.messages.not_saved # Devise - - views.pagination.* # Kaminari diff --git a/config/importmap.rb b/config/importmap.rb index d6555b8729a..b381620f92b 100644 --- a/config/importmap.rb +++ b/config/importmap.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -pin "flowbite", preload: true # downloaded from https://cdnjs.cloudflare.com/ajax/libs/flowbite/2.2.1/flowbite.min.js -pin "@rails/ujs", to: "rails_ujs_esm.js", preload: true # downloaded from https://cdn.jsdelivr.net/npm/@rails/ujs@7.1.400/+esm +pin "flowbite", preload: true # downloaded from https://cdn.jsdelivr.net/npm/flowbite@3.1.2/dist/flowbite.min.js +pin "@rails/ujs", to: "rails_ujs_esm.js", preload: true # downloaded from https://cdn.jsdelivr.net/npm/@rails/ujs@7.1.501/+esm pin "active_admin", to: "active_admin.js", preload: true pin_all_from File.expand_path("../app/javascript/active_admin", __dir__), under: "active_admin", preload: true diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 4ffac8713ea..fa25d1e5164 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -1,146 +1,148 @@ +--- ar: - activerecord: - models: - comment: - one: "تعليق" - other: "تعليقات" - active_admin/comment: - one: "تعليق" - other: "تعليقات" - attributes: - active_admin/comment: - author_type: "نوع الكاتب" - body: "المحتوى" - created_at: "وقت الإنشاء" - namespace: "النطاق" - resource_type: "نوع المصدر" - updated_at: "وقت التعديل" active_admin: - dashboard: "لوحة التحكم" - view: "عرض" - edit: "تعديل" - delete: "حذف" - delete_confirmation: "هل تريد تأكيد الحذف؟" - create_another: "انشاء %{model} آخر" - new_model: "%{model} جديد" - edit_model: "تعديل %{model}" - delete_model: "حذف %{model}" - details: "تفاصيل %{model}" - cancel: "إلغاء" - empty: "فارغ" - previous: "السابق" - next: "التالي" - download: "تحميل" - has_many_new: "إضافة %{model} جديد" - has_many_delete: "حذف" - has_many_remove: "إزالة" - move: "نقل" - filters: - buttons: - filter: "فرز" - clear: "إلغاء الفرز" - predicates: - from: "من" - to: "إلى" - scopes: - all: "الكل" - search_status: - title: "الفرز الحالي" - title_with_scope: "الفرز الحالي لـ %{name}" - no_current_filters: "بدون فرز" - status_tag: - "yes": "نعم" - "no": "لا" - "unset": "غير محدد" - toggle_dark_mode: "تبديل الوضع الليلي" - toggle_main_navigation_menu: "عرض القائمة الرئيسية" - toggle_section: "عرض القسم" - toggle_user_menu: "عرض قائمة المستخدم" - logout: "تسجيل الخروج" - powered_by: "بواسطة %{active_admin} %{version}" - sidebars: - filters: "المُرشحات" - search_status: "حالة البحث" - pagination: - empty: "لا يوجد %{model}" - one: "عرض 1 من 1" - one_page: "عرض كل %{n}" - multiple: "عرض %{from}-%{to} من %{total}" - multiple_without_total: "عرض %{from}-%{to}" - per_page: "لكل صفحة " - previous: "السابق" - next: "التالي" - entry: - one: "مدخل" - other: "مدخلات" - any: "أي" - blank_slate: - content: "لا يوجد %{resource_name}" - link: "إنشاء" + access_denied: + message: غير مصرح لك تنفيذ هذا الإجراء. + any: أي batch_actions: - button_label: "إجراء جماعي" - default_confirmation: "هل أنت متأكّد؟" - delete_confirmation: "هل أنت متأكّد من حذف هذه %{plural_model}؟" - succesfully_destroyed: - one: "حُذف بنجاح %{model}" - other: "حُذف بنجاح %{count} %{plural_model}" - selection_toggle_explanation: "(تبديل التحديد)" - action_label: "اُختير %{title}" + action_label: اُختير %{title} + button_label: إجراء جماعي + default_confirmation: هل أنت متأكّد؟ + delete_confirmation: هل أنت متأكّد من حذف هذه %{plural_model}؟ labels: - destroy: "حذف" + destroy: حذف + selection_toggle_explanation: "(تبديل التحديد)" + successfully_destroyed: + one: حُذف بنجاح %{model} + other: حُذف بنجاح %{count} %{plural_model} + blank_slate: + content: لا يوجد %{resource_name} + link: إنشاء + cancel: إلغاء comments: - created_at: "أُنشئ" - resource_type: "نوع المصدر" - author_type: "نوع الؤلّف" - body: "المحتوى" - author: "مؤلّف" - add: "إضافة تعليق" - delete: "حذف تعليق" - delete_confirmation: "هل أنت متأكّد من حذف التعليق؟" - resource: "مدخل" - no_comments_yet: "لا يوجد تعليقات." - author_missing: "المؤلف مجهول" - title_content: "التعليقات (%{count})" + add: إضافة تعليق + author: مؤلّف + author_missing: المؤلف مجهول + author_type: نوع الؤلّف + body: المحتوى + created_at: أُنشئ + delete: حذف تعليق + delete_confirmation: هل أنت متأكّد من حذف التعليق؟ errors: - empty_text: "لم يُحفظ التعليق، النص فارغ." + empty_text: لم يُحفظ التعليق، النص فارغ. + no_comments_yet: لا يوجد تعليقات. + resource: مدخل + resource_type: نوع المصدر + title_content: التعليقات (%{count}) + create_another: انشاء %{model} آخر + dashboard: لوحة التحكم + delete: حذف + delete_confirmation: هل تريد تأكيد الحذف؟ + delete_model: حذف %{model} + details: تفاصيل %{model} devise: - username: - title: "اسم المستخدم" + change_password: + submit: تغير كلمة المرور + title: تغير كلمة المرور email: - title: "البريد الإلكترونيّ" - subdomain: - title: "النطاق الفرعي" + title: البريد الإلكترونيّ + links: + forgot_your_password: هل نسيت كلمة المرور؟ + resend_confirmation_instructions: إعادة إرسال تعليمات تأكيد البريد الإلكتروني + resend_unlock_instructions: إعادة إرسال تعليمات تنشيط الحساب + sign_in: تسجيل الدخول + sign_in_with_omniauth_provider: تسجيل الدخول بـ %{provider} + sign_up: التسجيل + login: + remember_me: تذكرني + submit: تسجيل الدخول + title: تسجيل الدخول password: - title: "كلمة المرور" + title: كلمة المرور password_confirmation: - title: "تأكيد كلمة المرور" - sign_up: - title: "التسجيل" - submit: "تسجيل" - login: - title: "تسجيل الدخول" - remember_me: "تذكرني" - submit: "تسجيل الدخول" + title: تأكيد كلمة المرور + resend_confirmation_instructions: + submit: إعادة ارسال تعليمات تأكيد البريد الإلكتروني + title: إعادة ارسال تعليمات تأكيد البريد الإلكتروني reset_password: - title: "هل نسيت كلمة المرور؟" - submit: "استرجاع كلمة المرور" - change_password: - title: "تغير كلمة المرور" - submit: "تغير كلمة المرور" + submit: استرجاع كلمة المرور + title: هل نسيت كلمة المرور؟ + sign_up: + submit: تسجيل + title: التسجيل + subdomain: + title: النطاق الفرعي unlock: - title: "إعادة إرسال تعليمات تنشيط الحساب" - submit: "إعادة إرسال تعليمات تنشيط الحساب" - resend_confirmation_instructions: - title: "إعادة ارسال تعليمات تأكيد البريد الإلكتروني" - submit: "إعادة ارسال تعليمات تأكيد البريد الإلكتروني" - links: - sign_up: "التسجيل" - sign_in: "تسجيل الدخول" - forgot_your_password: "هل نسيت كلمة المرور؟" - sign_in_with_omniauth_provider: "تسجيل الدخول بـ %{provider}" - resend_unlock_instructions: "إعادة إرسال تعليمات تنشيط الحساب" - resend_confirmation_instructions: "إعادة إرسال تعليمات تأكيد البريد الإلكتروني" - access_denied: - message: "غير مصرح لك تنفيذ هذا الإجراء." + submit: إعادة إرسال تعليمات تنشيط الحساب + title: إعادة إرسال تعليمات تنشيط الحساب + username: + title: اسم المستخدم + download: تحميل + edit: تعديل + edit_model: تعديل %{model} + empty: فارغ + filters: + buttons: + clear: إلغاء الفرز + filter: فرز + predicates: + from: من + to: إلى + has_many_delete: حذف + has_many_new: إضافة %{model} جديد + has_many_remove: إزالة index_list: - table: "جدول" + table: جدول + logout: تسجيل الخروج + move: نقل + new_model: "%{model} جديد" + next: التالي + pagination: + empty: لا يوجد %{model} + entry: + one: مدخل + other: مدخلات + multiple: عرض %{from}-%{to} من %{total} + multiple_without_total: عرض %{from}-%{to} + next: التالي + one: عرض 1 من 1 + one_page: عرض كل %{n} + per_page: 'لكل صفحة ' + previous: السابق + truncate: "…" + powered_by: بواسطة %{active_admin} %{version} + previous: السابق + scopes: + all: الكل + search_status: + no_current_filters: بدون فرز + title: الفرز الحالي + title_with_scope: الفرز الحالي لـ %{name} + sidebars: + filters: المُرشحات + search_status: حالة البحث + status_tag: + 'no': لا + unset: غير محدد + 'yes': نعم + toggle_dark_mode: تبديل الوضع الليلي + toggle_main_navigation_menu: عرض القائمة الرئيسية + toggle_section: عرض القسم + toggle_user_menu: عرض قائمة المستخدم + view: عرض + activerecord: + attributes: + active_admin/comment: + author_type: نوع الكاتب + body: المحتوى + created_at: وقت الإنشاء + namespace: النطاق + resource_type: نوع المصدر + updated_at: وقت التعديل + models: + active_admin/comment: + one: تعليق + other: تعليقات + comment: + one: تعليق + other: تعليقات diff --git a/config/locales/az.yml b/config/locales/az.yml index df3fe98aa74..a85b3400ddf 100644 --- a/config/locales/az.yml +++ b/config/locales/az.yml @@ -1,115 +1,116 @@ +--- az: active_admin: - dashboard: "İdarəetmə paneli" - view: "Aç" - edit: "Dəyiş" - delete: "Sil" - delete_confirmation: "Siz bunu silmək istədiyinizdən əminsiniz?" - new_model: "%{model} yarat" - edit_model: "%{model} dəyiş" - delete_model: "%{model} sil" - details: "%{model} haqqında" - cancel: "İmtina" - empty: "Boş" - previous: "Geri" - next: "İrəli" - download: "Yüklənmə:" - has_many_new: "%{model} əlavə et" - has_many_delete: "Sil" - has_many_remove: "Yığışdır" - filters: - buttons: - filter: "Filtrlə" - clear: "Təmizlə" - search_status: - no_current_filters: "Heç biri" - status_tag: - "yes": "Bəli" - "no": "Xeyr" - logout: "Çıxış" - powered_by: "Работает на %{active_admin} %{version}" - sidebars: - filters: "Filterlə" - search_status: "Axtarışın statusu" - pagination: - empty: "%{model} tapılmadı" - one: "Nəticə: 1 %{model}" - one_page: "Nəticə: %{n} %{model}" - multiple: "Nəticə: %{model} %{from} - %{to} %{total}" - multiple_without_total: "Nəticə: %{model} %{from} - %{to}" - entry: - one: "yazı" - few: "yazı" - many: "yazı" - other: "yazı" - any: "İstənilən" - blank_slate: - content: "%{resource_name} hələ yoxdur." - link: "Yarat" + access_denied: + message: Bunu etmək üçün daxil olmalısınız. + any: İstənilən batch_actions: - button_label: "Qrup əməliyyatları" - default_confirmation: "Siz bunu etməyinizə əminsiniz?" - delete_confirmation: "Siz %{plural_model} silməyə əminsiniz?" - succesfully_destroyed: - one: "Uğurla silindi: 1 %{model}" - few: "Uğurla silindi: %{count} %{plural_model}" - many: "Uğurla silindi: %{count} %{plural_model}" - other: "Uğurla silindi: %{count} %{plural_model}" - selection_toggle_explanation: "(Hamısını seç / Seçilmişləri sıfırla)" action_label: "%{title} seçilmiş" + button_label: Qrup əməliyyatları + default_confirmation: Siz bunu etməyinizə əminsiniz? + delete_confirmation: Siz %{plural_model} silməyə əminsiniz? labels: - destroy: "Sil" + destroy: Sil + selection_toggle_explanation: "(Hamısını seç / Seçilmişləri sıfırla)" + successfully_destroyed: + few: 'Uğurla silindi: %{count} %{plural_model}' + many: 'Uğurla silindi: %{count} %{plural_model}' + one: 'Uğurla silindi: 1 %{model}' + other: 'Uğurla silindi: %{count} %{plural_model}' + blank_slate: + content: "%{resource_name} hələ yoxdur." + link: Yarat + cancel: İmtina comments: - created_at: "Yaranma tarixi" - resource_type: "Resursun tipi" - author_type: "Müəllifin tipi" - body: "Mətn" - author: "Müəllif" - add: "Şərh əlavə et" - delete: "Şərhi sil" - delete_confirmation: "Siz bu şərhi silmək istədiyinizdən əminsiniz?" - resource: "Resurs" - no_comments_yet: "Hələ şərhlər yoxdur." - author_missing: "Naməlum" - title_content: "Şərhlər (%{count})" + add: Şərh əlavə et + author: Müəllif + author_missing: Naməlum + author_type: Müəllifin tipi + body: Mətn + created_at: Yaranma tarixi + delete: Şərhi sil + delete_confirmation: Siz bu şərhi silmək istədiyinizdən əminsiniz? errors: - empty_text: "Şərh yadda saxlanılmadı, mətn boş ola bilməz." + empty_text: Şərh yadda saxlanılmadı, mətn boş ola bilməz. + no_comments_yet: Hələ şərhlər yoxdur. + resource: Resurs + resource_type: Resursun tipi + title_content: Şərhlər (%{count}) + dashboard: İdarəetmə paneli + delete: Sil + delete_confirmation: Siz bunu silmək istədiyinizdən əminsiniz? + delete_model: "%{model} sil" + details: "%{model} haqqında" devise: - username: - title: "İstifadəçi adı" + change_password: + submit: Şifrəni dəyiş + title: Şifrənin dəyişdirilməsi email: - title: "E-poçt" - subdomain: - title: "Subdomen" - password: - title: "Şifrə" - sign_up: - title: "Qeydiyyat" - submit: "Qeydiyyatdan keç" + title: E-poçt + links: + forgot_your_password: Şifrəni unutmusunuz? + resend_confirmation_instructions: Aktivləşdirmə ismarışını yenidən göndərilməsi + resend_unlock_instructions: Blokdan çıxarma üzrə təlimatı yenidən göndərilməsi + sign_in: Giriş + sign_in_with_omniauth_provider: "%{provider} vasitəsilə daxil ol" + sign_up: Qeydiyyat login: - title: "Giriş" - remember_me: "Məni yadda saxla" - submit: "Daxil ol" + remember_me: Məni yadda saxla + submit: Daxil ol + title: Giriş + password: + title: Şifrə + resend_confirmation_instructions: + submit: Aktivləşdirmə ismarışını yenidən göndərmək + title: Aktivləşdirmə ismarışını yenidən göndərmək reset_password: - title: "Şifrəni unutmusunuz?" - submit: "Şifrəni sıfırla" - change_password: - title: "Şifrənin dəyişdirilməsi" - submit: "Şifrəni dəyiş" + submit: Şifrəni sıfırla + title: Şifrəni unutmusunuz? + sign_up: + submit: Qeydiyyatdan keç + title: Qeydiyyat + subdomain: + title: Subdomen unlock: - title: "Blokdan çıxarma üzrə təlimatı yenidən göndərmək" - submit: "Blokdan çıxarma üzrə təlimatı yenidən göndərmək" - resend_confirmation_instructions: - title: "Aktivləşdirmə ismarışını yenidən göndərmək" - submit: "Aktivləşdirmə ismarışını yenidən göndərmək" - links: - sign_up: "Qeydiyyat" - sign_in: "Giriş" - forgot_your_password: "Şifrəni unutmusunuz?" - sign_in_with_omniauth_provider: "%{provider} vasitəsilə daxil ol" - resend_unlock_instructions: "Blokdan çıxarma üzrə təlimatı yenidən göndərilməsi" - resend_confirmation_instructions: "Aktivləşdirmə ismarışını yenidən göndərilməsi" - access_denied: - message: "Bunu etmək üçün daxil olmalısınız." + submit: Blokdan çıxarma üzrə təlimatı yenidən göndərmək + title: Blokdan çıxarma üzrə təlimatı yenidən göndərmək + username: + title: İstifadəçi adı + download: 'Yüklənmə:' + edit: Dəyiş + edit_model: "%{model} dəyiş" + empty: Boş + filters: + buttons: + clear: Təmizlə + filter: Filtrlə + has_many_delete: Sil + has_many_new: "%{model} əlavə et" + has_many_remove: Yığışdır index_list: - table: "Cədvəl" + table: Cədvəl + logout: Çıxış + new_model: "%{model} yarat" + next: İrəli + pagination: + empty: "%{model} tapılmadı" + entry: + few: yazı + many: yazı + one: yazı + other: yazı + multiple: 'Nəticə: %{model} %{from} - %{to} %{total}' + multiple_without_total: 'Nəticə: %{model} %{from} - %{to}' + one: 'Nəticə: 1 %{model}' + one_page: 'Nəticə: %{n} %{model}' + powered_by: Работает на %{active_admin} %{version} + previous: Geri + search_status: + no_current_filters: Heç biri + sidebars: + filters: Filterlə + search_status: Axtarışın statusu + status_tag: + 'no': Xeyr + 'yes': Bəli + view: Aç diff --git a/config/locales/bg.yml b/config/locales/bg.yml index f277967fbea..36dd5679e70 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -1,103 +1,104 @@ +--- bg: active_admin: - dashboard: Табло - view: "Преглед" - edit: "Редакция" - delete: "Изтриване" - delete_confirmation: "Сигурни ли сте, че искате да изтриете това?" - new_model: "Създаване на %{model}" - edit_model: "Редакция на %{model}" - delete_model: "Изтриване на %{model}" - details: "%{model} детайли" - cancel: "Отказ" - empty: "Празно" - previous: "Предишно" - next: "Следващо" - download: "Изтегляне:" - has_many_new: "Добавяне на %{model}" - has_many_delete: "Изтриване" - has_many_remove: "Премахване" - filters: - buttons: - filter: "Филтриране" - clear: "Изчистване" - status_tag: - "yes": "Да" - "no": "не" - "unset": "не" - logout: "Изход" - powered_by: "Задвижва се от %{active_admin} %{version}" - sidebars: - filters: "Филтри" - pagination: - empty: "Не са намерени %{model}" - one: "Показване на 1 %{model}" - one_page: "Показване на всички %{n} %{model}" - multiple: "Показване %{model} %{from} - %{to} от общо %{total}" - multiple_without_total: "Показване %{model} %{from} - %{to}" - entry: - one: "запис" - other: "записи" - any: "Без значение" - blank_slate: - content: "Все още няма добавени %{resource_name}." - link: "Създаване" + access_denied: + message: Нямате права да извършите това действие. + any: Без значение batch_actions: - button_label: "Масови действия" - default_confirmation: "Наистина ли искате да направите това?" - delete_confirmation: "Сигурни ли сте, че искате да изтриете тези %{plural_model}?" - succesfully_destroyed: - one: "Успешно изтриване на 1 %{model}" - other: "Успешно изтриване на %{count} %{plural_model}" - selection_toggle_explanation: "(Инвертиране на маркирането)" action_label: "%{title} избран" + button_label: Масови действия + default_confirmation: Наистина ли искате да направите това? + delete_confirmation: Сигурни ли сте, че искате да изтриете тези %{plural_model}? labels: - destroy: "Изтриване" + destroy: Изтриване + selection_toggle_explanation: "(Инвертиране на маркирането)" + successfully_destroyed: + one: Успешно изтриване на 1 %{model} + other: Успешно изтриване на %{count} %{plural_model} + blank_slate: + content: Все още няма добавени %{resource_name}. + link: Създаване + cancel: Отказ comments: - resource_type: "Тип ресурс" - author_type: "Тип автор" - body: "Текст" - author: "Автор" - add: "Добавяне на коментар" - resource: "Ресурс" - no_comments_yet: "Все още няма коментари." - author_missing: "Анонимен" - title_content: "Коментари (%{count})" + add: Добавяне на коментар + author: Автор + author_missing: Анонимен + author_type: Тип автор + body: Текст errors: - empty_text: "Коментарът с празен текст не беше запазен." + empty_text: Коментарът с празен текст не беше запазен. + no_comments_yet: Все още няма коментари. + resource: Ресурс + resource_type: Тип ресурс + title_content: Коментари (%{count}) + dashboard: Табло + delete: Изтриване + delete_confirmation: Сигурни ли сте, че искате да изтриете това? + delete_model: Изтриване на %{model} + details: "%{model} детайли" devise: - username: - title: "Потребителско име" + change_password: + submit: Промяна на паролата + title: Промяна на паролата email: - title: "Поща" - subdomain: - title: "Поддомейн" - password: - title: "Парола" - sign_up: - title: "Регистрация" - submit: "Регистрация" + title: Поща + links: + forgot_your_password: Забравена парола? + sign_in: Вход + sign_in_with_omniauth_provider: Влез с %{provider} login: - title: "Вход" - remember_me: "Запомни ме" - submit: "Вход" + remember_me: Запомни ме + submit: Вход + title: Вход + password: + title: Парола + resend_confirmation_instructions: + submit: Изпрати отново инструкциите за потвърждаване + title: Изпрати отново инструкциите за потвърждаване reset_password: - title: "Забравена парола?" - submit: "Изпращане на нова парола" - change_password: - title: "Промяна на паролата" - submit: "Промяна на паролата" + submit: Изпращане на нова парола + title: Забравена парола? + sign_up: + submit: Регистрация + title: Регистрация + subdomain: + title: Поддомейн unlock: - title: "Изпрати отново инструкциите за отключване" - submit: "Изпрати отново инструкциите за отключване" - resend_confirmation_instructions: - title: "Изпрати отново инструкциите за потвърждаване" - submit: "Изпрати отново инструкциите за потвърждаване" - links: - sign_in: "Вход" - forgot_your_password: "Забравена парола?" - sign_in_with_omniauth_provider: "Влез с %{provider}" - access_denied: - message: "Нямате права да извършите това действие." + submit: Изпрати отново инструкциите за отключване + title: Изпрати отново инструкциите за отключване + username: + title: Потребителско име + download: 'Изтегляне:' + edit: Редакция + edit_model: Редакция на %{model} + empty: Празно + filters: + buttons: + clear: Изчистване + filter: Филтриране + has_many_delete: Изтриване + has_many_new: Добавяне на %{model} + has_many_remove: Премахване index_list: - table: "Таблица" + table: Таблица + logout: Изход + new_model: Създаване на %{model} + next: Следващо + pagination: + empty: Не са намерени %{model} + entry: + one: запис + other: записи + multiple: Показване %{model} %{from} - %{to} от общо %{total} + multiple_without_total: Показване %{model} %{from} - %{to} + one: Показване на 1 %{model} + one_page: Показване на всички %{n} %{model} + powered_by: Задвижва се от %{active_admin} %{version} + previous: Предишно + sidebars: + filters: Филтри + status_tag: + 'no': не + unset: не + 'yes': Да + view: Преглед diff --git a/config/locales/bs.yml b/config/locales/bs.yml index fbfdff2266d..2204cf36b16 100644 --- a/config/locales/bs.yml +++ b/config/locales/bs.yml @@ -1,107 +1,108 @@ +--- bs: active_admin: - dashboard: "Upravljačka ploča" - view: "Pregledaj" - edit: "Uredi" - delete: "Obriši" - delete_confirmation: "Jeste li sigurni da želite ovo obrisati?" - new_model: "Novi %{model}" - edit_model: "Uredi %{model}" - delete_model: "Obriši %{model}" - details: "%{model} detalji" - cancel: "Odustani" - empty: "Prazno" - previous: "Prethodni" - next: "Sljedeći" - download: "Spremi na računalo:" - has_many_new: "Dodaj novi %{model}" - has_many_delete: "Obriši" - has_many_remove: "Ukloniti" - filters: - buttons: - filter: "Filtriraj" - clear: "Ukloni filtere" - status_tag: - "yes": "Da" - "no": "Nema" - "unset": "Nema" - logout: "Odjavi se" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtriranje" - pagination: - empty: "Nije pronađen niti jedan %{model}." - one: "Prikazan 1 %{model}" - one_page: "Prikazano svih %{n} %{model}" - multiple: "Prikazani %{model} %{from} - %{to} od ukupno %{total}" - multiple_without_total: "Prikazani %{model} %{from} - %{to}" - entry: - one: "zapis" - few: "zapisa" - many: "zapisa" - other: "zapisa" - any: "Bilo koji" - blank_slate: - content: "Još uvijek ne postoji niti jedan zapis tipa %{resource_name}." - link: "Izradi jedan" + access_denied: + message: Nemaš dopuštenja. + any: Bilo koji batch_actions: - button_label: "Grupne akcije" - default_confirmation: "Jeste li sigurni da želite to učiniti?" - delete_confirmation: "Jeste li sigurni da želite obrisati %{plural_model}?" - succesfully_destroyed: - one: "Uspješno je obrisan 1 %{model}" - few: "Uspješno su obrisana %{count} %{plural_model}" - many: "Uspješno je obrisano %{count} %{plural_model}" - other: "Uspješno je obrisano %{count} %{plural_model}" - selection_toggle_explanation: "(Izmijeni odabir)" action_label: "%{title} označene" + button_label: Grupne akcije + default_confirmation: Jeste li sigurni da želite to učiniti? + delete_confirmation: Jeste li sigurni da želite obrisati %{plural_model}? labels: - destroy: "Obriši" + destroy: Obriši + selection_toggle_explanation: "(Izmijeni odabir)" + successfully_destroyed: + few: Uspješno su obrisana %{count} %{plural_model} + many: Uspješno je obrisano %{count} %{plural_model} + one: Uspješno je obrisan 1 %{model} + other: Uspješno je obrisano %{count} %{plural_model} + blank_slate: + content: Još uvijek ne postoji niti jedan zapis tipa %{resource_name}. + link: Izradi jedan + cancel: Odustani comments: - resource_type: "Tip objekta" - author_type: "Tip autora" - body: "Sadržaj" - author: "Autor" - add: "Dodaj komentar" - resource: "Objekt" - no_comments_yet: "Još nema komentara." - author_missing: "Anoniman" - title_content: "Komentari (%{count})" + add: Dodaj komentar + author: Autor + author_missing: Anoniman + author_type: Tip autora + body: Sadržaj errors: - empty_text: "Komentar nije spremljen, sadržaj je prazan." + empty_text: Komentar nije spremljen, sadržaj je prazan. + no_comments_yet: Još nema komentara. + resource: Objekt + resource_type: Tip objekta + title_content: Komentari (%{count}) + dashboard: Upravljačka ploča + delete: Obriši + delete_confirmation: Jeste li sigurni da želite ovo obrisati? + delete_model: Obriši %{model} + details: "%{model} detalji" devise: - username: - title: "Korisničko ime" + change_password: + submit: Izmijeni lozinku + title: Izmjena lozinke email: - title: "Email" - subdomain: - title: "Poddomena" - password: - title: "Lozinka" - sign_up: - title: "Registracija" - submit: "Registruj" + title: Email + links: + forgot_your_password: Zaboravljena lozinka? + sign_in: Prijavi se + sign_in_with_omniauth_provider: Prijavite se za %{provider} login: - title: "Prijava" - remember_me: "Zapamti me" - submit: "Prijavi se" + remember_me: Zapamti me + submit: Prijavi se + title: Prijava + password: + title: Lozinka + resend_confirmation_instructions: + submit: Pošalji + title: Ponovno slanje uputstva za potvrdu reset_password: - title: "Zaboravljena lozinka?" - submit: "Resetuj lozinku" - change_password: - title: "Izmjena lozinke" - submit: "Izmijeni lozinku" + submit: Resetuj lozinku + title: Zaboravljena lozinka? + sign_up: + submit: Registruj + title: Registracija + subdomain: + title: Poddomena unlock: - title: "Ponovno slanje uputstva za otključavanje" - submit: "Pošalji" - resend_confirmation_instructions: - title: "Ponovno slanje uputstva za potvrdu" - submit: "Pošalji" - links: - sign_in: "Prijavi se" - forgot_your_password: "Zaboravljena lozinka?" - sign_in_with_omniauth_provider: "Prijavite se za %{provider}" - access_denied: - message: "Nemaš dopuštenja." + submit: Pošalji + title: Ponovno slanje uputstva za otključavanje + username: + title: Korisničko ime + download: 'Spremi na računalo:' + edit: Uredi + edit_model: Uredi %{model} + empty: Prazno + filters: + buttons: + clear: Ukloni filtere + filter: Filtriraj + has_many_delete: Obriši + has_many_new: Dodaj novi %{model} + has_many_remove: Ukloniti index_list: - table: "Tabela" + table: Tabela + logout: Odjavi se + new_model: Novi %{model} + next: Sljedeći + pagination: + empty: Nije pronađen niti jedan %{model}. + entry: + few: zapisa + many: zapisa + one: zapis + other: zapisa + multiple: Prikazani %{model} %{from} - %{to} od ukupno %{total} + multiple_without_total: Prikazani %{model} %{from} - %{to} + one: Prikazan 1 %{model} + one_page: Prikazano svih %{n} %{model} + powered_by: Powered by %{active_admin} %{version} + previous: Prethodni + sidebars: + filters: Filtriranje + status_tag: + 'no': Nema + unset: Nema + 'yes': Da + view: Pregledaj diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 7e4343e7ed7..e69588f45e3 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -1,142 +1,143 @@ +--- ca: - activerecord: - models: - comment: - one: "Comentari" - other: "Comentaris" - active_admin/comment: - one: "Comentari" - other: "Comentaris" - attributes: - active_admin/comment: - author_type: "Tipus d'autor" - body: "Missatge" - created_at: "Creat el" - namespace: "Espai de noms" - resource_type: "Tipus de recurs" - updated_at: "Actualitzat el" active_admin: - dashboard: "Tauler d'activitat" - view: "Mostra" - edit: "Edita" - delete: "Elimina" - delete_confirmation: "Segur que voleu eliminar-ho?" - create_another: "Crear un altre %{model}" - new_model: "Crear %{model}" - edit_model: "Editar %{model}" - delete_model: "Eliminar %{model}" - details: "Detalls de %{model}" - cancel: "Cancel·lar" - empty: "Buit" - previous: "Anterior" - next: "Següent" - download: "Descarregar:" - has_many_new: "Afegir un altre %{model}" - has_many_delete: "Eliminar" - has_many_remove: "Treure" - move: "Moure" - filters: - buttons: - filter: "Filtra" - clear: "Elimina els filtres" - predicates: - from: "Des de" - to: "Fins" - scopes: - all: "Tots" - search_status: - title: "Cerca activa" - title_with_scope: "Cerca activa per %{name}" - no_current_filters: "Sense filtres actius" - status_tag: - "yes": "Sí" - "no": "No" - "unset": "Desconegut" - logout: "Tanca la sessió" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtres" - search_status: "Estat de la cerca" - pagination: - empty: "No s'ha trobat cap %{model}" - one: "S'està mostrant 1 de 1" - one_page: "S'estan mostrant tots %{n}" - multiple: "Se n'estan mostrant %{from}-%{to} d'un total de %{total}" - multiple_without_total: "Se n'estan mostrant %{from}-%{to}" - per_page: "Per pàgina" - previous: "Anterior" - next: "Següent" - entry: - one: "entrada" - other: "entrades" - any: "Qualsevol" - blank_slate: - content: "Encara no hi ha cap %{resource_name}." - link: "Crea'n un/a" + access_denied: + message: No esteu autoritzats a realitzar aquesta acció + any: Qualsevol batch_actions: - button_label: "Accions per lots" - default_confirmation: "Segur que voleu fer-ho?" - delete_confirmation: "Segurs que voleu eliminar aquests %{plural_model}?" - succesfully_destroyed: - one: "1 %{model} eliminat" - other: "%{count} %{plural_model} eliminats" - selection_toggle_explanation: "(Invertir la selecció)" action_label: "%{title} seleccionat" + button_label: Accions per lots + default_confirmation: Segur que voleu fer-ho? + delete_confirmation: Segurs que voleu eliminar aquests %{plural_model}? labels: - destroy: "Esborrar" + destroy: Esborrar + selection_toggle_explanation: "(Invertir la selecció)" + successfully_destroyed: + one: 1 %{model} eliminat + other: "%{count} %{plural_model} eliminats" + blank_slate: + content: Encara no hi ha cap %{resource_name}. + link: Crea'n un/a + cancel: Cancel·lar comments: - created_at: "Creat el" - resource_type: "Tipus de recurs" - author_type: "Tipus d'author" - body: "Missatge" - author: "Autor" - add: "Afegeix comentari" - delete: "Elimina comentari" - delete_confirmation: "Esteu segurs que voleu eliminar aquest comentari?" - resource: "Recurs" - no_comments_yet: "Sense comentaris" - author_missing: "Anònim" - title_content: "Tots els comentaris (%{count})" + add: Afegeix comentari + author: Autor + author_missing: Anònim + author_type: Tipus d'author + body: Missatge + created_at: Creat el + delete: Elimina comentari + delete_confirmation: Esteu segurs que voleu eliminar aquest comentari? errors: - empty_text: "El comentari no s'ha desat, no hi havia text." + empty_text: El comentari no s'ha desat, no hi havia text. + no_comments_yet: Sense comentaris + resource: Recurs + resource_type: Tipus de recurs + title_content: Tots els comentaris (%{count}) + create_another: Crear un altre %{model} + dashboard: Tauler d'activitat + delete: Elimina + delete_confirmation: Segur que voleu eliminar-ho? + delete_model: Eliminar %{model} + details: Detalls de %{model} devise: - username: - title: "Usuari" + change_password: + submit: Canvia'm la contrasenya + title: Canvieu la contrasenya email: - title: "Email" - subdomain: - title: "Subdomini" + title: Email + links: + forgot_your_password: Heu perdut la contrasenya? + resend_confirmation_instructions: Reenviar les instruccions de confirmació + resend_unlock_instructions: Reenviar les instruccions de desbloqueig + sign_in: Sign in + sign_in_with_omniauth_provider: Identificació via %{provider} + sign_up: Sign up + login: + remember_me: Recorda'm + submit: Identifiqueu-vos + title: Identifiqueu-vos password: - title: "Contrasenya" + title: Contrasenya password_confirmation: - title: "Confirmeu la contrasenya" - sign_up: - title: "Doneu-vos d'alta" - submit: "Doneu-vos d'alta" - login: - title: "Identifiqueu-vos" - remember_me: "Recorda'm" - submit: "Identifiqueu-vos" + title: Confirmeu la contrasenya + resend_confirmation_instructions: + submit: Reenviar instruccions de confirmació + title: Reenviar instruccions de confirmació reset_password: - title: "Heu oblidat la contrasenya?" - submit: "Restablir la contrasenya" - change_password: - title: "Canvieu la contrasenya" - submit: "Canvia'm la contrasenya" + submit: Restablir la contrasenya + title: Heu oblidat la contrasenya? + sign_up: + submit: Doneu-vos d'alta + title: Doneu-vos d'alta + subdomain: + title: Subdomini unlock: - title: "Reenvia instruccions per a desbloquejar" - submit: "Reenvia instruccions per a desbloquejar" - resend_confirmation_instructions: - title: "Reenviar instruccions de confirmació" - submit: "Reenviar instruccions de confirmació" - links: - sign_up: "Sign up" - sign_in: "Sign in" - forgot_your_password: "Heu perdut la contrasenya?" - sign_in_with_omniauth_provider: "Identificació via %{provider}" - resend_unlock_instructions: "Reenviar les instruccions de desbloqueig" - resend_confirmation_instructions: "Reenviar les instruccions de confirmació" - access_denied: - message: "No esteu autoritzats a realitzar aquesta acció" + submit: Reenvia instruccions per a desbloquejar + title: Reenvia instruccions per a desbloquejar + username: + title: Usuari + download: 'Descarregar:' + edit: Edita + edit_model: Editar %{model} + empty: Buit + filters: + buttons: + clear: Elimina els filtres + filter: Filtra + predicates: + from: Des de + to: Fins + has_many_delete: Eliminar + has_many_new: Afegir un altre %{model} + has_many_remove: Treure index_list: - table: "Taula" + table: Taula + logout: Tanca la sessió + move: Moure + new_model: Crear %{model} + next: Següent + pagination: + empty: No s'ha trobat cap %{model} + entry: + one: entrada + other: entrades + multiple: Se n'estan mostrant %{from}-%{to} d'un total de %{total} + multiple_without_total: Se n'estan mostrant %{from}-%{to} + next: Següent + one: S'està mostrant 1 de 1 + one_page: S'estan mostrant tots %{n} + per_page: Per pàgina + previous: Anterior + powered_by: Powered by %{active_admin} %{version} + previous: Anterior + scopes: + all: Tots + search_status: + no_current_filters: Sense filtres actius + title: Cerca activa + title_with_scope: Cerca activa per %{name} + sidebars: + filters: Filtres + search_status: Estat de la cerca + status_tag: + 'no': 'No' + unset: Desconegut + 'yes': Sí + view: Mostra + activerecord: + attributes: + active_admin/comment: + author_type: Tipus d'autor + body: Missatge + created_at: Creat el + namespace: Espai de noms + resource_type: Tipus de recurs + updated_at: Actualitzat el + models: + active_admin/comment: + one: Comentari + other: Comentaris + comment: + one: Comentari + other: Comentaris diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 1de13423195..7c1d90c2dea 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -1,93 +1,94 @@ +--- cs: active_admin: - dashboard: Úvod - view: "Zobrazit" - edit: "Upravit" - delete: "Smazat" - delete_confirmation: "Jste si jistí, že chcete tuto položku smazat?" - new_model: "Vytvořit" - edit_model: "Upravit" - delete_model: "Smazat" - details: "Detaily" - cancel: "Zrušit" - empty: "Prázdné" - previous: "Předchozí" - next: "Následující" - download: "Stáhnout:" - has_many_new: "Přidat nový" - has_many_delete: "Smazat" - has_many_remove: "Odstranit" - filters: - buttons: - filter: "Filtrovat" - clear: "Vyčistit filtry" - status_tag: - "yes": "Ano" - "no": "Ne" - "unset": "Ne" - logout: "Odhlásit" - powered_by: "%{active_admin} %{version}" - sidebars: - filters: "Filtry" - pagination: - empty: "Nenalezen." - one: "Zobrazena 1 položka" - one_page: "Počet zobrazených položek %{n}" - multiple: "%{from} - %{to} z %{total}" - multiple_without_total: "%{from} - %{to}" - entry: - one: "položka" - few: "položky" - other: "položky" - any: "Kterákoliv" - blank_slate: - content: "Zatím zde není žádný obsah." - link: "Vytvořit" + access_denied: + message: Nemáte oprávnění k provedení této akce. + any: Kterákoliv batch_actions: - button_label: "Hromadné akce" - default_confirmation: "Jste si jisti, že chcete provést?" - delete_confirmation: "Jste si jisti, že chcete smazat tyto %{plural_model}?" - succesfully_destroyed: - zero: "Nebyl smazán žádný %{model}" - one: "Úspěšně smazán %{model}" - few: "Úspěšně smazány %{count} %{plural_model}" - other: "Úspěšně smazáno %{count} %{plural_model}" - selection_toggle_explanation: "(Změnit výběr)" action_label: "%{title}" + button_label: Hromadné akce + default_confirmation: Jste si jisti, že chcete provést? + delete_confirmation: Jste si jisti, že chcete smazat tyto %{plural_model}? labels: - destroy: "Vymazat" + destroy: Vymazat + selection_toggle_explanation: "(Změnit výběr)" + successfully_destroyed: + few: Úspěšně smazány %{count} %{plural_model} + one: Úspěšně smazán %{model} + other: Úspěšně smazáno %{count} %{plural_model} + zero: Nebyl smazán žádný %{model} + blank_slate: + content: Zatím zde není žádný obsah. + link: Vytvořit + cancel: Zrušit comments: - resource_type: "Typ zdroje" - author_type: "Typ autora" - body: "Tělo" - author: "Autor" - add: "Přidat komentář" - resource: "Zdroj" - no_comments_yet: "Žádný komentář" - author_missing: "Anonymní" - title_content: "Komentáře administrátorů (%{count})" + add: Přidat komentář + author: Autor + author_missing: Anonymní + author_type: Typ autora + body: Tělo errors: - empty_text: "Komentář nebyl uložen, je prázdný." + empty_text: Komentář nebyl uložen, je prázdný. + no_comments_yet: Žádný komentář + resource: Zdroj + resource_type: Typ zdroje + title_content: Komentáře administrátorů (%{count}) + dashboard: Úvod + delete: Smazat + delete_confirmation: Jste si jistí, že chcete tuto položku smazat? + delete_model: Smazat + details: Detaily devise: + change_password: + submit: Změnit své heslo + title: Změnit heslo + links: + forgot_your_password: Zapomněli jste heslo? + sign_in: Přihlásit se + sign_in_with_omniauth_provider: Přihlásit se přes %{provider} + sign_up: Registrovat se login: - title: "Přihlášení" - remember_me: "Zapamatovat si mě" - submit: "Přihlásit" + remember_me: Zapamatovat si mě + submit: Přihlásit + title: Přihlášení reset_password: - title: "Zapomněli jste heslo?" - submit: "Obnovit heslo" - change_password: - title: "Změnit heslo" - submit: "Změnit své heslo" + submit: Obnovit heslo + title: Zapomněli jste heslo? unlock: - title: "Zaslání instrukcí k odemčení účtu" - submit: "Zaslat instrukce k odemčení účtu" - links: - sign_in: "Přihlásit se" - sign_up: "Registrovat se" - forgot_your_password: "Zapomněli jste heslo?" - sign_in_with_omniauth_provider: "Přihlásit se přes %{provider}" - access_denied: - message: "Nemáte oprávnění k provedení této akce." + submit: Zaslat instrukce k odemčení účtu + title: Zaslání instrukcí k odemčení účtu + download: 'Stáhnout:' + edit: Upravit + edit_model: Upravit + empty: Prázdné + filters: + buttons: + clear: Vyčistit filtry + filter: Filtrovat + has_many_delete: Smazat + has_many_new: Přidat nový + has_many_remove: Odstranit index_list: - table: "Tabulka" + table: Tabulka + logout: Odhlásit + new_model: Vytvořit + next: Následující + pagination: + empty: Nenalezen. + entry: + few: položky + one: položka + other: položky + multiple: "%{from} - %{to} z %{total}" + multiple_without_total: "%{from} - %{to}" + one: Zobrazena 1 položka + one_page: Počet zobrazených položek %{n} + powered_by: "%{active_admin} %{version}" + previous: Předchozí + sidebars: + filters: Filtry + status_tag: + 'no': Ne + unset: Ne + 'yes': Ano + view: Zobrazit diff --git a/config/locales/da.yml b/config/locales/da.yml index 8984d269d33..fab88913131 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -1,114 +1,115 @@ +--- da: active_admin: - dashboard: "Kontrolpanel" - view: "Vis" - edit: "Rediger" - delete: "Slet" - delete_confirmation: "Er du sikker på, at du ønsker at slette?" - create_another: "Opret endnu en %{model}" - new_model: "Ny(t) %{model}" - edit_model: "Rediger %{model}" - delete_model: "Slet %{model}" - details: "%{model} detaljer" - cancel: "Fortryd" - empty: "Tom" - previous: "Forrige" - next: "Næste" - download: "Download:" - has_many_new: "Tilføj ny(t) %{model}" - has_many_delete: "Slet" - has_many_remove: "Fjern" - filters: - buttons: - filter: "Filtrer" - clear: "Ryd filtre" - search_status: - no_current_filters: "Ingen" - status_tag: - "yes": "Ja" - "no": "Nej" - "unset": "Nej" - logout: "Log ud" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtre" - search_status: "Søgestatus" - pagination: - empty: "Ingen %{model} fundet" - one: "Viser 1 %{model}" - one_page: "Viser alle %{n} %{model}" - multiple: "Viser %{model} %{from} - %{to} af %{total} i alt" - multiple_without_total: "Viser %{model} %{from} - %{to}" - per_page: "Per side: " - entry: - one: "post" - other: "poster" - any: "Alle" - blank_slate: - content: "Der er ingen %{resource_name} endnu." - link: "Opret" + access_denied: + message: Du har ikke rettigheder til at udføre denne handling. + any: Alle batch_actions: - button_label: "Batch Handlinger" - default_confirmation: "Er du sikker på du vil gøre dette?" - delete_confirmation: "Er du sikker på du vil slette disse %{plural_model}?" - succesfully_destroyed: - one: "Vellykket ødelagt 1 %{model}" - other: "Vellykket ødelagt %{count} %{plural_model}" - selection_toggle_explanation: "(Skift valg)" action_label: "%{title} Valgte" + button_label: Batch Handlinger + default_confirmation: Er du sikker på du vil gøre dette? + delete_confirmation: Er du sikker på du vil slette disse %{plural_model}? labels: - destroy: "Slet" + destroy: Slet + selection_toggle_explanation: "(Skift valg)" + successfully_destroyed: + one: Vellykket ødelagt 1 %{model} + other: Vellykket ødelagt %{count} %{plural_model} + blank_slate: + content: Der er ingen %{resource_name} endnu. + link: Opret + cancel: Fortryd comments: - created_at: "Oprettet" - resource_type: "Resource type" - author_type: "Forfatter type" - body: "Krop" - author: "Forfatter" - add: "Tilføj Kommentar" - delete: "Slet kommentar" - delete_confirmation: "Er du sikker på du vil slette disse kommentarer?" - resource: "Resource" - no_comments_yet: "Ingen kommentarer endnu." - author_missing: "Anonym" - title_content: "Kommentarer (%{count})" + add: Tilføj Kommentar + author: Forfatter + author_missing: Anonym + author_type: Forfatter type + body: Krop + created_at: Oprettet + delete: Slet kommentar + delete_confirmation: Er du sikker på du vil slette disse kommentarer? errors: - empty_text: "Kommentar blev ikke gemt, tekst var tom." + empty_text: Kommentar blev ikke gemt, tekst var tom. + no_comments_yet: Ingen kommentarer endnu. + resource: Resource + resource_type: Resource type + title_content: Kommentarer (%{count}) + create_another: Opret endnu en %{model} + dashboard: Kontrolpanel + delete: Slet + delete_confirmation: Er du sikker på, at du ønsker at slette? + delete_model: Slet %{model} + details: "%{model} detaljer" devise: - username: - title: "Brugernavn" + change_password: + submit: Skift min adgangskode + title: Skift din adgangskode email: - title: "Email" - subdomain: - title: "Underdomæne" - password: - title: "Kodeord" - sign_up: - title: "Opret bruger" - submit: "Opret bruger" + title: Email + links: + forgot_your_password: Glemt din adgangskode? + resend_confirmation_instructions: Send oplåsningsinstruktioner igen + resend_unlock_instructions: Send oplåsningsinstruktioner igen + sign_in: Log ind + sign_in_with_omniauth_provider: Log ind med %{provider} + sign_up: Opret bruger login: - title: "Login" - remember_me: "Husk mig" - submit: "Login" + remember_me: Husk mig + submit: Login + title: Login + password: + title: Kodeord + resend_confirmation_instructions: + submit: Send bekræftigelsesinstruktioner igen + title: Send bekræftigelsesinstruktioner igen reset_password: - title: "Glemt din adgangskode?" - submit: "Nulstille min adgangskode" - change_password: - title: "Skift din adgangskode" - submit: "Skift min adgangskode" + submit: Nulstille min adgangskode + title: Glemt din adgangskode? + sign_up: + submit: Opret bruger + title: Opret bruger + subdomain: + title: Underdomæne unlock: - title: "Send oplåsningsinstruktioner igen" - submit: "Send oplåsningsinstruktioner igen" - resend_confirmation_instructions: - title: "Send bekræftigelsesinstruktioner igen" - submit: "Send bekræftigelsesinstruktioner igen" - links: - sign_up: "Opret bruger" - sign_in: "Log ind" - forgot_your_password: "Glemt din adgangskode?" - sign_in_with_omniauth_provider: "Log ind med %{provider}" - resend_unlock_instructions: "Send oplåsningsinstruktioner igen" - resend_confirmation_instructions: "Send oplåsningsinstruktioner igen" - access_denied: - message: "Du har ikke rettigheder til at udføre denne handling." + submit: Send oplåsningsinstruktioner igen + title: Send oplåsningsinstruktioner igen + username: + title: Brugernavn + download: 'Download:' + edit: Rediger + edit_model: Rediger %{model} + empty: Tom + filters: + buttons: + clear: Ryd filtre + filter: Filtrer + has_many_delete: Slet + has_many_new: Tilføj ny(t) %{model} + has_many_remove: Fjern index_list: - table: "Tabel" + table: Tabel + logout: Log ud + new_model: Ny(t) %{model} + next: Næste + pagination: + empty: Ingen %{model} fundet + entry: + one: post + other: poster + multiple: Viser %{model} %{from} - %{to} af %{total} i alt + multiple_without_total: Viser %{model} %{from} - %{to} + one: Viser 1 %{model} + one_page: Viser alle %{n} %{model} + per_page: 'Per side: ' + powered_by: Powered by %{active_admin} %{version} + previous: Forrige + search_status: + no_current_filters: Ingen + sidebars: + filters: Filtre + search_status: Søgestatus + status_tag: + 'no': Nej + unset: Nej + 'yes': Ja + view: Vis diff --git a/config/locales/de.yml b/config/locales/de.yml index 7fb8df26e06..91f37cf8ce7 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1,142 +1,143 @@ +--- de: - activerecord: - models: - comment: - one: "Kommentar" - other: "Kommentare" - active_admin/comment: - one: "Kommentar" - other: "Kommentare" - attributes: - active_admin/comment: - author_type: "Autortyp" - body: "Inhalt" - created_at: "Erstellt" - namespace: "Namensraum" - resource_type: "Ressourcentyp" - updated_at: "Aktualisiert" active_admin: - dashboard: "Übersicht" - view: "Anzeigen" - edit: "Bearbeiten" - delete: "Löschen" - delete_confirmation: "Wollen Sie dieses Element wirklich löschen?" - create_another: "Mehr %{model} erstellen" - new_model: "%{model} erstellen" - edit_model: "%{model} bearbeiten" - delete_model: "%{model} löschen" - details: "%{model} Details" - cancel: "Abbrechen" - empty: "Leer" - previous: "Zurück" - next: "Weiter" - download: "Herunterladen:" - has_many_new: "%{model} hinzufügen" - has_many_delete: "Löschen" - has_many_remove: "Entfernen" - move: "Verschieben" - filters: - buttons: - filter: "Filtern" - clear: "Filter entfernen" - predicates: - from: "Von" - to: "Bis" - scopes: - all: "Alle" - search_status: - title: "Aktive Filter" - title_with_scope: "Aktive Filter in %{name}" - no_current_filters: "Keine" - status_tag: - "yes": "Ja" - "no": "Nein" - "unset": "Nein" - logout: "Abmelden" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filter" - search_status: "Aktive Filter" - pagination: - empty: "Keine %{model} gefunden" - one: "1 %{model}" - one_page: "Alle %{n} %{model}" - multiple: "%{model} %{from} – %{to} von %{total}" - multiple_without_total: "%{model} %{from} – %{to}" - per_page: "Pro Seite: " - previous: "Vorherige" - next: "Nächste" - entry: - one: "Eintrag" - other: "Einträge" - any: "Alle" - blank_slate: - content: "Es gibt noch keine %{resource_name}." - link: "Erstellen" + access_denied: + message: Sie haben nicht die Berechtigung um diese Aktion auszuführen. + any: Alle batch_actions: - button_label: "Stapelverarbeitung" - default_confirmation: "Sind Sie sicher?" - delete_confirmation: "Sind Sie sicher dass Sie diese %{plural_model} löschen wollen?" - succesfully_destroyed: - one: "Erfolgreich 1 %{model} gelöscht" - other: "Erfolgreich %{count} %{plural_model} gelöscht" - selection_toggle_explanation: "(Auswahl umschalten)" - action_label: "Ausgewählte %{title}" + action_label: Ausgewählte %{title} + button_label: Stapelverarbeitung + default_confirmation: Sind Sie sicher? + delete_confirmation: Sind Sie sicher dass Sie diese %{plural_model} löschen wollen? labels: - destroy: "löschen" + destroy: löschen + selection_toggle_explanation: "(Auswahl umschalten)" + successfully_destroyed: + one: Erfolgreich 1 %{model} gelöscht + other: Erfolgreich %{count} %{plural_model} gelöscht + blank_slate: + content: Es gibt noch keine %{resource_name}. + link: Erstellen + cancel: Abbrechen comments: - created_at: "Erstellt" - resource_type: "Res­sour­cen-Typ" - author_type: "Autor-Typ" - body: "Inhalt" - author: "Autor" - add: "Kommentar hinzufügen" - delete: "Löschen" - delete_confirmation: "Sind Sie sicher dass Sie diesen Kommentar löschen wollen?" - resource: "Res­sour­ce" - no_comments_yet: "Es gibt noch keine Kommentare." - author_missing: "Unbekannt" - title_content: "Kommentare (%{count})" + add: Kommentar hinzufügen + author: Autor + author_missing: Unbekannt + author_type: Autor-Typ + body: Inhalt + created_at: Erstellt + delete: Löschen + delete_confirmation: Sind Sie sicher dass Sie diesen Kommentar löschen wollen? errors: - empty_text: "Der Kommentar wurde nicht gespeichert, da der Text fehlt." + empty_text: Der Kommentar wurde nicht gespeichert, da der Text fehlt. + no_comments_yet: Es gibt noch keine Kommentare. + resource: Res­sour­ce + resource_type: Res­sour­cen-Typ + title_content: Kommentare (%{count}) + create_another: Mehr %{model} erstellen + dashboard: Übersicht + delete: Löschen + delete_confirmation: Wollen Sie dieses Element wirklich löschen? + delete_model: "%{model} löschen" + details: "%{model} Details" devise: - username: - title: "Benutzername" + change_password: + submit: Mein Passwort ändern + title: Ändern Sie Ihr Passwort email: - title: "E-Mail-Adresse" - subdomain: - title: "Subdomain" + title: E-Mail-Adresse + links: + forgot_your_password: Passwort vergessen? + resend_confirmation_instructions: Bestätigungsanweisung erneut senden + resend_unlock_instructions: Entsperrungsanweisung erneut senden + sign_in: Anmeldung + sign_in_with_omniauth_provider: Anmeldung mit %{provider} + sign_up: Registrieren + login: + remember_me: Angemeldet bleiben + submit: Login + title: Login password: - title: "Passwort" + title: Passwort password_confirmation: - title: "Passwort Bestätigung" - sign_up: - title: "Registrieren" - submit: "Registrieren" - login: - title: "Login" - remember_me: "Angemeldet bleiben" - submit: "Login" + title: Passwort Bestätigung + resend_confirmation_instructions: + submit: Anleitung zur Bestätigung noch mal schicken + title: Anleitung zur Bestätigung noch mal schicken reset_password: - title: "Passwort vergessen?" - submit: "Mein Passwort zurücksetzen" - change_password: - title: "Ändern Sie Ihr Passwort" - submit: "Mein Passwort ändern" + submit: Mein Passwort zurücksetzen + title: Passwort vergessen? + sign_up: + submit: Registrieren + title: Registrieren + subdomain: + title: Subdomain unlock: - title: "Entsperrungsanweisung erneut senden" - submit: "Entsperrungsanweisung erneut senden" - resend_confirmation_instructions: - title: "Anleitung zur Bestätigung noch mal schicken" - submit: "Anleitung zur Bestätigung noch mal schicken" - links: - sign_up: "Registrieren" - sign_in: "Anmeldung" - forgot_your_password: "Passwort vergessen?" - sign_in_with_omniauth_provider: "Anmeldung mit %{provider}" - resend_unlock_instructions: "Entsperrungsanweisung erneut senden" - resend_confirmation_instructions: "Bestätigungsanweisung erneut senden" - access_denied: - message: "Sie haben nicht die Berechtigung um diese Aktion auszuführen." + submit: Entsperrungsanweisung erneut senden + title: Entsperrungsanweisung erneut senden + username: + title: Benutzername + download: 'Herunterladen:' + edit: Bearbeiten + edit_model: "%{model} bearbeiten" + empty: Leer + filters: + buttons: + clear: Filter entfernen + filter: Filtern + predicates: + from: Von + to: Bis + has_many_delete: Löschen + has_many_new: "%{model} hinzufügen" + has_many_remove: Entfernen index_list: - table: "Tabelle" + table: Tabelle + logout: Abmelden + move: Verschieben + new_model: "%{model} erstellen" + next: Weiter + pagination: + empty: Keine %{model} gefunden + entry: + one: Eintrag + other: Einträge + multiple: "%{model} %{from} – %{to} von %{total}" + multiple_without_total: "%{model} %{from} – %{to}" + next: Nächste + one: "1 %{model}" + one_page: "Alle %{n} %{model}" + per_page: 'Pro Seite: ' + previous: Vorherige + powered_by: Powered by %{active_admin} %{version} + previous: Zurück + scopes: + all: Alle + search_status: + no_current_filters: Keine + title: Aktive Filter + title_with_scope: Aktive Filter in %{name} + sidebars: + filters: Filter + search_status: Aktive Filter + status_tag: + 'no': Nein + unset: Nein + 'yes': Ja + view: Anzeigen + activerecord: + attributes: + active_admin/comment: + author_type: Autortyp + body: Inhalt + created_at: Erstellt + namespace: Namensraum + resource_type: Ressourcentyp + updated_at: Aktualisiert + models: + active_admin/comment: + one: Kommentar + other: Kommentare + comment: + one: Kommentar + other: Kommentare diff --git a/config/locales/el.yml b/config/locales/el.yml index 08035a36f04..29eaa60a4c3 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -1,106 +1,107 @@ +--- el: active_admin: - dashboard: "Σελίδα διαχείρισης" - view: "Προβολή" - edit: "Επεξεργασία" - delete: "Διαγραφή" - delete_confirmation: "Είστε σίγουρος πως θέλετε να το διαγράψετε;" - new_model: "Δημιουργία %{model}" - edit_model: "Επεξεργασία %{model}" - delete_model: "Διαγραφή %{model}" - details: "Λεπτομέρειες %{model}" - cancel: "Ακύρωση" - empty: "Άδειο" - previous: "Προηγούμενη" - next: "Επόμενη" - download: "Κατέβασμα:" - has_many_new: "Προσθήκη Νέου %{model}" - has_many_delete: "Διαγραφή" - has_many_remove: "Αφαίρεση" - filters: - buttons: - filter: "Φίλτρα" - clear: "Καθαρισμός Φίλτρων" - status_tag: - "yes": "Ναι" - "no": "Όχι" - "unset": "Όχι" - logout: "Αποσύνδεση" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Φίλτρα" - pagination: - empty: "Δε βρέθηκαν %{model}" - one: "Εμφάνιζεται 1 %{model}" - one_page: "Εμφανίζονται όλες οι %{n} εγγραφές %{model}" - multiple: "Εμφανίζονται %{model} %{from} - %{to} από %{total} συνολικά" - multiple_without_total: "Εμφανίζονται %{model} %{from} - %{to}" - entry: - one: "εγγραφή" - other: "εγγραφές" - any: "Όλες οι εγγραφές" - blank_slate: - content: "Δεν υπάρχουν %{resource_name} ακόμα." - link: "Δημιουργήστε μία εγγραφή" + access_denied: + message: Δεν έχετε πρόσβαση για αυτή την ενέργεια. + any: Όλες οι εγγραφές batch_actions: - button_label: "Μαζικές Ενέργειες" - default_confirmation: "Είστε σίγουρος πως θέλετε να το κάνετε αυτό;" - delete_confirmation: "Είστε σίγουρος πως θέλετε να διαγράψετε αυτά τα %{plural_model}?" - succesfully_destroyed: - one: "Διαγράφηκε επιτυχώς 1 %{model}" - other: "Διαγράφηκαν επιτυχώς %{count} %{plural_model}" - selection_toggle_explanation: "(Αντιστροφή επιλογών)" action_label: "%{title} επιλεγμένων" + button_label: Μαζικές Ενέργειες + default_confirmation: Είστε σίγουρος πως θέλετε να το κάνετε αυτό; + delete_confirmation: Είστε σίγουρος πως θέλετε να διαγράψετε αυτά τα %{plural_model}? labels: - destroy: "Διαγραφή" + destroy: Διαγραφή + selection_toggle_explanation: "(Αντιστροφή επιλογών)" + successfully_destroyed: + one: Διαγράφηκε επιτυχώς 1 %{model} + other: Διαγράφηκαν επιτυχώς %{count} %{plural_model} + blank_slate: + content: Δεν υπάρχουν %{resource_name} ακόμα. + link: Δημιουργήστε μία εγγραφή + cancel: Ακύρωση comments: - resource_type: "Τύπος Εγγραφής" - author_type: "Τύπος Συγγραφέα" - body: "Κείμενο" - author: "Συγγραφέας" - add: "Προσθήκη Σχολίου" - resource: "Εγγραφή" - no_comments_yet: "Δεν υπάρχει κανένα σχόλιο." - author_missing: "Ανώνυμος" - title_content: "Σχόλια (%{count})" + add: Προσθήκη Σχολίου + author: Συγγραφέας + author_missing: Ανώνυμος + author_type: Τύπος Συγγραφέα + body: Κείμενο errors: - empty_text: "Το σχόλιο δε σώθηκε, το κείμενο ήταν κενό." + empty_text: Το σχόλιο δε σώθηκε, το κείμενο ήταν κενό. + no_comments_yet: Δεν υπάρχει κανένα σχόλιο. + resource: Εγγραφή + resource_type: Τύπος Εγγραφής + title_content: Σχόλια (%{count}) + dashboard: Σελίδα διαχείρισης + delete: Διαγραφή + delete_confirmation: Είστε σίγουρος πως θέλετε να το διαγράψετε; + delete_model: Διαγραφή %{model} + details: Λεπτομέρειες %{model} devise: - username: - title: "Όνομα χρήστη" + change_password: + submit: Αλλαγή του κωδικού + title: Αλλάξτε τον κωδικό σας email: - title: "Email" - subdomain: - title: "Subdomain" - password: - title: "Κωδικός" - sign_up: - title: "Εγγραφή" - submit: "Εγγραφή" + title: Email + links: + forgot_your_password: Ξεχάσατε τον κωδικό σας; + resend_confirmation_instructions: Αποστολή οδηγιών επιβεβαίωσης + resend_unlock_instructions: Αποστολή οδηγιών ξεκλειδώματος + sign_in: Σύνδεση + sign_in_with_omniauth_provider: Σύνδεση με %{provider} + sign_up: Εγγραφή login: - title: "Σύνδεση" - remember_me: "Να με θυμάσαι" - submit: "Σύνδεση" + remember_me: Να με θυμάσαι + submit: Σύνδεση + title: Σύνδεση + password: + title: Κωδικός + resend_confirmation_instructions: + submit: Αποστολή οδηγιών επιβεβαίωσης + title: Αποστολή οδηγιών επιβεβαίωσης reset_password: - title: "Ξεχάσατε τον κωδικό σας;" - submit: "Επαναφορά κωδικού" - change_password: - title: "Αλλάξτε τον κωδικό σας" - submit: "Αλλαγή του κωδικού" + submit: Επαναφορά κωδικού + title: Ξεχάσατε τον κωδικό σας; + sign_up: + submit: Εγγραφή + title: Εγγραφή + subdomain: + title: Subdomain unlock: - title: "Αποστολή οδηγιών ξεκλειδώματος" - submit: "Αποστολή οδηγιών ξεκλειδώματος" - resend_confirmation_instructions: - title: "Αποστολή οδηγιών επιβεβαίωσης" - submit: "Αποστολή οδηγιών επιβεβαίωσης" - links: - sign_in: "Σύνδεση" - sign_up: "Εγγραφή" - forgot_your_password: "Ξεχάσατε τον κωδικό σας;" - sign_in_with_omniauth_provider: "Σύνδεση με %{provider}" - resend_unlock_instructions: "Αποστολή οδηγιών ξεκλειδώματος" - resend_confirmation_instructions: "Αποστολή οδηγιών επιβεβαίωσης" - access_denied: - message: "Δεν έχετε πρόσβαση για αυτή την ενέργεια." + submit: Αποστολή οδηγιών ξεκλειδώματος + title: Αποστολή οδηγιών ξεκλειδώματος + username: + title: Όνομα χρήστη + download: 'Κατέβασμα:' + edit: Επεξεργασία + edit_model: Επεξεργασία %{model} + empty: Άδειο + filters: + buttons: + clear: Καθαρισμός Φίλτρων + filter: Φίλτρα + has_many_delete: Διαγραφή + has_many_new: Προσθήκη Νέου %{model} + has_many_remove: Αφαίρεση index_list: - table: "Πίνακας" + table: Πίνακας + logout: Αποσύνδεση + new_model: Δημιουργία %{model} + next: Επόμενη + pagination: + empty: Δε βρέθηκαν %{model} + entry: + one: εγγραφή + other: εγγραφές + multiple: Εμφανίζονται %{model} %{from} - %{to} από %{total} συνολικά + multiple_without_total: Εμφανίζονται %{model} %{from} - %{to} + one: Εμφάνιζεται 1 %{model} + one_page: Εμφανίζονται όλες οι %{n} εγγραφές %{model} + powered_by: Powered by %{active_admin} %{version} + previous: Προηγούμενη + sidebars: + filters: Φίλτρα + status_tag: + 'no': Όχι + unset: Όχι + 'yes': Ναι + view: Προβολή diff --git a/config/locales/en-CA.yml b/config/locales/en-CA.yml index 6b618f69325..249328af814 100644 --- a/config/locales/en-CA.yml +++ b/config/locales/en-CA.yml @@ -1,116 +1,117 @@ -"en-CA": +--- +en-CA: active_admin: - dashboard: Dashboard - view: "View" - edit: "Edit" - delete: "Delete" - delete_confirmation: "Are you sure you want to delete this?" - create_another: "Create another %{model}" - new_model: "New %{model}" - edit_model: "Edit %{model}" - delete_model: "Delete %{model}" - details: "%{model} Details" - cancel: "Cancel" - empty: "Empty" - previous: "Previous" - next: "Next" - download: "Download:" - has_many_new: "Add New %{model}" - has_many_delete: "Delete" - has_many_remove: "Remove" - filters: - buttons: - filter: "Filter" - clear: "Clear Filters" - search_status: - no_current_filters: "None" - status_tag: - "yes": "Yes" - "no": "No" - "unset": "No" - logout: "Logout" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filters" - search_status: "Search Status" - pagination: - empty: "No %{model} found" - one: "Displaying 1 %{model}" - one_page: "Displaying all %{n} %{model}" - multiple: "Displaying %{model} %{from} - %{to} of %{total} in total" - multiple_without_total: "Displaying %{model} %{from} - %{to}" - per_page: "Per page: " - entry: - one: "entry" - other: "entries" - any: "Any" - blank_slate: - content: "There are no %{resource_name} yet." - link: "Create one" + access_denied: + message: You are not authorized to perform this action. + any: Any batch_actions: - button_label: "Batch Actions" - default_confirmation: "Are you sure you want to do this?" - delete_confirmation: "Are you sure you want to delete these %{plural_model}?" - succesfully_destroyed: - one: "Successfully deleted 1 %{model}" - other: "Successfully deleted %{count} %{plural_model}" - selection_toggle_explanation: "(Toggle Selection)" action_label: "%{title} Selected" + button_label: Batch Actions + default_confirmation: Are you sure you want to do this? + delete_confirmation: Are you sure you want to delete these %{plural_model}? labels: - destroy: "Delete" + destroy: Delete + selection_toggle_explanation: "(Toggle Selection)" + successfully_destroyed: + one: Successfully deleted 1 %{model} + other: Successfully deleted %{count} %{plural_model} + blank_slate: + content: There are no %{resource_name} yet. + link: Create one + cancel: Cancel comments: - created_at: "Created" - resource_type: "Resource Type" - author_type: "Author Type" - body: "Body" - author: "Author" - add: "Add Comment" - delete: "Delete Comment" - delete_confirmation: "Are you sure you want to delete these comments?" - resource: "Resource" - no_comments_yet: "No comments yet." - author_missing: "Anonymous" - title_content: "Comments (%{count})" + add: Add Comment + author: Author + author_missing: Anonymous + author_type: Author Type + body: Body + created_at: Created + delete: Delete Comment + delete_confirmation: Are you sure you want to delete these comments? errors: - empty_text: "Comment wasn't saved, text was empty." + empty_text: Comment wasn't saved, text was empty. + no_comments_yet: No comments yet. + resource: Resource + resource_type: Resource Type + title_content: Comments (%{count}) + create_another: Create another %{model} + dashboard: Dashboard + delete: Delete + delete_confirmation: Are you sure you want to delete this? + delete_model: Delete %{model} + details: "%{model} Details" devise: - username: - title: "Username" + change_password: + submit: Change my password + title: Change your password email: - title: "Email" - subdomain: - title: "Subdomain" + title: Email + links: + forgot_your_password: Forgot your password? + resend_confirmation_instructions: Resend confirmation instructions + resend_unlock_instructions: Resend unlock instructions + sign_in: Sign in + sign_in_with_omniauth_provider: Sign in with %{provider} + sign_up: Sign up + login: + remember_me: Remember me + submit: Login + title: Login password: - title: "Password" + title: Password password_confirmation: - title: "Confirm Password" - sign_up: - title: "Sign up" - submit: "Sign up" - login: - title: "Login" - remember_me: "Remember me" - submit: "Login" + title: Confirm Password + resend_confirmation_instructions: + submit: Resend confirmation instructions + title: Resend confirmation instructions reset_password: - title: "Forgot your password?" - submit: "Reset My Password" - change_password: - title: "Change your password" - submit: "Change my password" + submit: Reset My Password + title: Forgot your password? + sign_up: + submit: Sign up + title: Sign up + subdomain: + title: Subdomain unlock: - title: "Resend unlock instructions" - submit: "Resend unlock instructions" - resend_confirmation_instructions: - title: "Resend confirmation instructions" - submit: "Resend confirmation instructions" - links: - sign_up: "Sign up" - sign_in: "Sign in" - forgot_your_password: "Forgot your password?" - sign_in_with_omniauth_provider: "Sign in with %{provider}" - resend_unlock_instructions: "Resend unlock instructions" - resend_confirmation_instructions: "Resend confirmation instructions" - access_denied: - message: "You are not authorized to perform this action." + submit: Resend unlock instructions + title: Resend unlock instructions + username: + title: Username + download: 'Download:' + edit: Edit + edit_model: Edit %{model} + empty: Empty + filters: + buttons: + clear: Clear Filters + filter: Filter + has_many_delete: Delete + has_many_new: Add New %{model} + has_many_remove: Remove index_list: - table: "Table" + table: Table + logout: Logout + new_model: New %{model} + next: Next + pagination: + empty: No %{model} found + entry: + one: entry + other: entries + multiple: Displaying %{model} %{from} - %{to} of %{total} in total + multiple_without_total: Displaying %{model} %{from} - %{to} + one: Displaying 1 %{model} + one_page: Displaying all %{n} %{model} + per_page: 'Per page: ' + powered_by: Powered by %{active_admin} %{version} + previous: Previous + search_status: + no_current_filters: None + sidebars: + filters: Filters + search_status: Search Status + status_tag: + 'no': 'No' + unset: 'No' + 'yes': 'Yes' + view: View diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml index 486d56c0548..1650178ffdc 100644 --- a/config/locales/en-GB.yml +++ b/config/locales/en-GB.yml @@ -1,116 +1,117 @@ -"en-GB": +--- +en-GB: active_admin: - dashboard: Dashboard - view: "View" - edit: "Edit" - delete: "Delete" - delete_confirmation: "Are you sure you want to delete this?" - create_another: "Create another %{model}" - new_model: "New %{model}" - edit_model: "Edit %{model}" - delete_model: "Delete %{model}" - details: "%{model} Details" - cancel: "Cancel" - empty: "Empty" - previous: "Previous" - next: "Next" - download: "Download:" - has_many_new: "Add New %{model}" - has_many_delete: "Delete" - has_many_remove: "Remove" - filters: - buttons: - filter: "Filter" - clear: "Clear Filters" - search_status: - no_current_filters: "None" - status_tag: - "yes": "Yes" - "no": "No" - "unset": "No" - logout: "Logout" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filters" - search_status: "Search Status" - pagination: - empty: "No %{model} found" - one: "Displaying 1 %{model}" - one_page: "Displaying all %{n} %{model}" - multiple: "Displaying %{model} %{from} - %{to} of %{total} in total" - multiple_without_total: "Displaying %{model} %{from} - %{to}" - per_page: "Per page: " - entry: - one: "entry" - other: "entries" - any: "Any" - blank_slate: - content: "There are no %{resource_name} yet." - link: "Create one" + access_denied: + message: You are not authorised to perform this action. + any: Any batch_actions: - button_label: "Batch Actions" - default_confirmation: "Are you sure you want to do this?" - delete_confirmation: "Are you sure you want to delete these %{plural_model}?" - succesfully_destroyed: - one: "Successfully deleted 1 %{model}" - other: "Successfully deleted %{count} %{plural_model}" - selection_toggle_explanation: "(Toggle Selection)" action_label: "%{title} Selected" + button_label: Batch Actions + default_confirmation: Are you sure you want to do this? + delete_confirmation: Are you sure you want to delete these %{plural_model}? labels: - destroy: "Delete" + destroy: Delete + selection_toggle_explanation: "(Toggle Selection)" + successfully_destroyed: + one: Successfully deleted 1 %{model} + other: Successfully deleted %{count} %{plural_model} + blank_slate: + content: There are no %{resource_name} yet. + link: Create one + cancel: Cancel comments: - created_at: "Created" - resource_type: "Resource Type" - author_type: "Author Type" - body: "Body" - author: "Author" - add: "Add Comment" - delete: "Delete Comment" - delete_confirmation: "Are you sure you want to delete these comments?" - resource: "Resource" - no_comments_yet: "No comments yet." - author_missing: "Anonymous" - title_content: "Comments (%{count})" + add: Add Comment + author: Author + author_missing: Anonymous + author_type: Author Type + body: Body + created_at: Created + delete: Delete Comment + delete_confirmation: Are you sure you want to delete these comments? errors: - empty_text: "Comment wasn't saved, text was empty." + empty_text: Comment wasn't saved, text was empty. + no_comments_yet: No comments yet. + resource: Resource + resource_type: Resource Type + title_content: Comments (%{count}) + create_another: Create another %{model} + dashboard: Dashboard + delete: Delete + delete_confirmation: Are you sure you want to delete this? + delete_model: Delete %{model} + details: "%{model} Details" devise: - username: - title: "Username" + change_password: + submit: Change my password + title: Change your password email: - title: "Email" - subdomain: - title: "Subdomain" + title: Email + links: + forgot_your_password: Forgot your password? + resend_confirmation_instructions: Resend confirmation instructions + resend_unlock_instructions: Resend unlock instructions + sign_in: Sign in + sign_in_with_omniauth_provider: Sign in with %{provider} + sign_up: Sign up + login: + remember_me: Remember me + submit: Login + title: Login password: - title: "Password" + title: Password password_confirmation: - title: "Confirm Password" - sign_up: - title: "Sign up" - submit: "Sign up" - login: - title: "Login" - remember_me: "Remember me" - submit: "Login" + title: Confirm Password + resend_confirmation_instructions: + submit: Resend confirmation instructions + title: Resend confirmation instructions reset_password: - title: "Forgot your password?" - submit: "Reset My Password" - change_password: - title: "Change your password" - submit: "Change my password" + submit: Reset My Password + title: Forgot your password? + sign_up: + submit: Sign up + title: Sign up + subdomain: + title: Subdomain unlock: - title: "Resend unlock instructions" - submit: "Resend unlock instructions" - resend_confirmation_instructions: - title: "Resend confirmation instructions" - submit: "Resend confirmation instructions" - links: - sign_up: "Sign up" - sign_in: "Sign in" - forgot_your_password: "Forgot your password?" - sign_in_with_omniauth_provider: "Sign in with %{provider}" - resend_unlock_instructions: "Resend unlock instructions" - resend_confirmation_instructions: "Resend confirmation instructions" - access_denied: - message: "You are not authorised to perform this action." + submit: Resend unlock instructions + title: Resend unlock instructions + username: + title: Username + download: 'Download:' + edit: Edit + edit_model: Edit %{model} + empty: Empty + filters: + buttons: + clear: Clear Filters + filter: Filter + has_many_delete: Delete + has_many_new: Add New %{model} + has_many_remove: Remove index_list: - table: "Table" + table: Table + logout: Logout + new_model: New %{model} + next: Next + pagination: + empty: No %{model} found + entry: + one: entry + other: entries + multiple: Displaying %{model} %{from} - %{to} of %{total} in total + multiple_without_total: Displaying %{model} %{from} - %{to} + one: Displaying 1 %{model} + one_page: Displaying all %{n} %{model} + per_page: 'Per page: ' + powered_by: Powered by %{active_admin} %{version} + previous: Previous + search_status: + no_current_filters: None + sidebars: + filters: Filters + search_status: Search Status + status_tag: + 'no': 'No' + unset: 'No' + 'yes': 'Yes' + view: View diff --git a/config/locales/en.yml b/config/locales/en.yml index 47862d465e5..96da53870ce 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,146 +1,148 @@ +--- en: - activerecord: - models: - comment: - one: "Comment" - other: "Comments" - active_admin/comment: - one: "Comment" - other: "Comments" - attributes: - active_admin/comment: - author_type: "Author type" - body: "Body" - created_at: "Created" - namespace: "Namespace" - resource_type: "Resource type" - updated_at: "Updated" active_admin: - dashboard: "Dashboard" - view: "View" - edit: "Edit" - delete: "Delete" - delete_confirmation: "Are you sure you want to delete this?" - create_another: "Create another %{model}" - new_model: "New %{model}" - edit_model: "Edit %{model}" - delete_model: "Delete %{model}" - details: "%{model} Details" - cancel: "Cancel" - empty: "Empty" - previous: "Previous" - next: "Next" - download: "Download:" - has_many_new: "Add New %{model}" - has_many_delete: "Delete" - has_many_remove: "Remove" - move: "Move" - filters: - buttons: - filter: "Filter" - clear: "Clear Filters" - predicates: - from: "From" - to: "To" - scopes: - all: "All" - search_status: - title: "Active Search" - title_with_scope: "Active Search for %{name}" - no_current_filters: "No filters applied" - status_tag: - "yes": "Yes" - "no": "No" - "unset": "Unknown" - toggle_dark_mode: Toggle dark mode - toggle_main_navigation_menu: Toggle main navigation menu - toggle_section: Toggle section - toggle_user_menu: Toggle user menu - logout: "Sign out" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filters" - search_status: "Search Status" - pagination: - empty: "No %{model} found" - one: "Showing 1 of 1" - one_page: "Showing all %{n}" - multiple: "Showing %{from}-%{to} of %{total}" - multiple_without_total: "Showing %{from}-%{to}" - per_page: "Per page " - previous: "Previous" - next: "Next" - entry: - one: "entry" - other: "entries" - any: "Any" - blank_slate: - content: "There are no %{resource_name} yet." - link: "Create one" + access_denied: + message: You are not authorized to perform this action. + any: Any batch_actions: - button_label: "Batch Actions" - default_confirmation: "Are you sure you want to do this?" - delete_confirmation: "Are you sure you want to delete these %{plural_model}?" - succesfully_destroyed: - one: "Successfully deleted 1 %{model}" - other: "Successfully deleted %{count} %{plural_model}" - selection_toggle_explanation: "(Toggle Selection)" action_label: "%{title} Selected" + button_label: Batch Actions + default_confirmation: Are you sure you want to do this? + delete_confirmation: Are you sure you want to delete these %{plural_model}? labels: - destroy: "Delete" + destroy: Delete + selection_toggle_explanation: "(Toggle Selection)" + successfully_destroyed: + one: Successfully deleted 1 %{model} + other: Successfully deleted %{count} %{plural_model} + blank_slate: + content: There are no %{resource_name} yet. + link: Create one + cancel: Cancel comments: - created_at: "Created" - resource_type: "Resource Type" - author_type: "Author Type" - body: "Body" - author: "Author" - add: "Add Comment" - delete: "Delete Comment" - delete_confirmation: "Are you sure you want to delete this comment?" - resource: "Resource" - no_comments_yet: "No comments yet." - author_missing: "Anonymous" - title_content: "All Comments (%{count})" + add: Add Comment + author: Author + author_missing: Anonymous + author_type: Author Type + body: Body + created_at: Created + delete: Delete Comment + delete_confirmation: Are you sure you want to delete this comment? errors: - empty_text: "Comment wasn't saved, text was empty." + empty_text: Comment wasn't saved, text was empty. + no_comments_yet: No comments yet. + resource: Resource + resource_type: Resource Type + title_content: All Comments (%{count}) + create_another: Create another %{model} + dashboard: Dashboard + delete: Delete + delete_confirmation: Are you sure you want to delete this? + delete_model: Delete %{model} + details: "%{model} Details" devise: - username: - title: "Username" + change_password: + submit: Change my password + title: Change your password email: - title: "Email" - subdomain: - title: "Subdomain" + title: Email + links: + forgot_your_password: Forgot your password? + resend_confirmation_instructions: Resend confirmation instructions + resend_unlock_instructions: Resend unlock instructions + sign_in: Sign in + sign_in_with_omniauth_provider: Sign in with %{provider} + sign_up: Sign up + login: + remember_me: Remember me + submit: Sign In + title: Sign In password: - title: "Password" + title: Password password_confirmation: - title: "Confirm Password" - sign_up: - title: "Sign up" - submit: "Sign up" - login: - title: "Sign In" - remember_me: "Remember me" - submit: "Sign In" + title: Confirm Password + resend_confirmation_instructions: + submit: Resend confirmation instructions + title: Resend confirmation instructions reset_password: - title: "Forgot your password?" - submit: "Reset My Password" - change_password: - title: "Change your password" - submit: "Change my password" + submit: Reset My Password + title: Forgot your password? + sign_up: + submit: Sign up + title: Sign up + subdomain: + title: Subdomain unlock: - title: "Resend unlock instructions" - submit: "Resend unlock instructions" - resend_confirmation_instructions: - title: "Resend confirmation instructions" - submit: "Resend confirmation instructions" - links: - sign_up: "Sign up" - sign_in: "Sign in" - forgot_your_password: "Forgot your password?" - sign_in_with_omniauth_provider: "Sign in with %{provider}" - resend_unlock_instructions: "Resend unlock instructions" - resend_confirmation_instructions: "Resend confirmation instructions" - access_denied: - message: "You are not authorized to perform this action." + submit: Resend unlock instructions + title: Resend unlock instructions + username: + title: Username + download: 'Download:' + edit: Edit + edit_model: Edit %{model} + empty: Empty + filters: + buttons: + clear: Clear Filters + filter: Filter + predicates: + from: From + to: To + has_many_delete: Delete + has_many_new: Add New %{model} + has_many_remove: Remove index_list: - table: "Table" + table: Table + logout: Sign out + move: Move + new_model: New %{model} + next: Next + pagination: + empty: No %{model} found + entry: + one: entry + other: entries + multiple: Showing %{from}-%{to} of %{total} + multiple_without_total: Showing %{from}-%{to} + next: Next + one: Showing 1 of 1 + one_page: Showing all %{n} + per_page: 'Per page ' + previous: Previous + truncate: "…" + powered_by: Powered by %{active_admin} %{version} + previous: Previous + scopes: + all: All + search_status: + no_current_filters: No filters applied + title: Active Search + title_with_scope: Active Search for %{name} + sidebars: + filters: Filters + search_status: Search Status + status_tag: + 'no': 'No' + unset: Unknown + 'yes': 'Yes' + toggle_dark_mode: Toggle dark mode + toggle_main_navigation_menu: Toggle main navigation menu + toggle_section: Toggle section + toggle_user_menu: Toggle user menu + view: View + activerecord: + attributes: + active_admin/comment: + author_type: Author type + body: Body + created_at: Created + namespace: Namespace + resource_type: Resource type + updated_at: Updated + models: + active_admin/comment: + one: Comment + other: Comments + comment: + one: Comment + other: Comments diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 7e2a21ad80d..d9df1356668 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -1,120 +1,121 @@ +--- eo: active_admin: - dashboard: Panelo - view: "Vidi" - edit: "Redakti" - delete: "Forigi" - delete_confirmation: "Ĉu vi certas, ke vi volas forigi tion?" - create_another: "Krei alian %{model}" - new_model: "Nova %{model}" - edit_model: "Redakti %{model}" - delete_model: "Forigi %{model}" - details: "Detaloj de %{model}" - cancel: "Nuligi" - empty: "Malplena" - previous: "Antaŭa" - next: "Sekva" - download: "Elŝuti:" - has_many_new: "Aldoni novan %{model}" - has_many_delete: "Forigi" - has_many_remove: "Forigi" - move: "Movi" - filters: - buttons: - filter: "Filtri" - clear: "Viŝi filtrilojn" - predicates: - from: "De" - to: "Al" - search_status: - no_current_filters: "Neniu" - status_tag: - "yes": "Jes" - "no": "Ne" - "unset": "Ne" - logout: "Elsaluti" - powered_by: "Povigita de %{active_admin} %{version}" - sidebars: - filters: "Filtriloj" - search_status: "Serĉstato" - pagination: - empty: "Neniu %{model} trovita" - one: "Montras 1 %{model}" - one_page: "Montras ĉiujn %{n} %{model}" - multiple: "Montras %{model} %{from} - %{to} de %{total} entute" - multiple_without_total: "Montras %{model} %{from} - %{to}" - per_page: "Paĝe: " - entry: - one: "ero" - other: "eroj" - any: "Ĉiuj" - blank_slate: - content: "Ankoraŭ ne estas %{resource_name}." - link: "Krei novan" + access_denied: + message: Vi ne rajtas fari tiun agon. + any: Ĉiuj batch_actions: - button_label: "Amasagoj" - default_confirmation: "Ĉu vi certas, ke vi volas fari tion?" - delete_confirmation: "Ĉu vi certas, ke vi volas forigi tiujn %{plural_model}?" - succesfully_destroyed: - one: "1 %{model} sukcese forigita" - other: "%{count} %{plural_model} sukcese forigitaj" - selection_toggle_explanation: "(Baskuligi elekton)" action_label: "%{title} elektita" + button_label: Amasagoj + default_confirmation: Ĉu vi certas, ke vi volas fari tion? + delete_confirmation: Ĉu vi certas, ke vi volas forigi tiujn %{plural_model}? labels: - destroy: "Forigi" + destroy: Forigi + selection_toggle_explanation: "(Baskuligi elekton)" + successfully_destroyed: + one: 1 %{model} sukcese forigita + other: "%{count} %{plural_model} sukcese forigitaj" + blank_slate: + content: Ankoraŭ ne estas %{resource_name}. + link: Krei novan + cancel: Nuligi comments: - created_at: "Kreita" - resource_type: "Resursotipo" - author_type: "Aŭtorotipo" - body: "Enhavo" - author: "Aŭtoro" - add: "Aldoni komenton" - delete: "Forigi komenton" - delete_confirmation: "Ĉu vi certas, ke vi volas forigi tiun komenton?" - resource: "Resurso" - no_comments_yet: "Ankoraŭ neniu komento." - author_missing: "Anonimulo" - title_content: "Komentoj (%{count})" + add: Aldoni komenton + author: Aŭtoro + author_missing: Anonimulo + author_type: Aŭtorotipo + body: Enhavo + created_at: Kreita + delete: Forigi komenton + delete_confirmation: Ĉu vi certas, ke vi volas forigi tiun komenton? errors: - empty_text: "La komento ne estis konservita, la teksto estis malplena." + empty_text: La komento ne estis konservita, la teksto estis malplena. + no_comments_yet: Ankoraŭ neniu komento. + resource: Resurso + resource_type: Resursotipo + title_content: Komentoj (%{count}) + create_another: Krei alian %{model} + dashboard: Panelo + delete: Forigi + delete_confirmation: Ĉu vi certas, ke vi volas forigi tion? + delete_model: Forigi %{model} + details: Detaloj de %{model} devise: - username: - title: "Uzantnomo" + change_password: + submit: Ŝanĝi mian pasvorton + title: Ŝanĝi vian pasvorton email: - title: "Retpoŝtadreso" - subdomain: - title: "Subdomajno" + title: Retpoŝtadreso + links: + forgot_your_password: Ĉu vi forgesis vian pasvorton? + resend_confirmation_instructions: Resendi klarigojn por konfirmi + resend_unlock_instructions: Resendi klarigojn por malŝlosi + sign_in: Ensaluti + sign_in_with_omniauth_provider: Ensaluti per %{provider} + sign_up: Registriĝi + login: + remember_me: Memori min + submit: Ensaluti + title: Ensaluti password: - title: "Pasvorto" + title: Pasvorto password_confirmation: - title: "Konfirmi pasvorton" - sign_up: - title: "Registriĝi" - submit: "Registriĝi" - login: - title: "Ensaluti" - remember_me: "Memori min" - submit: "Ensaluti" + title: Konfirmi pasvorton + resend_confirmation_instructions: + submit: Resendi klarigojn por konfirmi + title: Resendi klarigojn por konfirmi reset_password: - title: "Ĉu vi forgesis vian pasvorton?" - submit: "Restarigi mian pasvorton" - change_password: - title: "Ŝanĝi vian pasvorton" - submit: "Ŝanĝi mian pasvorton" + submit: Restarigi mian pasvorton + title: Ĉu vi forgesis vian pasvorton? + sign_up: + submit: Registriĝi + title: Registriĝi + subdomain: + title: Subdomajno unlock: - title: "Resendi klarigojn por malŝlosi" - submit: "Resendi klarigojn por malŝlosi" - resend_confirmation_instructions: - title: "Resendi klarigojn por konfirmi" - submit: "Resendi klarigojn por konfirmi" - links: - sign_up: "Registriĝi" - sign_in: "Ensaluti" - forgot_your_password: "Ĉu vi forgesis vian pasvorton?" - sign_in_with_omniauth_provider: "Ensaluti per %{provider}" - resend_unlock_instructions: "Resendi klarigojn por malŝlosi" - resend_confirmation_instructions: "Resendi klarigojn por konfirmi" - access_denied: - message: "Vi ne rajtas fari tiun agon." + submit: Resendi klarigojn por malŝlosi + title: Resendi klarigojn por malŝlosi + username: + title: Uzantnomo + download: 'Elŝuti:' + edit: Redakti + edit_model: Redakti %{model} + empty: Malplena + filters: + buttons: + clear: Viŝi filtrilojn + filter: Filtri + predicates: + from: De + to: Al + has_many_delete: Forigi + has_many_new: Aldoni novan %{model} + has_many_remove: Forigi index_list: - table: "Tabelo" + table: Tabelo + logout: Elsaluti + move: Movi + new_model: Nova %{model} + next: Sekva + pagination: + empty: Neniu %{model} trovita + entry: + one: ero + other: eroj + multiple: Montras %{model} %{from} - %{to} de %{total} entute + multiple_without_total: Montras %{model} %{from} - %{to} + one: Montras 1 %{model} + one_page: Montras ĉiujn %{n} %{model} + per_page: 'Paĝe: ' + powered_by: Povigita de %{active_admin} %{version} + previous: Antaŭa + search_status: + no_current_filters: Neniu + sidebars: + filters: Filtriloj + search_status: Serĉstato + status_tag: + 'no': Ne + unset: Ne + 'yes': Jes + view: Vidi diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index 7beae9c0a5c..9cf3d0acbd6 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -1,81 +1,82 @@ +--- es-MX: active_admin: - dashboard: Inicio - view: "Ver" - edit: "Editar" - delete: "Eliminar" - delete_confirmation: "¿Está seguro de que quiere eliminar esto?" - new_model: "Añadir %{model}" - edit_model: "Editar %{model}" - delete_model: "Eliminar %{model}" - details: "Detalles de %{model}" - cancel: "Cancelar" - empty: "Vacío" - previous: "Anterior" - next: "Siguiente" - download: "Descargar:" - has_many_new: "Añadir %{model}" - has_many_delete: "Eliminar" - has_many_remove: "Quitar" - filters: - buttons: - filter: "Filtrar" - clear: "Quitar Filtros" - status_tag: - "yes": "Sí" - "no": "No" - "unset": "No" - logout: "Salir" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtros" - pagination: - empty: "No se han encontrado %{model}" - one: "Mostrando 1 %{model}" - one_page: "Mostrando un total de %{n} %{model}" - multiple: "Mostrando %{model} %{from} - %{to} de un total de %{total}" - entry: - one: - other: - blank_slate: - content: "No hay %{resource_name} aún." - link: "Añadir" - any: "Cualquiera" + any: Cualquiera batch_actions: - button_label: "Acciones en masa" - default_confirmation: "¿Seguro que quieres hacer esto?" - delete_confirmation: "Eliminar %{plural_model}: ¿Está seguro?" - succesfully_destroyed: - one: "Se ha destruido 1 %{model} con éxito" - other: "Se han destruido %{count} %{plural_model} con éxito" - selection_toggle_explanation: "(Cambiar selección)" action_label: "%{title} seleccionados" + button_label: Acciones en masa + default_confirmation: "¿Seguro que quieres hacer esto?" + delete_confirmation: 'Eliminar %{plural_model}: ¿Está seguro?' labels: - destroy: "Borrar" + destroy: Borrar + selection_toggle_explanation: "(Cambiar selección)" + successfully_destroyed: + one: Se ha destruido 1 %{model} con éxito + other: Se han destruido %{count} %{plural_model} con éxito + blank_slate: + content: No hay %{resource_name} aún. + link: Añadir + cancel: Cancelar comments: - body: "Cuerpo" - author: "Autor" - add: "Comentar" - resource: "Recurso" - no_comments_yet: "Aún sin comentarios." - title_content: "Comentarios (%{count})" + add: Comentar + author: Autor + body: Cuerpo errors: - empty_text: "El comentario no fue guardado, el texto estaba vacío." + empty_text: El comentario no fue guardado, el texto estaba vacío. + no_comments_yet: Aún sin comentarios. + resource: Recurso + title_content: Comentarios (%{count}) + dashboard: Inicio + delete: Eliminar + delete_confirmation: "¿Está seguro de que quiere eliminar esto?" + delete_model: Eliminar %{model} + details: Detalles de %{model} devise: - login: - title: "Iniciar Sesión" - remember_me: "Recordarme" - submit: "Iniciar Sesión" - reset_password: - title: "¿Olvidó su contraseña?" - submit: "Restablecer mi contraseña" change_password: - title: "Cambie su contraseña" - submit: "Cambiar mi contraseña" + submit: Cambiar mi contraseña + title: Cambie su contraseña links: - sign_in: "Iniciar Sesión" - sign_up: "Registrarse" forgot_your_password: "¿Olvidó su contraseña?" - sign_in_with_omniauth_provider: "Conéctate con %{provider}" + sign_in: Iniciar Sesión + sign_in_with_omniauth_provider: Conéctate con %{provider} + sign_up: Registrarse + login: + remember_me: Recordarme + submit: Iniciar Sesión + title: Iniciar Sesión + reset_password: + submit: Restablecer mi contraseña + title: "¿Olvidó su contraseña?" + download: 'Descargar:' + edit: Editar + edit_model: Editar %{model} + empty: Vacío + filters: + buttons: + clear: Quitar Filtros + filter: Filtrar + has_many_delete: Eliminar + has_many_new: Añadir %{model} + has_many_remove: Quitar index_list: - table: "Tabla" + table: Tabla + logout: Salir + new_model: Añadir %{model} + next: Siguiente + pagination: + empty: No se han encontrado %{model} + entry: + one: + other: + multiple: Mostrando %{model} %{from} - %{to} de un total de %{total} + one: Mostrando 1 %{model} + one_page: Mostrando un total de %{n} %{model} + powered_by: Powered by %{active_admin} %{version} + previous: Anterior + sidebars: + filters: Filtros + status_tag: + 'no': 'No' + unset: 'No' + 'yes': Sí + view: Ver diff --git a/config/locales/es.yml b/config/locales/es.yml index c39ddb4c544..4bdb605c202 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -1,144 +1,145 @@ +--- es: - activerecord: - models: - comment: - one: "Comentario" - other: "Comentarios" - active_admin/comment: - one: "Comentario" - other: "Comentarios" - attributes: - active_admin/comment: - namespace: "Espacio de nombres" - body: "Cuerpo" - resource_type: "Tipo de recurso" - author_type: "Tipo de autor" - created_at: "Fecha de creación" - updated_at: "Fecha de actualización" active_admin: - dashboard: "Inicio" - view: "Ver" - edit: "Editar" - delete: "Eliminar" - delete_confirmation: "¿Confirma que desea borrar este elemento?" - create_another: "Crear otro %{model}" - new_model: "Añadir %{model}" - edit_model: "Editar %{model}" - delete_model: "Eliminar %{model}" - details: "Detalles de %{model}" - cancel: "Cancelar" - empty: "Vacío" - previous: "Anterior" - next: "Siguiente" - download: "Descargar:" - has_many_new: "Añadir %{model}" - has_many_delete: "Eliminar" - has_many_remove: "Quitar" - move: "Mover" - toggle_dark_mode: "Alternar modo oscuro" - toggle_main_navigation_menu: "Alternar el menú de navegación principal" - toggle_user_menu: "Alternar menú de usuario" - toggle_section: "Alternar sección" - filters: - buttons: - filter: "Filtrar" - clear: "Quitar Filtros" - predicates: - from: "Desde" - to: "Hasta" - scopes: - all: "Todos" - search_status: - no_current_filters: "Ninguno" - status_tag: - "yes": "Sí" - "no": "No" - "unset": "No" - logout: "Salir" - powered_by: "Funciona con %{active_admin} %{version}" - sidebars: - filters: "Filtros" - search_status: "Estado de la búsqueda" - pagination: - empty: "No se han encontrado %{model}" - one: "Mostrando 1 %{model}" - one_page: "Mostrando un total de %{n} %{model}" - multiple: "Mostrando %{model} %{from} - %{to} de un total de %{total}" - multiple_without_total: "Mostrando %{model} %{from} - %{to}" - per_page: "Por página: " - previous: "Anterior" - next: "Siguiente" - entry: - one: "registro" - other: "registros" - any: "Cualquiera" - blank_slate: - content: "No hay %{resource_name} aún." - link: "Añadir" + access_denied: + message: No está autorizado/a a realizar esta acción. + any: Cualquiera batch_actions: - button_label: "Acciones en masa" - default_confirmation: "¿Seguro que quieres hacer esto?" - delete_confirmation: "Se eliminarán %{plural_model}. ¿Desea continuar?" - succesfully_destroyed: - one: "Se ha destruido 1 %{model} con éxito" - other: "Se han destruido %{count} %{plural_model} con éxito" - selection_toggle_explanation: "(Cambiar selección)" action_label: "%{title} seleccionados" + button_label: Acciones en masa + default_confirmation: "¿Seguro que quieres hacer esto?" + delete_confirmation: Se eliminarán %{plural_model}. ¿Desea continuar? labels: - destroy: "Borrar" + destroy: Borrar + selection_toggle_explanation: "(Cambiar selección)" + successfully_destroyed: + one: Se ha destruido 1 %{model} con éxito + other: Se han destruido %{count} %{plural_model} con éxito + blank_slate: + content: No hay %{resource_name} aún. + link: Añadir + cancel: Cancelar comments: - created_at: "Fecha de creación" - resource_type: "Tipo de recurso" - author_type: "Tipo de autor" - body: "Cuerpo" - author: "Autor" - add: "Comentar" - delete: "Borrar Comentario" + add: Comentar + author: Autor + author_missing: Anónimo + author_type: Tipo de autor + body: Cuerpo + created_at: Fecha de creación + delete: Borrar Comentario delete_confirmation: "¿Confirma que desea borrar este comentario?" - resource: "Recurso" - no_comments_yet: "No hay comentarios aún." - author_missing: "Anónimo" - title_content: "Comentarios (%{count})" errors: - empty_text: "El comentario no fue guardado, el texto estaba vacío." + empty_text: El comentario no fue guardado, el texto estaba vacío. + no_comments_yet: No hay comentarios aún. + resource: Recurso + resource_type: Tipo de recurso + title_content: Comentarios (%{count}) + create_another: Crear otro %{model} + dashboard: Inicio + delete: Eliminar + delete_confirmation: "¿Confirma que desea borrar este elemento?" + delete_model: Eliminar %{model} + details: Detalles de %{model} devise: - username: - title: "Nombre de usuario" + change_password: + submit: Cambiar mi contraseña + title: Cambie su contraseña email: - title: "Email" - subdomain: - title: "Subdominio" + title: Email + links: + forgot_your_password: "¿Olvidó su contraseña?" + resend_confirmation_instructions: Reenviar instrucciones de confirmación + resend_unlock_instructions: Reenviar instrucciones de desbloqueo + sign_in: Iniciar Sesión + sign_in_with_omniauth_provider: Conéctate con %{provider} + sign_up: Registrarse + login: + remember_me: Recordarme + submit: Iniciar Sesión + title: Iniciar Sesión password: - title: "Contraseña" + title: Contraseña password_confirmation: - title: "Confirmar Contraseña" - sign_up: - title: "Registrarse" - submit: "Registrarse" - login: - title: "Iniciar Sesión" - remember_me: "Recordarme" - submit: "Iniciar Sesión" + title: Confirmar Contraseña + resend_confirmation_instructions: + submit: Reenviar instrucciones de confirmación + title: Reenviar instrucciones de confirmación reset_password: + submit: Restablecer mi contraseña title: "¿Olvidó su contraseña?" - submit: "Restablecer mi contraseña" - change_password: - title: "Cambie su contraseña" - submit: "Cambiar mi contraseña" + sign_up: + submit: Registrarse + title: Registrarse + subdomain: + title: Subdominio unlock: - title: "Reenviar instrucciones de desbloqueo" - submit: "Reenviar instrucciones de desbloqueo" - resend_confirmation_instructions: - title: "Reenviar instrucciones de confirmación" - submit: "Reenviar instrucciones de confirmación" - links: - sign_up: "Registrarse" - sign_in: "Iniciar Sesión" - forgot_your_password: "¿Olvidó su contraseña?" - sign_in_with_omniauth_provider: "Conéctate con %{provider}" - resend_unlock_instructions: "Reenviar instrucciones de desbloqueo" - resend_confirmation_instructions: "Reenviar instrucciones de confirmación" - access_denied: - message: "No está autorizado/a a realizar esta acción." + submit: Reenviar instrucciones de desbloqueo + title: Reenviar instrucciones de desbloqueo + username: + title: Nombre de usuario + download: 'Descargar:' + edit: Editar + edit_model: Editar %{model} + empty: Vacío + filters: + buttons: + clear: Quitar Filtros + filter: Filtrar + predicates: + from: Desde + to: Hasta + has_many_delete: Eliminar + has_many_new: Añadir %{model} + has_many_remove: Quitar index_list: - table: "Tabla" + table: Tabla + logout: Salir + move: Mover + new_model: Añadir %{model} + next: Siguiente + pagination: + empty: No se han encontrado %{model} + entry: + one: registro + other: registros + multiple: Mostrando %{model} %{from} - %{to} de un total de %{total} + multiple_without_total: Mostrando %{model} %{from} - %{to} + next: Siguiente + one: Mostrando 1 %{model} + one_page: Mostrando un total de %{n} %{model} + per_page: 'Por página: ' + previous: Anterior + powered_by: Funciona con %{active_admin} %{version} + previous: Anterior + scopes: + all: Todos + search_status: + no_current_filters: Ninguno + sidebars: + filters: Filtros + search_status: Estado de la búsqueda + status_tag: + 'no': 'No' + unset: 'No' + 'yes': Sí + toggle_dark_mode: Alternar modo oscuro + toggle_main_navigation_menu: Alternar el menú de navegación principal + toggle_section: Alternar sección + toggle_user_menu: Alternar menú de usuario + view: Ver + activerecord: + attributes: + active_admin/comment: + author_type: Tipo de autor + body: Cuerpo + created_at: Fecha de creación + namespace: Espacio de nombres + resource_type: Tipo de recurso + updated_at: Fecha de actualización + models: + active_admin/comment: + one: Comentario + other: Comentarios + comment: + one: Comentario + other: Comentarios diff --git a/config/locales/fa.yml b/config/locales/fa.yml index e475a9b6f1d..cbbf6cbec30 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -1,103 +1,104 @@ +--- fa: active_admin: - dashboard: "داشبرد" - view: "نمایش" - edit: "ویرایش" - delete: "حذف" - delete_confirmation: "آیا برای حذف این آیتم اطمینان دارید؟" - new_model: "%{model} جدید" - edit_model: "ویرایش %{model}" - delete_model: "حذف %{model}" - details: "جزئیات %{model}" - cancel: "لغو" - empty: "خالی" - previous: "قبلی" - next: "بعدی" - download: "دریافت:" - has_many_new: "اضافه کردن %{model} جدید" - has_many_delete: "حذف" - has_many_remove: "حذف" - filters: - buttons: - filter: "فیلتر" - clear: "پاک کردن فیلتر" - status_tag: - "yes": "بله" - "no": "بدون" - "unset": "بدون" - logout: "خروج" - powered_by: "قدرت گرفته از %{active_admin} %{version}" - sidebars: - filters: "فیلتر‌ها" - pagination: - empty: "هیچ رکورد %{model} یافت نشد" - one: "نمایش 1 %{model}" - one_page: "نمایش همه %{n} %{model}" - multiple: "نمایش %{model} %{from} - %{to} از کل %{total} رکورد" - multiple_without_total: "نمایش %{model} %{from} - %{to}" - entry: - one: "آیتم" - other: "آیتم‌ها" - any: "هرکدام" - blank_slate: - content: "هنوز هیچ رکوردی از %{resource_name} درج نشده." - link: "درج اولین رکورد" + access_denied: + message: شما دسترسی لازم برای انجام این عملیات را ندارید. + any: هرکدام batch_actions: - button_label: "عملیات‌های دسته‌ای" - default_confirmation: "آیا برای اجرای این عملیات اطمینان دارید؟" - delete_confirmation: "آیا برای حذف همه رکوردهای %{plural_model} اطمینان دارید؟" - succesfully_destroyed: - one: "1 %{model} با موفقیت حذف شد" - other: "%{count} %{plural_model} با موفقت حذف شدند." - selection_toggle_explanation: "(انتخاب‌ها برعکس شوند)" action_label: "%{title} انتخاب شده است" + button_label: عملیات‌های دسته‌ای + default_confirmation: آیا برای اجرای این عملیات اطمینان دارید؟ + delete_confirmation: آیا برای حذف همه رکوردهای %{plural_model} اطمینان دارید؟ labels: - destroy: "حذف" + destroy: حذف + selection_toggle_explanation: "(انتخاب‌ها برعکس شوند)" + successfully_destroyed: + one: 1 %{model} با موفقیت حذف شد + other: "%{count} %{plural_model} با موفقت حذف شدند." + blank_slate: + content: هنوز هیچ رکوردی از %{resource_name} درج نشده. + link: درج اولین رکورد + cancel: لغو comments: - resource_type: "نوع رکورد" - author_type: "نوع ایجاد کننده" - body: "بدنه" - author: "ایجاد کننده" - add: "افزودن کامنت" - resource: "رکورد" - no_comments_yet: "هنوز هیچ کامنتی نوشته نشده." - author_missing: "بی‌نام" - title_content: "کامنت‌ها (%{count})" + add: افزودن کامنت + author: ایجاد کننده + author_missing: بی‌نام + author_type: نوع ایجاد کننده + body: بدنه errors: - empty_text: "کامنت درج نشد، متن کامنت خالی بود." + empty_text: کامنت درج نشد، متن کامنت خالی بود. + no_comments_yet: هنوز هیچ کامنتی نوشته نشده. + resource: رکورد + resource_type: نوع رکورد + title_content: کامنت‌ها (%{count}) + dashboard: داشبرد + delete: حذف + delete_confirmation: آیا برای حذف این آیتم اطمینان دارید؟ + delete_model: حذف %{model} + details: جزئیات %{model} devise: - username: - title: "نام کاربری" + change_password: + submit: تغییر کلمه عبور + title: تغییر کلمه عبور email: - title: "ایمیل" - subdomain: - title: "Subdomain" - password: - title: "کلمه‌عبور" - sign_up: - title: "ثبت‌نام" - submit: "ثبت‌نام" + title: ایمیل + links: + forgot_your_password: کلمه عبور را فراموش کرده‌اید؟ + sign_in: ورود + sign_in_with_omniauth_provider: ورود با حساب %{provider} login: - title: "ورود" - remember_me: "مرا به خاطر بسپار" - submit: "ورود" + remember_me: مرا به خاطر بسپار + submit: ورود + title: ورود + password: + title: کلمه‌عبور + resend_confirmation_instructions: + submit: ارسال مجدد تاییدیه ایمیل + title: ارسال مجدد تاییدیه ایمیل reset_password: - title: "کلمه عبور را فراموش کرده‌اید؟" - submit: "دریافت کلمه عبور جدید" - change_password: - title: "تغییر کلمه عبور" - submit: "تغییر کلمه عبور" + submit: دریافت کلمه عبور جدید + title: کلمه عبور را فراموش کرده‌اید؟ + sign_up: + submit: ثبت‌نام + title: ثبت‌نام + subdomain: + title: Subdomain unlock: - title: "ارسال مجدد دستورالعمل بازگشایی حساب کاربری" - submit: "ارسال مجدد دستورالعمل بازگشایی حساب کاربری" - resend_confirmation_instructions: - title: "ارسال مجدد تاییدیه ایمیل" - submit: "ارسال مجدد تاییدیه ایمیل" - links: - sign_in: "ورود" - forgot_your_password: "کلمه عبور را فراموش کرده‌اید؟" - sign_in_with_omniauth_provider: "ورود با حساب %{provider}" - access_denied: - message: "شما دسترسی لازم برای انجام این عملیات را ندارید." + submit: ارسال مجدد دستورالعمل بازگشایی حساب کاربری + title: ارسال مجدد دستورالعمل بازگشایی حساب کاربری + username: + title: نام کاربری + download: 'دریافت:' + edit: ویرایش + edit_model: ویرایش %{model} + empty: خالی + filters: + buttons: + clear: پاک کردن فیلتر + filter: فیلتر + has_many_delete: حذف + has_many_new: اضافه کردن %{model} جدید + has_many_remove: حذف index_list: - table: "جدول" + table: جدول + logout: خروج + new_model: "%{model} جدید" + next: بعدی + pagination: + empty: هیچ رکورد %{model} یافت نشد + entry: + one: آیتم + other: آیتم‌ها + multiple: نمایش %{model} %{from} - %{to} از کل %{total} رکورد + multiple_without_total: نمایش %{model} %{from} - %{to} + one: نمایش 1 %{model} + one_page: نمایش همه %{n} %{model} + powered_by: قدرت گرفته از %{active_admin} %{version} + previous: قبلی + sidebars: + filters: فیلتر‌ها + status_tag: + 'no': بدون + unset: بدون + 'yes': بله + view: نمایش diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 3747ef52193..0daaeef830f 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -1,96 +1,97 @@ +--- fi: active_admin: - dashboard: Etusivu - view: "Katso" - edit: "Muokkaa" - delete: "Poista" - delete_confirmation: "Oletko varma, että haluat poistaa tämän?" - new_model: "Uusi %{model}" - edit_model: "Muokkaa %{model}" - delete_model: "Poista %{model}" - details: "%{model} Tiedot" - cancel: "Peruuta" - empty: "Tyhjä" - previous: "Edellinen" - next: "Seuraava" - download: "Lataa:" - has_many_new: "Lisää uusi %{model}" - has_many_delete: "Poista" - has_many_remove: "Poista" - filters: - buttons: - filter: "Hae" - clear: "Tyhjennä valinnat" - status_tag: - "yes": "Kyllä" - "no": "Ei" - "unset": "Ei" - logout: "Kirjaudu ulos" - powered_by: "Käyttää %{active_admin} %{version}:ia" - sidebars: - filters: "Haku" - pagination: - empty: "%{model}:ia ei löytynyt" - one: "Näytetään 1 %{model}" - one_page: "Näytetään kaikki %{n} %{model}:it" - multiple: "Näytetään %{model} %{from} - %{to} (yhteensä %{total})" - multiple_without_total: "Näytetään %{model} %{from} - %{to}" - entry: - one: "syöte" - other: "syötteet" - any: "mikä vain" - blank_slate: - content: "Järjestelmässä ei ole yhtään %{resource_name}:ia vielä." - link: "Luo ensimmäinen" + access_denied: + message: Sinulla ei ole oikeuksia suorittaa yrittämääsi toimintoa. + any: mikä vain batch_actions: - button_label: "Toimet" - default_confirmation: "Oletko varma, että haluat tehdä tämän?" - delete_confirmation: "Oletko varma, että haluat poistaa nämä %{plural_model}:t?" - succesfully_destroyed: - one: "1 %{model} poistettu" - other: "%{count} %{plural_model}:a poistettu" - selection_toggle_explanation: "(Vaihda valintaa)" action_label: "%{title} Valittu" + button_label: Toimet + default_confirmation: Oletko varma, että haluat tehdä tämän? + delete_confirmation: Oletko varma, että haluat poistaa nämä %{plural_model}:t? labels: - destroy: "Poista" + destroy: Poista + selection_toggle_explanation: "(Vaihda valintaa)" + successfully_destroyed: + one: 1 %{model} poistettu + other: "%{count} %{plural_model}:a poistettu" + blank_slate: + content: Järjestelmässä ei ole yhtään %{resource_name}:ia vielä. + link: Luo ensimmäinen + cancel: Peruuta comments: - resource_type: "Resurssityyppi" - author_type: "Luoja-tyyppi" - body: "Runko" - author: "Luoja" - add: "Lisää kommentti" - resource: "Resurssi" - no_comments_yet: "Ei kommentteja." - title_content: "Kommentteja (%{count})" + add: Lisää kommentti + author: Luoja + author_type: Luoja-tyyppi + body: Runko errors: - empty_text: "Kommenttia ei pystytty tallentamaan, et kirjoittanut kommenttitekstiä." + empty_text: Kommenttia ei pystytty tallentamaan, et kirjoittanut kommenttitekstiä. + no_comments_yet: Ei kommentteja. + resource: Resurssi + resource_type: Resurssityyppi + title_content: Kommentteja (%{count}) + dashboard: Etusivu + delete: Poista + delete_confirmation: Oletko varma, että haluat poistaa tämän? + delete_model: Poista %{model} + details: "%{model} Tiedot" devise: - username: - title: "Käyttäjänimi" + change_password: + submit: Vaihda salasana + title: Vaihda salasana email: - title: "Sähköposti" - subdomain: - title: "Subdomain" - password: - title: "Salasana" + title: Sähköposti + links: + forgot_your_password: Unohtunut salasana? + sign_in: Kirjaudu sisään + sign_in_with_omniauth_provider: Kirjaudu sisään %{provider}:ia käyttäen login: - title: "Sisäänkirjautuminen" - remember_me: "Muista minut" - submit: "Kirjaudu sisään" + remember_me: Muista minut + submit: Kirjaudu sisään + title: Sisäänkirjautuminen + password: + title: Salasana reset_password: - title: "Unohtunut salasana?" - submit: "Resetoi salasana" - change_password: - title: "Vaihda salasana" - submit: "Vaihda salasana" + submit: Resetoi salasana + title: Unohtunut salasana? + subdomain: + title: Subdomain unlock: - title: "Lähetä ohjeet lukituksen poistoon" - submit: "Lähetä ohjeet lukituksen poistoon" - links: - sign_in: "Kirjaudu sisään" - forgot_your_password: "Unohtunut salasana?" - sign_in_with_omniauth_provider: "Kirjaudu sisään %{provider}:ia käyttäen" - access_denied: - message: "Sinulla ei ole oikeuksia suorittaa yrittämääsi toimintoa." + submit: Lähetä ohjeet lukituksen poistoon + title: Lähetä ohjeet lukituksen poistoon + username: + title: Käyttäjänimi + download: 'Lataa:' + edit: Muokkaa + edit_model: Muokkaa %{model} + empty: Tyhjä + filters: + buttons: + clear: Tyhjennä valinnat + filter: Hae + has_many_delete: Poista + has_many_new: Lisää uusi %{model} + has_many_remove: Poista index_list: - table: "Taulukko" + table: Taulukko + logout: Kirjaudu ulos + new_model: Uusi %{model} + next: Seuraava + pagination: + empty: "%{model}:ia ei löytynyt" + entry: + one: syöte + other: syötteet + multiple: Näytetään %{model} %{from} - %{to} (yhteensä %{total}) + multiple_without_total: Näytetään %{model} %{from} - %{to} + one: Näytetään 1 %{model} + one_page: Näytetään kaikki %{n} %{model}:it + powered_by: Käyttää %{active_admin} %{version}:ia + previous: Edellinen + sidebars: + filters: Haku + status_tag: + 'no': Ei + unset: Ei + 'yes': Kyllä + view: Katso diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 351a05d34fb..1e5c4d0f0eb 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1,137 +1,138 @@ +--- fr: - activerecord: - models: - comment: - one: "Commentaire" - other: "Commentaires" - active_admin/comment: - one: "Commentaire" - other: "Commentaires" - attributes: - active_admin/comment: - author_type: "Type d'auteur" - body: "Corps" - created_at: "Créé le" - namespace: "Espace de nom" - resource_type: "Type de ressource" - updated_at: "Mis à jour le" active_admin: - dashboard: "Tableau de bord" - view: "Voir" - edit: "Modifier" - delete: "Supprimer" - delete_confirmation: "Voulez-vous vraiment supprimer ceci ?" - create_another: "Créer autre %{model}" - new_model: "Créer %{model}" - edit_model: "Modifier %{model}" - delete_model: "Supprimer %{model}" - details: "Détails de %{model}" - cancel: "Annuler" - empty: "Vide" - previous: "Précédent" - next: "Suivant" - download: "Télécharger :" - has_many_new: "Ajouter un(e) %{model}" - has_many_delete: "Supprimer" - has_many_remove: "Enlever" - filters: - buttons: - filter: "Filtrer" - clear: "Supprimer les filtres" - predicates: - from: "De" - to: "À" - search_status: - title: "Recherche active" - title_with_scope: "Recherche active pour %{name}" - no_current_filters: "Aucun filtre appliqué" - status_tag: - "yes": "Oui" - "no": "Non" - "unset": "Inconnu" - logout: "Déconnexion" - powered_by: "Propulsé par %{active_admin} %{version}" - sidebars: - filters: "Filtres" - search_status: "Statut de la recherche" - pagination: - empty: "Aucun(e) %{model} trouvé(e)" - one: "Affichage de 1 sur 1" - one_page: "Affichage de tous les %{n}" - multiple: "Affichage de %{from}-%{to} sur %{total}" - multiple_without_total: "Affichage de %{from}-%{to}" - per_page: "Par page " - previous: "Précédent" - next: "Suivant" - entry: - one: "entrée" - other: "entrées" - any: "N'importe lequel" - blank_slate: - content: "Il n'y a pas encore de %{resource_name}." - link: "Créez en un" + access_denied: + message: Vous n'êtes pas autorisé à exécuter cette action + any: N'importe lequel batch_actions: - button_label: "Actions groupées" - default_confirmation: "Voulez-vous vraiment faire cela ?" - delete_confirmation: "Voulez-vous vraiment supprimer ces %{plural_model} ?" - succesfully_destroyed: - one: "1 %{model} supprimé(e)" - other: "%{count} %{plural_model} supprimé(e)s" - selection_toggle_explanation: "(Inverser la sélection)" action_label: "%{title} les éléments sélectionnés" + button_label: Actions groupées + default_confirmation: Voulez-vous vraiment faire cela ? + delete_confirmation: Voulez-vous vraiment supprimer ces %{plural_model} ? labels: - destroy: "Supprimer" + destroy: Supprimer + selection_toggle_explanation: "(Inverser la sélection)" + successfully_destroyed: + one: 1 %{model} supprimé(e) + other: "%{count} %{plural_model} supprimé(e)s" + blank_slate: + content: Il n'y a pas encore de %{resource_name}. + link: Créez en un + cancel: Annuler comments: - created_at: "Créé le" - resource_type: "Type de ressource" - author_type: "Profil de l'auteur" - body: "Corps" - author: "Auteur" - add: "Ajouter un commentaire" - delete: "Supprimer ce commentaire" - delete_confirmation: "Voulez-vous vraiment supprimer ce commentaire ?" - resource: "Ressource" - no_comments_yet: "Aucun commentaire actuellement" - author_missing: "Anonyme" - title_content: "Tous les commentaires (%{count})" + add: Ajouter un commentaire + author: Auteur + author_missing: Anonyme + author_type: Profil de l'auteur + body: Corps + created_at: Créé le + delete: Supprimer ce commentaire + delete_confirmation: Voulez-vous vraiment supprimer ce commentaire ? errors: - empty_text: "Le commentaire n'a pas été enregistré puisque le texte était vide." + empty_text: Le commentaire n'a pas été enregistré puisque le texte était vide. + no_comments_yet: Aucun commentaire actuellement + resource: Ressource + resource_type: Type de ressource + title_content: Tous les commentaires (%{count}) + create_another: Créer autre %{model} + dashboard: Tableau de bord + delete: Supprimer + delete_confirmation: Voulez-vous vraiment supprimer ceci ? + delete_model: Supprimer %{model} + details: Détails de %{model} devise: - username: - title: "Nom d'utilisateur" + change_password: + submit: Changer mon mot de passe + title: Changez votre mot de passe email: - title: "Email" - subdomain: - title: "Sous-domaine" - password: - title: "Mot de passe" - sign_up: - title: "S'inscrire" - submit: "S'inscrire" + title: Email + links: + forgot_your_password: Vous avez oublié votre mot de passe ? + resend_confirmation_instructions: Renvoyer les instructions de confirmation + resend_unlock_instructions: Renvoyer les informations de déverrouillage + sign_in: Connectez-vous + sign_in_with_omniauth_provider: Connectez-vous avec %{provider} + sign_up: Inscrivez-vous login: - title: "Connexion" - remember_me: "Garder ma session ouverte" - submit: "Se connecter" + remember_me: Garder ma session ouverte + submit: Se connecter + title: Connexion + password: + title: Mot de passe + resend_confirmation_instructions: + submit: Renvoyer les instructions de confirmation + title: Renvoyer les instructions de confirmation reset_password: - title: "Vous avez oublié votre mot de passe ?" - submit: "Réinitialiser mon mot de passe" - change_password: - title: "Changez votre mot de passe" - submit: "Changer mon mot de passe" + submit: Réinitialiser mon mot de passe + title: Vous avez oublié votre mot de passe ? + sign_up: + submit: S'inscrire + title: S'inscrire + subdomain: + title: Sous-domaine unlock: - title: "Renvoyer les informations de déverrouillage" - submit: "Renvoyer les informations de déverrouillage" - resend_confirmation_instructions: - title: "Renvoyer les instructions de confirmation" - submit: "Renvoyer les instructions de confirmation" - links: - sign_up: "Inscrivez-vous" - sign_in: "Connectez-vous" - forgot_your_password: "Vous avez oublié votre mot de passe ?" - sign_in_with_omniauth_provider: "Connectez-vous avec %{provider}" - resend_unlock_instructions: "Renvoyer les informations de déverrouillage" - resend_confirmation_instructions: "Renvoyer les instructions de confirmation" - access_denied: - message: "Vous n'êtes pas autorisé à exécuter cette action" + submit: Renvoyer les informations de déverrouillage + title: Renvoyer les informations de déverrouillage + username: + title: Nom d'utilisateur + download: 'Télécharger :' + edit: Modifier + edit_model: Modifier %{model} + empty: Vide + filters: + buttons: + clear: Supprimer les filtres + filter: Filtrer + predicates: + from: De + to: À + has_many_delete: Supprimer + has_many_new: Ajouter un(e) %{model} + has_many_remove: Enlever index_list: - table: "Tableau" + table: Tableau + logout: Déconnexion + new_model: Créer %{model} + next: Suivant + pagination: + empty: Aucun(e) %{model} trouvé(e) + entry: + one: entrée + other: entrées + multiple: Affichage de %{from}-%{to} sur %{total} + multiple_without_total: Affichage de %{from}-%{to} + next: Suivant + one: Affichage de 1 sur 1 + one_page: Affichage de tous les %{n} + per_page: 'Par page ' + previous: Précédent + powered_by: Propulsé par %{active_admin} %{version} + previous: Précédent + search_status: + no_current_filters: Aucun filtre appliqué + title: Recherche active + title_with_scope: Recherche active pour %{name} + sidebars: + filters: Filtres + search_status: Statut de la recherche + status_tag: + 'no': Non + unset: Inconnu + 'yes': Oui + view: Voir + activerecord: + attributes: + active_admin/comment: + author_type: Type d'auteur + body: Corps + created_at: Créé le + namespace: Espace de nom + resource_type: Type de ressource + updated_at: Mis à jour le + models: + active_admin/comment: + one: Commentaire + other: Commentaires + comment: + one: Commentaire + other: Commentaires diff --git a/config/locales/he.yml b/config/locales/he.yml index 0d27d9b116a..fbbca6d504b 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -1,116 +1,117 @@ +--- he: active_admin: - dashboard: פנל ניהול - view: "צפייה" - edit: "עריכה" - delete: "מחיקה" - delete_confirmation: "האם אתה בטוח שאתה רוצה למחוק את זה?" - create_another: "צור עוד %{model}" - new_model: "%{model} חדש" - edit_model: "ערוך %{model}" - delete_model: "מחיקת %{model}" - details: "פרטים על %{model}" - cancel: "ביטול" - empty: "ריק" - previous: "הקודם" - next: "הבא" - download: "הורד:" - has_many_new: "הוספת %{model} חדש" - has_many_delete: "מחיקה" - has_many_remove: "להסיר" - filters: - buttons: - filter: "סינון" - clear: "איפוס שדות" - search_status: - no_current_filters: "ללא" - status_tag: - "yes": "כן" - "no": "לא" - "unset": "לא" - logout: "התנתקות" - powered_by: "ממונע בעזרת %{active_admin} %{version}" - sidebars: - filters: "סינון" - search_status: "מצב החיפוש" - pagination: - empty: "אין %{model} בנמצא" - one: "מציג 1 %{model}" - one_page: "הצגת כל %{n} %{model}" - multiple: "מציג %{model} %{from} - %{to} מתוך %{total} בסך הכל" - multiple_without_total: "מציג %{model} %{from} - %{to}" - per_page: "בדף: " - entry: - one: "רשומה בודדה" - other: "רשומות" - any: "Any" - blank_slate: - content: "כרגע אין עוד אף %{resource_name}." - link: "צור אחד" + access_denied: + message: אינך רשאי לבצע פעולה זו. + any: Any batch_actions: - button_label: "פעולות מרובות" - default_confirmation: "אתה בטוח שאתה רוצה לעשות את זה?" - delete_confirmation: "האם הנך בטוח שאתה רוצה למרוח את %{plural_model}?" - succesfully_destroyed: - one: "1 %{model} נמחק בהצלחה" - other: "%{count} %{plural_model} נמחק בהצלחה" - selection_toggle_explanation: "(שינוי בחירה)" action_label: "%{title} נבחר" + button_label: פעולות מרובות + default_confirmation: אתה בטוח שאתה רוצה לעשות את זה? + delete_confirmation: האם הנך בטוח שאתה רוצה למרוח את %{plural_model}? labels: - destroy: "מחק" + destroy: מחק + selection_toggle_explanation: "(שינוי בחירה)" + successfully_destroyed: + one: 1 %{model} נמחק בהצלחה + other: "%{count} %{plural_model} נמחק בהצלחה" + blank_slate: + content: כרגע אין עוד אף %{resource_name}. + link: צור אחד + cancel: ביטול comments: - created_at: "נוצר" - resource_type: "סוג רישום" - author_type: "סוג מחבר" - body: "תוכן" - author: 'נוצר ע"י' - add: "הוסף תגובה" - delete: "מחק תגובה" - delete_confirmation: "האם אתה בטוח שברצונך למחוק תגובה זאת?" - resource: "רשומה" - no_comments_yet: "אין עדיין תגובות." - author_missing: "אנונימי" - title_content: "תגובות (%{count})" + add: הוסף תגובה + author: נוצר ע"י + author_missing: אנונימי + author_type: סוג מחבר + body: תוכן + created_at: נוצר + delete: מחק תגובה + delete_confirmation: האם אתה בטוח שברצונך למחוק תגובה זאת? errors: - empty_text: "התגובה לא נשמרה, שדה התוכן ריק." + empty_text: התגובה לא נשמרה, שדה התוכן ריק. + no_comments_yet: אין עדיין תגובות. + resource: רשומה + resource_type: סוג רישום + title_content: תגובות (%{count}) + create_another: צור עוד %{model} + dashboard: פנל ניהול + delete: מחיקה + delete_confirmation: האם אתה בטוח שאתה רוצה למחוק את זה? + delete_model: מחיקת %{model} + details: פרטים על %{model} devise: - username: - title: "שם משתמש" + change_password: + submit: שנה את הסיסמא שלי + title: שנה את הסיסמא שלך email: - title: "כתובת דוא״ל" - subdomain: - title: "תת-דומיין" + title: כתובת דוא״ל + links: + forgot_your_password: שכחת את הסיסמא שלך? + resend_confirmation_instructions: שלח שוב הוראות אישור + resend_unlock_instructions: שלח שוב הוראות שיחרור + sign_in: כניסה + sign_in_with_omniauth_provider: "%{provider} היכנס עם" + sign_up: הרשמה + login: + remember_me: זכור אותי + submit: הכנס + title: כניסה password: - title: "סיסמא" + title: סיסמא password_confirmation: - title: "אישור סיסמא" - sign_up: - title: "הרשמה" - submit: "הרשמה" - login: - title: "כניסה" - remember_me: "זכור אותי" - submit: "הכנס" + title: אישור סיסמא + resend_confirmation_instructions: + submit: שלח שוב הוראות אישור + title: שלח שוב הוראות אישור reset_password: - title: "שכחת סיסמא?" - submit: "אפס את הסיסמא שלי" - change_password: - title: "שנה את הסיסמא שלך" - submit: "שנה את הסיסמא שלי" + submit: אפס את הסיסמא שלי + title: שכחת סיסמא? + sign_up: + submit: הרשמה + title: הרשמה + subdomain: + title: תת-דומיין unlock: - title: "שלח שוב הוראות שיחרור" - submit: "שלח שוב הוראות שיחרור" - resend_confirmation_instructions: - title: "שלח שוב הוראות אישור" - submit: "שלח שוב הוראות אישור" - links: - sign_up: "הרשמה" - sign_in: "כניסה" - forgot_your_password: "שכחת את הסיסמא שלך?" - sign_in_with_omniauth_provider: "%{provider} היכנס עם" - resend_unlock_instructions: "שלח שוב הוראות שיחרור" - resend_confirmation_instructions: "שלח שוב הוראות אישור" - access_denied: - message: "אינך רשאי לבצע פעולה זו." + submit: שלח שוב הוראות שיחרור + title: שלח שוב הוראות שיחרור + username: + title: שם משתמש + download: 'הורד:' + edit: עריכה + edit_model: ערוך %{model} + empty: ריק + filters: + buttons: + clear: איפוס שדות + filter: סינון + has_many_delete: מחיקה + has_many_new: הוספת %{model} חדש + has_many_remove: להסיר index_list: - table: "טבלה" + table: טבלה + logout: התנתקות + new_model: "%{model} חדש" + next: הבא + pagination: + empty: אין %{model} בנמצא + entry: + one: רשומה בודדה + other: רשומות + multiple: מציג %{model} %{from} - %{to} מתוך %{total} בסך הכל + multiple_without_total: מציג %{model} %{from} - %{to} + one: מציג 1 %{model} + one_page: הצגת כל %{n} %{model} + per_page: 'בדף: ' + powered_by: ממונע בעזרת %{active_admin} %{version} + previous: הקודם + search_status: + no_current_filters: ללא + sidebars: + filters: סינון + search_status: מצב החיפוש + status_tag: + 'no': לא + unset: לא + 'yes': כן + view: צפייה diff --git a/config/locales/hr.yml b/config/locales/hr.yml index 09828a4bd46..11756d35244 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -1,107 +1,108 @@ +--- hr: active_admin: - dashboard: "Upravljačka ploča" - view: "Pregledaj" - edit: "Uredi" - delete: "Obriši" - delete_confirmation: "Jeste li sigurni da želite ovo obrisati?" - new_model: "Novi %{model}" - edit_model: "Uredi %{model}" - delete_model: "Obriši %{model}" - details: "%{model} detalji" - cancel: "Odustani" - empty: "Prazno" - previous: "Prijašnji" - next: "Sljedeći" - download: "Spremi na računalo:" - has_many_new: "Dodaj novi %{model}" - has_many_delete: "Obriši" - has_many_remove: "Ukloniti" - filters: - buttons: - filter: "Filtriraj" - clear: "Očisti filtere" - status_tag: - "yes": "Da" - "no": "Nema" - "unset": "Nema" - logout: "Odjavi se" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtriranje" - pagination: - empty: "Nije pronađen niti jedan %{model}." - one: "Prikazan 1 %{model}" - one_page: "Prikazano svih %{n} %{model}" - multiple: "Prikazani %{model} %{from} - %{to} od ukupno %{total}" - multiple_without_total: "Prikazani %{model} %{from} - %{to}" - entry: - one: "zapis" - few: "zapisa" - many: "zapisa" - other: "zapisa" - any: "Bilo koji" - blank_slate: - content: "Još uvijek ne postoji niti jedan zapis tipa %{resource_name}." - link: "Izradi jedan" + access_denied: + message: Nemaš dopuštenja. + any: Bilo koji batch_actions: - button_label: "Grupne akcije" - default_confirmation: "Jeste li sigurni da želite to učiniti?" - delete_confirmation: "Jeste li sigurni da želite obrisati %{plural_model}?" - succesfully_destroyed: - one: "Uspješno je obrisan 1 %{model}" - few: "Uspješno su obrisana %{count} %{plural_model}" - many: "Uspješno je obrisano %{count} %{plural_model}" - other: "Uspješno je obrisano %{count} %{plural_model}" - selection_toggle_explanation: "(Izmijeni odabir)" action_label: "%{title} označene" + button_label: Grupne akcije + default_confirmation: Jeste li sigurni da želite to učiniti? + delete_confirmation: Jeste li sigurni da želite obrisati %{plural_model}? labels: - destroy: "Obriši" + destroy: Obriši + selection_toggle_explanation: "(Izmijeni odabir)" + successfully_destroyed: + few: Uspješno su obrisana %{count} %{plural_model} + many: Uspješno je obrisano %{count} %{plural_model} + one: Uspješno je obrisan 1 %{model} + other: Uspješno je obrisano %{count} %{plural_model} + blank_slate: + content: Još uvijek ne postoji niti jedan zapis tipa %{resource_name}. + link: Izradi jedan + cancel: Odustani comments: - resource_type: "Tip objekta" - author_type: "Tip autora" - body: "Sadržaj" - author: "Autor" - add: "Dodaj komentar" - resource: "Objekt" - no_comments_yet: "Još nema komentara." - author_missing: "Anoniman" - title_content: "Komentari (%{count})" + add: Dodaj komentar + author: Autor + author_missing: Anoniman + author_type: Tip autora + body: Sadržaj errors: - empty_text: "Komentar nije spremljen, sadržaj je prazan." + empty_text: Komentar nije spremljen, sadržaj je prazan. + no_comments_yet: Još nema komentara. + resource: Objekt + resource_type: Tip objekta + title_content: Komentari (%{count}) + dashboard: Upravljačka ploča + delete: Obriši + delete_confirmation: Jeste li sigurni da želite ovo obrisati? + delete_model: Obriši %{model} + details: "%{model} detalji" devise: - username: - title: "Korisničko ime" + change_password: + submit: Izmijeni lozinku + title: Izmjena lozinke email: - title: "Email" - subdomain: - title: "Poddomena" - password: - title: "Lozinka" - sign_up: - title: "Registracija" - submit: "Registruj" + title: Email + links: + forgot_your_password: Zaboravljena lozinka? + sign_in: Prijavi se + sign_in_with_omniauth_provider: Prijavite se za %{provider} login: - title: "Prijava" - remember_me: "Zapamti me" - submit: "Prijavi se" + remember_me: Zapamti me + submit: Prijavi se + title: Prijava + password: + title: Lozinka + resend_confirmation_instructions: + submit: Pošalji + title: Ponovno slanje uputstva za potvrdu reset_password: - title: "Zaboravljena lozinka?" - submit: "Resetiraj lozinku" - change_password: - title: "Izmjena lozinke" - submit: "Izmijeni lozinku" + submit: Resetiraj lozinku + title: Zaboravljena lozinka? + sign_up: + submit: Registruj + title: Registracija + subdomain: + title: Poddomena unlock: - title: "Ponovno slanje uputstva za otključavanje" - submit: "Pošalji" - resend_confirmation_instructions: - title: "Ponovno slanje uputstva za potvrdu" - submit: "Pošalji" - links: - sign_in: "Prijavi se" - forgot_your_password: "Zaboravljena lozinka?" - sign_in_with_omniauth_provider: "Prijavite se za %{provider}" - access_denied: - message: "Nemaš dopuštenja." + submit: Pošalji + title: Ponovno slanje uputstva za otključavanje + username: + title: Korisničko ime + download: 'Spremi na računalo:' + edit: Uredi + edit_model: Uredi %{model} + empty: Prazno + filters: + buttons: + clear: Očisti filtere + filter: Filtriraj + has_many_delete: Obriši + has_many_new: Dodaj novi %{model} + has_many_remove: Ukloniti index_list: - table: "Tabela" + table: Tabela + logout: Odjavi se + new_model: Novi %{model} + next: Sljedeći + pagination: + empty: Nije pronađen niti jedan %{model}. + entry: + few: zapisa + many: zapisa + one: zapis + other: zapisa + multiple: Prikazani %{model} %{from} - %{to} od ukupno %{total} + multiple_without_total: Prikazani %{model} %{from} - %{to} + one: Prikazan 1 %{model} + one_page: Prikazano svih %{n} %{model} + powered_by: Powered by %{active_admin} %{version} + previous: Prijašnji + sidebars: + filters: Filtriranje + status_tag: + 'no': Nema + unset: Nema + 'yes': Da + view: Pregledaj diff --git a/config/locales/hu.yml b/config/locales/hu.yml index df30b007f19..aac702853af 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -1,88 +1,89 @@ +--- hu: active_admin: + any: Összes + batch_actions: + action_label: "%{title} kiválasztva" + button_label: Tömeges műveletek + default_confirmation: Biztos vagy benne, hogy a ön akar-hoz csinál ez? + delete_confirmation: Biztosan törli ezeket a %{plural_model}? + labels: + destroy: Törlés + selection_toggle_explanation: "(Kijelölés megfordítása)" + successfully_destroyed: + one: 1 %{model} sikeresen törölve + other: "%{count} %{plural_model} sikeresen törölve" + blank_slate: + content: Még nincs létrehozva %{resource_name}. + link: Létrehozás most + cancel: Mégsem + comments: + add: Új hozzászólás + author: Szerző + body: Törzs + errors: + empty_text: A hozzászólás nem lett mentve, a törzs nem lehet üres. + no_comments_yet: Nincsenek hozzászólások. + resource: Erőforrás + title_content: "%{count} hozzászólás" dashboard: Vezérlőpult - view: "Megtekintés" - edit: "Szerkesztés" - delete: "Törlés" - delete_confirmation: "Biztosan törli ezt az elemet?" - new_model: "Új %{model}" - edit_model: "%{model} módosítása" + delete: Törlés + delete_confirmation: Biztosan törli ezt az elemet? delete_model: "%{model} törlése" details: "%{model} részletei" - cancel: "Mégsem" - empty: "Üres" - previous: "Előző" - next: "Következő" - download: "Letöltés:" - has_many_new: "Új %{model} hozzáadása" - has_many_delete: "Törlés" - has_many_remove: "Eltávolít" + devise: + change_password: + submit: Jelszó módosítása + title: A jelszó módosítása + links: + forgot_your_password: Elfelejtette a jelszavát? + sign_in: Bejelentkezés + sign_in_with_omniauth_provider: Jelentkezzen be a %{provider} + login: + remember_me: Emlékezz rám + submit: Belépés + title: Bejelentkezés + resend_confirmation_instructions: + submit: Megerősítő levél újraküldése + title: Megerősítő levél újraküldése + reset_password: + submit: Jelszó visszaállítása + title: Elfelejtette a jelszavát? + unlock: + submit: Újraküldés unlock utasítások + title: Újraküldés unlock utasítások + download: 'Letöltés:' + edit: Szerkesztés + edit_model: "%{model} módosítása" + empty: Üres filters: buttons: - filter: "Szűrés" - clear: "Feltételek törlése" + clear: Feltételek törlése + filter: Szűrés predicates: from: "-tól" to: "-ig" - status_tag: - "yes": "Igen" - "no": "Nem" - "unset": "Nem" - logout: "Kilépés" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Szűrők" + has_many_delete: Törlés + has_many_new: Új %{model} hozzáadása + has_many_remove: Eltávolít + logout: Kilépés + new_model: Új %{model} + next: Következő pagination: - empty: "Nincs több %{model}" - one: "Egy %{model} megjelenítése" - one_page: "Az összes (%{n} db) %{model} megjelenítése" + empty: Nincs több %{model} + entry: + one: elem + other: elem multiple: "%{model} listájának megjelenítése, %{from} - %{to}/%{total} " multiple_without_total: "%{model} listájának megjelenítése, %{from} - %{to} " - entry: - one: "elem" - other: "elem" - any: "Összes" - blank_slate: - content: "Még nincs létrehozva %{resource_name}." - link: "Létrehozás most" - batch_actions: - button_label: "Tömeges műveletek" - default_confirmation: "Biztos vagy benne, hogy a ön akar-hoz csinál ez?" - delete_confirmation: "Biztosan törli ezeket a %{plural_model}?" - succesfully_destroyed: - one: "1 %{model} sikeresen törölve" - other: "%{count} %{plural_model} sikeresen törölve" - selection_toggle_explanation: "(Kijelölés megfordítása)" - action_label: "%{title} kiválasztva" - labels: - destroy: "Törlés" - comments: - body: "Törzs" - author: "Szerző" - add: "Új hozzászólás" - resource: "Erőforrás" - no_comments_yet: "Nincsenek hozzászólások." - title_content: "%{count} hozzászólás" - errors: - empty_text: "A hozzászólás nem lett mentve, a törzs nem lehet üres." - devise: - login: - title: "Bejelentkezés" - remember_me: "Emlékezz rám" - submit: "Belépés" - reset_password: - title: "Elfelejtette a jelszavát?" - submit: "Jelszó visszaállítása" - change_password: - title: "A jelszó módosítása" - submit: "Jelszó módosítása" - unlock: - title: "Újraküldés unlock utasítások" - submit: "Újraküldés unlock utasítások" - resend_confirmation_instructions: - title: "Megerősítő levél újraküldése" - submit: "Megerősítő levél újraküldése" - links: - sign_in: "Bejelentkezés" - forgot_your_password: "Elfelejtette a jelszavát?" - sign_in_with_omniauth_provider: "Jelentkezzen be a %{provider}" + one: "Egy %{model} megjelenítése" + one_page: "Az összes (%{n} db) %{model} megjelenítése" + powered_by: Powered by %{active_admin} %{version} + previous: Előző + sidebars: + filters: Szűrők + status_tag: + 'no': Nem + unset: Nem + 'yes': Igen + view: Megtekintés diff --git a/config/locales/id.yml b/config/locales/id.yml index 66a523def3f..862a32b2e01 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -1,112 +1,113 @@ +--- id: active_admin: - dashboard: Dashboard - view: "Lihat" - edit: "Ubah" - delete: "Hapus" - delete_confirmation: "Apakah anda yakin ingin menghapus data ini?" - new_model: "Tambah %{model} baru" - edit_model: "Ubah %{model}" - delete_model: "Hapus %{model}" - details: "Detail %{model}" - cancel: "Batal" - empty: "Kosong" - previous: "Sebelumnya" - next: "Berikutnya" - download: "Unduh:" - has_many_new: "Tambah %{model} baru" - has_many_delete: "Hapus" - has_many_remove: "Hapus" - filters: - buttons: - filter: "Filter" - clear: "Hapus Filters" - search_status: - no_current_filters: "Tidak ada" - status_tag: - "yes": "Ya" - "no": "Tidak" - "unset": "Tidak" - logout: "Keluar" - powered_by: "Dibuat dengan %{active_admin} %{version}" - sidebars: - filters: "Filter" - search_status: "Status Pencarian" - pagination: - empty: "Tidak ada %{model} yang bisa ditemukan" - one: "Menampilkan 1 %{model}" - one_page: "Menampilkan semua %{n} %{model}" - multiple: "Menampilkan %{from} - %{to} dari %{total} keseluruhan %{model}" - multiple_without_total: "Menampilkan %{from} - %{to} %{model}" - entry: - one: "data" - other: "data" - any: "Apapun" - blank_slate: - content: "%{resource_name} masih belum ada sama sekali." - link: "Tambah data" + access_denied: + message: Anda tidak diperkenankan melakukan aksi tersebut. + any: Apapun batch_actions: - button_label: "Tindakan Serentak" - default_confirmation: "Apakah anda yakin akan melakukan ini?" - delete_confirmation: "Apakah anda yakin akan menghapus %{plural_model}?" - succesfully_destroyed: - one: "Berhasil menghapus %{model}" - other: "Berhasil menghapus %{count} %{plural_model}" - selection_toggle_explanation: "(Tampilkan Pilihan)" action_label: "%{title} terpilih" + button_label: Tindakan Serentak + default_confirmation: Apakah anda yakin akan melakukan ini? + delete_confirmation: Apakah anda yakin akan menghapus %{plural_model}? labels: - destroy: "Hapus" + destroy: Hapus + selection_toggle_explanation: "(Tampilkan Pilihan)" + successfully_destroyed: + one: Berhasil menghapus %{model} + other: Berhasil menghapus %{count} %{plural_model} + blank_slate: + content: "%{resource_name} masih belum ada sama sekali." + link: Tambah data + cancel: Batal comments: - created_at: "Dibuat" - resource_type: "Jenis Resource" - author_type: "Tipe Penulis" - body: "Isi" - author: "Penulis" - add: "Tambah Komentar" - delete: "Hapus Komentar" - delete_confirmation: "Apakah anda yakin akan menghapus komentar tersebut?" - resource: "Resource" - no_comments_yet: "Belum ada komentar sama sekali." - author_missing: "Anonim" - title_content: "Komentar (%{count})" + add: Tambah Komentar + author: Penulis + author_missing: Anonim + author_type: Tipe Penulis + body: Isi + created_at: Dibuat + delete: Hapus Komentar + delete_confirmation: Apakah anda yakin akan menghapus komentar tersebut? errors: - empty_text: "Komentar tak bisa disimpan, text tidak boleh dikosongi." + empty_text: Komentar tak bisa disimpan, text tidak boleh dikosongi. + no_comments_yet: Belum ada komentar sama sekali. + resource: Resource + resource_type: Jenis Resource + title_content: Komentar (%{count}) + dashboard: Dashboard + delete: Hapus + delete_confirmation: Apakah anda yakin ingin menghapus data ini? + delete_model: Hapus %{model} + details: Detail %{model} devise: - username: - title: "Username" + change_password: + submit: Kirimkan instruksi pengaturan ulang password + title: " - Atur Ulang Password" email: - title: "Email" - subdomain: - title: "Subdomain" - password: - title: "Password" - sign_up: - title: " - Daftar" - submit: "Daftar" + title: Email + links: + forgot_your_password: Lupa password? + resend_confirmation_instructions: Kirim lagi instruksi konfirmasi akun + resend_unlock_instructions: Kirim instruksi pengaktifan kembali akun + sign_in: Masuk + sign_in_with_omniauth_provider: Daftar melalui %{provider} + sign_up: Daftar login: + remember_me: Ingat saya + submit: Masuk title: " - Masuk" - remember_me: "Ingat saya" - submit: "Masuk" + password: + title: Password + resend_confirmation_instructions: + submit: Kirimkan lagi instruksi konfirmasi akun + title: " - Kirim Lagi Instruksi Konfirmasi Akun" reset_password: + submit: Atur ulang password title: " - Form Atur Ulang Password" - submit: "Atur ulang password" - change_password: - title: " - Atur Ulang Password" - submit: "Kirimkan instruksi pengaturan ulang password" + sign_up: + submit: Daftar + title: " - Daftar" + subdomain: + title: Subdomain unlock: + submit: Kirimkan instruksi pengaktifan kembali akun title: " - Kirim Instruksi Pengaktifan Kembali Akun" - submit: "Kirimkan instruksi pengaktifan kembali akun" - resend_confirmation_instructions: - title: " - Kirim Lagi Instruksi Konfirmasi Akun" - submit: "Kirimkan lagi instruksi konfirmasi akun" - links: - sign_up: "Daftar" - sign_in: "Masuk" - forgot_your_password: "Lupa password?" - sign_in_with_omniauth_provider: "Daftar melalui %{provider}" - resend_unlock_instructions: "Kirim instruksi pengaktifan kembali akun" - resend_confirmation_instructions: "Kirim lagi instruksi konfirmasi akun" - access_denied: - message: "Anda tidak diperkenankan melakukan aksi tersebut." + username: + title: Username + download: 'Unduh:' + edit: Ubah + edit_model: Ubah %{model} + empty: Kosong + filters: + buttons: + clear: Hapus Filters + filter: Filter + has_many_delete: Hapus + has_many_new: Tambah %{model} baru + has_many_remove: Hapus index_list: - table: "Tabel" + table: Tabel + logout: Keluar + new_model: Tambah %{model} baru + next: Berikutnya + pagination: + empty: Tidak ada %{model} yang bisa ditemukan + entry: + one: data + other: data + multiple: Menampilkan %{from} - %{to} dari %{total} keseluruhan %{model} + multiple_without_total: Menampilkan %{from} - %{to} %{model} + one: Menampilkan 1 %{model} + one_page: Menampilkan semua %{n} %{model} + powered_by: Dibuat dengan %{active_admin} %{version} + previous: Sebelumnya + search_status: + no_current_filters: Tidak ada + sidebars: + filters: Filter + search_status: Status Pencarian + status_tag: + 'no': Tidak + unset: Tidak + 'yes': Ya + view: Lihat diff --git a/config/locales/it.yml b/config/locales/it.yml index 07ac2b92a6e..10d575f2516 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -1,146 +1,148 @@ +--- it: - activerecord: - models: - comment: - one: "Commento" - other: "Commenti" - active_admin/comment: - one: "Commento" - other: "Commenti" - attributes: - active_admin/comment: - author_type: "Tipo di Autore" - body: "Corpo" - created_at: "Creato il" - namespace: "Namespace" - resource_type: "Tipo di risorsa" - updated_at: "Aggiornato il" active_admin: - dashboard: Dashboard - view: "Mostra" - edit: "Modifica" - delete: "Rimuovi" - delete_confirmation: "Sei sicuro di volerlo rimuovere?" - create_another: "Crea un altro %{model}" - new_model: "Aggiungi %{model}" - edit_model: "Modifica %{model}" - delete_model: "Rimuovi %{model}" - details: "Dettagli %{model}" - cancel: "Annulla" - empty: "Vuoto" - previous: "Precedente" - next: "Prossimo" - download: "Scarica:" - has_many_new: "Aggiungi nuovo/a %{model}" - has_many_delete: "Rimuovi" - has_many_remove: "Rimuovi" - move: "Sposta" - filters: - buttons: - filter: "Filtra" - clear: "Rimuovi filtri" - predicates: - from: "Da" - to: "A" - scopes: - all: "Tutti" - search_status: - title: "Ricerca corrente" - title_with_scope: "Ricerca corrente per %{name}" - no_current_filters: "Nessun filtro applicato" - status_tag: - "yes": "Sì" - "no": "No" - "unset": "Vuoto" - toggle_dark_mode: Attiva/Disattiva tema scuro - toggle_main_navigation_menu: Espandi/Riduci menu di navigazione principale - toggle_section: Espandi/Riduci sezione - toggle_user_menu: Espandi/Riduci menu utente - logout: "Esci" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtri" - search_status: "Informazioni sulla ricerca" - pagination: - empty: "Nessun risultato per %{model}" - one: "Mostrando 1 di 1" - one_page: "Mostrando %{n} %{model}. Lista completa." - multiple: "Mostrando %{from}-%{to} di %{total}" - multiple_without_total: "Mostrando %{from}-%{to}" - per_page: "Oggetti per pagina: " - previous: "Precedente" - next: "Successiva" - entry: - one: "voce" - other: "voci" - any: "Qualsiasi" - blank_slate: - content: "Non sono presenti %{resource_name}" - link: "Crea nuovo/a" + access_denied: + message: Non hai le autorizzazioni necessarie per eseguire questa azione. + any: Qualsiasi batch_actions: - button_label: "Azioni multiple" - default_confirmation: "Sei sicuro di che voler proseguire?" - delete_confirmation: "Sei sicuro di volere cancellare %{plural_model}?" - succesfully_destroyed: - one: "Eliminato con successo 1 %{model}" - other: "Eliminati con successo %{count} %{plural_model}" - selection_toggle_explanation: "(cambia selezione)" action_label: "%{title} Selezionati" + button_label: Azioni multiple + default_confirmation: Sei sicuro di che voler proseguire? + delete_confirmation: Sei sicuro di volere cancellare %{plural_model}? labels: - destroy: "Elimina" + destroy: Elimina + selection_toggle_explanation: "(cambia selezione)" + successfully_destroyed: + one: Eliminato con successo 1 %{model} + other: Eliminati con successo %{count} %{plural_model} + blank_slate: + content: Non sono presenti %{resource_name} + link: Crea nuovo/a + cancel: Annulla comments: - created_at: "Creato il" - resource_type: "Tipo di risorsa" - author_type: "Tipo di Autore" - body: "Corpo" - author: "Autore" - add: "Aggiungi Commento" - delete: "Cancella Commento" - delete_confirmation: "Sei sicuro di voler cancellare questo commento?" - resource: "Risorsa" - no_comments_yet: "Nessun commento." - author_missing: "Anonimo" - title_content: "Commenti (%{count})" + add: Aggiungi Commento + author: Autore + author_missing: Anonimo + author_type: Tipo di Autore + body: Corpo + created_at: Creato il + delete: Cancella Commento + delete_confirmation: Sei sicuro di voler cancellare questo commento? errors: - empty_text: "Il commento non può essere salvato, il testo è vuoto." + empty_text: Il commento non può essere salvato, il testo è vuoto. + no_comments_yet: Nessun commento. + resource: Risorsa + resource_type: Tipo di risorsa + title_content: Commenti (%{count}) + create_another: Crea un altro %{model} + dashboard: Dashboard + delete: Rimuovi + delete_confirmation: Sei sicuro di volerlo rimuovere? + delete_model: Rimuovi %{model} + details: Dettagli %{model} devise: - username: - title: "Nome Utente" + change_password: + submit: Cambia la mia password + title: Cambia la tua password email: - title: "Email" - subdomain: - title: "Sottodominio" + title: Email + links: + forgot_your_password: Dimenticato la password? + resend_confirmation_instructions: Invia di nuovo le istruzioni per la conferma + resend_unlock_instructions: Invia di nuovo le istruzioni per lo sblocco + sign_in: Entra + sign_in_with_omniauth_provider: Collegati a %{provider} + sign_up: Iscriviti + login: + remember_me: Ricordami + submit: Entra + title: Entra password: - title: "Password" + title: Password password_confirmation: - title: "Conferma password" - sign_up: - title: "Iscriviti" - submit: "Iscriviti" - login: - title: "Entra" - remember_me: "Ricordami" - submit: "Entra" + title: Conferma password + resend_confirmation_instructions: + submit: Invia di nuovo le istruzioni per la conferma + title: Invia di nuovo le istruzioni per la conferma reset_password: - title: "Dimenticato la password?" - submit: "Reimposta la tua password" - change_password: - title: "Cambia la tua password" - submit: "Cambia la mia password" + submit: Reimposta la tua password + title: Dimenticato la password? + sign_up: + submit: Iscriviti + title: Iscriviti + subdomain: + title: Sottodominio unlock: - title: "Invia di nuovo le istruzioni per sbloccare" - submit: "Invia di nuovo le istruzioni per sbloccare" - resend_confirmation_instructions: - title: "Invia di nuovo le istruzioni per la conferma" - submit: "Invia di nuovo le istruzioni per la conferma" - links: - sign_up: "Iscriviti" - sign_in: "Entra" - forgot_your_password: "Dimenticato la password?" - sign_in_with_omniauth_provider: "Collegati a %{provider}" - resend_unlock_instructions: "Invia di nuovo le istruzioni per lo sblocco" - resend_confirmation_instructions: "Invia di nuovo le istruzioni per la conferma" - access_denied: - message: "Non hai le autorizzazioni necessarie per eseguire questa azione." + submit: Invia di nuovo le istruzioni per sbloccare + title: Invia di nuovo le istruzioni per sbloccare + username: + title: Nome Utente + download: 'Scarica:' + edit: Modifica + edit_model: Modifica %{model} + empty: Vuoto + filters: + buttons: + clear: Rimuovi filtri + filter: Filtra + predicates: + from: Da + to: A + has_many_delete: Rimuovi + has_many_new: Aggiungi nuovo/a %{model} + has_many_remove: Rimuovi index_list: - table: "Tabella" + table: Tabella + logout: Esci + move: Sposta + new_model: Aggiungi %{model} + next: Prossimo + pagination: + empty: Nessun risultato per %{model} + entry: + one: voce + other: voci + multiple: Mostrando %{from}-%{to} di %{total} + multiple_without_total: Mostrando %{from}-%{to} + next: Successiva + one: Mostrando 1 di 1 + one_page: Mostrando %{n} %{model}. Lista completa. + per_page: 'Oggetti per pagina: ' + previous: Precedente + truncate: "…" + powered_by: Powered by %{active_admin} %{version} + previous: Precedente + scopes: + all: Tutti + search_status: + no_current_filters: Nessun filtro applicato + title: Ricerca corrente + title_with_scope: Ricerca corrente per %{name} + sidebars: + filters: Filtri + search_status: Informazioni sulla ricerca + status_tag: + 'no': 'No' + unset: Vuoto + 'yes': Sì + toggle_dark_mode: Attiva/Disattiva tema scuro + toggle_main_navigation_menu: Espandi/Riduci menu di navigazione principale + toggle_section: Espandi/Riduci sezione + toggle_user_menu: Espandi/Riduci menu utente + view: Mostra + activerecord: + attributes: + active_admin/comment: + author_type: Tipo di Autore + body: Corpo + created_at: Creato il + namespace: Namespace + resource_type: Tipo di risorsa + updated_at: Aggiornato il + models: + active_admin/comment: + one: Commento + other: Commenti + comment: + one: Commento + other: Commenti diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 24587588f84..54cfb078fde 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -1,121 +1,122 @@ +--- ja: active_admin: - dashboard: "ダッシュボード" - view: "閲覧" - edit: "編集" - delete: "削除" - delete_confirmation: "本当に削除しますか?" - create_another: "%{model} を続けて作成する" - new_model: "%{model} を作成する" - edit_model: "%{model} を編集する" - delete_model: "%{model} を削除する" - details: "%{model} の詳細" - cancel: "取り消す" - empty: "空" - previous: "前" - next: "次" - download: "ダウンロード:" - has_many_new: "%{model} を追加する" - has_many_delete: "削除する" - has_many_remove: "削除する" - filters: - buttons: - filter: "絞り込む" - clear: "条件を削除する" - predicates: - from: "開始" - to: "終了" - search_status: - no_current_filters: "なし" - status_tag: - "yes": "はい" - "no": "いいえ" - "unset": "いいえ" - toggle_dark_mode: "ダークモードを切り替える" - toggle_main_navigation_menu: "メインナビゲーションメニューを切り替える" - toggle_section: "セクションを切り替える" - toggle_user_menu: "ユーザーメニューを切り替える" - logout: "ログアウト" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "検索条件" - search_status: "検索状態" - pagination: - empty: "%{model} は見つかりませんでした" - one: "1 件の %{model} を表示しています" - one_page: "全 %{n} 件の %{model} を表示しています" - multiple: "全 %{total} 件中 %{from} - %{to} 件の %{model} を表示しています" - multiple_without_total: "%{from} - %{to} 件の %{model} を表示しています" - per_page: "表示件数: " - entry: - one: "レコード" - other: "レコード" - any: "任意" - blank_slate: - content: "%{resource_name} はまだありません。" - link: "作成する" + access_denied: + message: アクションを実行する権限がありません + any: 任意 batch_actions: - button_label: "一括操作" - default_confirmation: "本当によろしいですか?" + action_label: 選択した行を%{title} + button_label: 一括操作 + default_confirmation: 本当によろしいですか? delete_confirmation: "%{plural_model} を削除してもよろしいですか?" - succesfully_destroyed: - one: "1件の %{model} を削除しました" - other: "%{count}件の %{plural_model} を削除しました" - selection_toggle_explanation: "(選択)" - action_label: "選択した行を%{title}" labels: - destroy: "削除する" + destroy: 削除する + selection_toggle_explanation: "(選択)" + successfully_destroyed: + one: 1件の %{model} を削除しました + other: "%{count}件の %{plural_model} を削除しました" + blank_slate: + content: "%{resource_name} はまだありません。" + link: 作成する + cancel: 取り消す comments: - created_at: "作成日" - resource_type: "リソース種別" - author_type: "作成者種別" - body: "本文" - author: "作成者" - add: "コメントを追加" - delete: "コメントを削除" - delete_confirmation: "本当にコメントを削除しますか?" - resource: "リソース" - no_comments_yet: "コメントはまだありません。" - author_missing: "匿名ユーザ" - title_content: "コメント (%{count})" + add: コメントを追加 + author: 作成者 + author_missing: 匿名ユーザ + author_type: 作成者種別 + body: 本文 + created_at: 作成日 + delete: コメントを削除 + delete_confirmation: 本当にコメントを削除しますか? errors: - empty_text: "テキストが空のため、コメントは保存されませんでした。" + empty_text: テキストが空のため、コメントは保存されませんでした。 + no_comments_yet: コメントはまだありません。 + resource: リソース + resource_type: リソース種別 + title_content: コメント (%{count}) + create_another: "%{model} を続けて作成する" + dashboard: ダッシュボード + delete: 削除 + delete_confirmation: 本当に削除しますか? + delete_model: "%{model} を削除する" + details: "%{model} の詳細" devise: - username: - title: "ユーザ名" + change_password: + submit: パスワードを変更する + title: パスワードを変更する email: - title: "メールアドレス" - subdomain: - title: "サブドメイン" - password: - title: "パスワード" - sign_up: - title: "登録" - submit: "登録" + title: メールアドレス + links: + forgot_your_password: パスワードをお忘れですか? + resend_confirmation_instructions: ユーザ確認手順を再送する + resend_unlock_instructions: ロックの解除方法を再送する + sign_in: サインイン + sign_in_with_omniauth_provider: "%{provider}のアカウントを使ってログイン" + sign_up: ユーザ登録 login: - title: "ログイン" - remember_me: "次回から自動的にログイン" - submit: "ログイン" + remember_me: 次回から自動的にログイン + submit: ログイン + title: ログイン + password: + title: パスワード + resend_confirmation_instructions: + submit: 確認方法を再送信する + title: 確認方法を再送信する reset_password: - title: "パスワードをお忘れですか?" - submit: "パスワードをリセットする" - change_password: - title: "パスワードを変更する" - submit: "パスワードを変更する" + submit: パスワードをリセットする + title: パスワードをお忘れですか? + sign_up: + submit: 登録 + title: 登録 + subdomain: + title: サブドメイン unlock: - title: "ロックの解除方法を送る" - submit: "ロックの解除方法を送る" - resend_confirmation_instructions: - title: "確認方法を再送信する" - submit: "確認方法を再送信する" - links: - sign_in: "サインイン" - sign_up: "ユーザ登録" - forgot_your_password: "パスワードをお忘れですか?" - sign_in_with_omniauth_provider: "%{provider}のアカウントを使ってログイン" - resend_confirmation_instructions: "ユーザ確認手順を再送する" - resend_unlock_instructions: "ロックの解除方法を再送する" - access_denied: - message: "アクションを実行する権限がありません" + submit: ロックの解除方法を送る + title: ロックの解除方法を送る + username: + title: ユーザ名 + download: 'ダウンロード:' + edit: 編集 + edit_model: "%{model} を編集する" + empty: 空 + filters: + buttons: + clear: 条件を削除する + filter: 絞り込む + predicates: + from: 開始 + to: 終了 + has_many_delete: 削除する + has_many_new: "%{model} を追加する" + has_many_remove: 削除する index_list: - table: "テーブル" + table: テーブル + logout: ログアウト + new_model: "%{model} を作成する" + next: 次 + pagination: + empty: "%{model} は見つかりませんでした" + entry: + one: レコード + other: レコード + multiple: 全 %{total} 件中 %{from} - %{to} 件の %{model} を表示しています + multiple_without_total: "%{from} - %{to} 件の %{model} を表示しています" + one: "1 件の %{model} を表示しています" + one_page: "全 %{n} 件の %{model} を表示しています" + per_page: '表示件数: ' + powered_by: Powered by %{active_admin} %{version} + previous: 前 + search_status: + no_current_filters: なし + sidebars: + filters: 検索条件 + search_status: 検索状態 + status_tag: + 'no': いいえ + unset: いいえ + 'yes': はい + toggle_dark_mode: ダークモードを切り替える + toggle_main_navigation_menu: メインナビゲーションメニューを切り替える + toggle_section: セクションを切り替える + toggle_user_menu: ユーザーメニューを切り替える + view: 閲覧 diff --git a/config/locales/ko.yml b/config/locales/ko.yml index f6c95aa7fea..1847883fa66 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -1,146 +1,148 @@ +--- ko: - activerecord: - models: - comment: - one: "댓글" - other: "댓글들" - active_admin/comment: - one: "댓글" - other: "댓글들" - attributes: - active_admin/comment: - author_type: "글쓴이 유형" - body: "본문" - created_at: "작성시간" - namespace: "네임스페이스" - resource_type: "첨부파일 형태" - updated_at: "수정시간" active_admin: - dashboard: "대시보드" - view: "보기" - edit: "수정" - delete: "삭제" - delete_confirmation: "정말로 삭제 하시겠습니까?" - create_another: "다른 %{model} 생성" - new_model: "%{model} 추가" - edit_model: "%{model} 수정" - delete_model: "%{model} 삭제" - details: "%{model} 상세보기" - cancel: "취소" - empty: "비어있음" - previous: "이전" - next: "다음" - download: "다운로드:" - has_many_new: "새 %{model} 추가" - has_many_delete: "삭제" - has_many_remove: "삭제" - move: "이동" - filters: - buttons: - filter: "필터" - clear: "필터 초기화" - predicates: - from: "시작" - to: "끝" - scopes: - all: "전체" - search_status: - title: "검색 중" - title_with_scope: "%{name} 검색 중" - no_current_filters: "현재 적용된 필터가 없습니다" - status_tag: - "yes": "있음" - "no": "없음" - "unset": "알 수 없음" - toggle_dark_mode: "다크모드 전환" - toggle_main_navigation_menu: "메인 메뉴 전환" - toggle_section: "섹션 전환" - toggle_user_menu: "사용자 메뉴 전환" - logout: "로그아웃" - powered_by: "%{active_admin} %{version} 제공" - sidebars: - filters: "필터 목록" - search_status: "검색 상태" - pagination: - empty: "%{model} 이/가 없습니다." - one: "1개 %{model} 표시중" - one_page: "%{n}개 %{model} 표시중" - multiple: "%{total}개 중 %{from} - %{to} %{model} 표시중" - multiple_without_total: "%{from} - %{to} %{model} 표시중" - per_page: "페이지당 " - previous: "이전" - next: "다음" - entry: - one: "항목" - other: "항목들" - any: "어떤" - blank_slate: - content: "아직 %{resource_name} 이/가 없습니다." - link: "추가하기" + access_denied: + message: 이 작업을 수행할 권한이 없습니다. + any: 어떤 batch_actions: - button_label: "배치 작업" - default_confirmation: "확실하십니까?" + action_label: 선택한 항목 %{title} + button_label: 배치 작업 + default_confirmation: 확실하십니까? delete_confirmation: "%{plural_model}을/를 삭제하시겠습니까?" - succesfully_destroyed: - one: "성공적으로 1개 %{model}을/를 삭제하였습니다" - other: "성공적으로 %{count}개의 %{plural_model}을/를 삭제하였습니다" - selection_toggle_explanation: "(선택 항목 바꾸기)" - action_label: "선택한 항목 %{title}" labels: - destroy: "삭제" + destroy: 삭제 + selection_toggle_explanation: "(선택 항목 바꾸기)" + successfully_destroyed: + one: 성공적으로 1개 %{model}을/를 삭제하였습니다 + other: 성공적으로 %{count}개의 %{plural_model}을/를 삭제하였습니다 + blank_slate: + content: 아직 %{resource_name} 이/가 없습니다. + link: 추가하기 + cancel: 취소 comments: - created_at: "작성시간" - resource_type: "첨부파일 형태" - author_type: "글쓴이 유형" - body: "본문" - author: "글쓴이" - add: "댓글 추가" - delete: "댓글 삭제" - delete_confirmation: "정말로 이 댓글을 삭제하시겠습니까?" - resource: "첨부파일" - no_comments_yet: "아직 댓글이 없습니다." - author_missing: "익명" - title_content: "댓글 (%{count}개)" + add: 댓글 추가 + author: 글쓴이 + author_missing: 익명 + author_type: 글쓴이 유형 + body: 본문 + created_at: 작성시간 + delete: 댓글 삭제 + delete_confirmation: 정말로 이 댓글을 삭제하시겠습니까? errors: - empty_text: "댓글이 저장되지 않았습니다. 내용을 입력해주세요." + empty_text: 댓글이 저장되지 않았습니다. 내용을 입력해주세요. + no_comments_yet: 아직 댓글이 없습니다. + resource: 첨부파일 + resource_type: 첨부파일 형태 + title_content: 댓글 (%{count}개) + create_another: 다른 %{model} 생성 + dashboard: 대시보드 + delete: 삭제 + delete_confirmation: 정말로 삭제 하시겠습니까? + delete_model: "%{model} 삭제" + details: "%{model} 상세보기" devise: - username: - title: "아이디" + change_password: + submit: 내 비밀번호 변경 + title: 비밀번호 변경 email: - title: "이메일" - subdomain: - title: "서브도메인" + title: 이메일 + links: + forgot_your_password: 비밀번호를 잊으셨나요? + resend_confirmation_instructions: 계정 승인 요청하기 + resend_unlock_instructions: 계정 잠금 해제하기 + sign_in: 로그인 + sign_in_with_omniauth_provider: "%{provider} 으로 로그인" + sign_up: 회원가입 + login: + remember_me: 내 계정 정보 기억 + submit: 로그인 + title: 로그인 password: - title: "비밀번호" + title: 비밀번호 password_confirmation: - title: "비밀번호 확인" - sign_up: - title: "회원가입" - submit: "가입하기" - login: - title: "로그인" - remember_me: "내 계정 정보 기억" - submit: "로그인" + title: 비밀번호 확인 + resend_confirmation_instructions: + submit: 계정 승인 요청하기 + title: 계정 승인 요청하기 reset_password: - title: "비밀번호를 잊으셨나요?" - submit: "비밀번호 재설정" - change_password: - title: "비밀번호 변경" - submit: "내 비밀번호 변경" + submit: 비밀번호 재설정 + title: 비밀번호를 잊으셨나요? + sign_up: + submit: 가입하기 + title: 회원가입 + subdomain: + title: 서브도메인 unlock: - title: "계정 잠금 해제하기" - submit: "계정 잠금 해제하기" - resend_confirmation_instructions: - title: "계정 승인 요청하기" - submit: "계정 승인 요청하기" - links: - sign_up: "회원가입" - sign_in: "로그인" - forgot_your_password: "비밀번호를 잊으셨나요?" - sign_in_with_omniauth_provider: "%{provider} 으로 로그인" - resend_unlock_instructions: "계정 잠금 해제하기" - resend_confirmation_instructions: "계정 승인 요청하기" - access_denied: - message: "이 작업을 수행할 권한이 없습니다." + submit: 계정 잠금 해제하기 + title: 계정 잠금 해제하기 + username: + title: 아이디 + download: '다운로드:' + edit: 수정 + edit_model: "%{model} 수정" + empty: 비어있음 + filters: + buttons: + clear: 필터 초기화 + filter: 필터 + predicates: + from: 시작 + to: 끝 + has_many_delete: 삭제 + has_many_new: 새 %{model} 추가 + has_many_remove: 삭제 index_list: - table: "테이블" + table: 테이블 + logout: 로그아웃 + move: 이동 + new_model: "%{model} 추가" + next: 다음 + pagination: + empty: "%{model} 이/가 없습니다." + entry: + one: 항목 + other: 항목들 + multiple: "%{total}개 중 %{from} - %{to} %{model} 표시중" + multiple_without_total: "%{from} - %{to} %{model} 표시중" + next: 다음 + one: "1개 %{model} 표시중" + one_page: "%{n}개 %{model} 표시중" + per_page: '페이지당 ' + previous: 이전 + truncate: "…" + powered_by: "%{active_admin} %{version} 제공" + previous: 이전 + scopes: + all: 전체 + search_status: + no_current_filters: 현재 적용된 필터가 없습니다 + title: 검색 중 + title_with_scope: "%{name} 검색 중" + sidebars: + filters: 필터 목록 + search_status: 검색 상태 + status_tag: + 'no': 없음 + unset: 알 수 없음 + 'yes': 있음 + toggle_dark_mode: 다크모드 전환 + toggle_main_navigation_menu: 메인 메뉴 전환 + toggle_section: 섹션 전환 + toggle_user_menu: 사용자 메뉴 전환 + view: 보기 + activerecord: + attributes: + active_admin/comment: + author_type: 글쓴이 유형 + body: 본문 + created_at: 작성시간 + namespace: 네임스페이스 + resource_type: 첨부파일 형태 + updated_at: 수정시간 + models: + active_admin/comment: + one: 댓글 + other: 댓글들 + comment: + one: 댓글 + other: 댓글들 diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 92d71b53d1b..c2eba31c4c5 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -1,118 +1,119 @@ +--- lt: active_admin: - dashboard: Valdymo skydelis - view: 'Žiūrėti' - edit: 'Redaguoti' - delete: 'Šalinti' - delete_confirmation: 'Ar jūs tikrai norite tai pašalinti?' - new_model: 'Naujas %{model}' - edit_model: 'Redaguoti %{model}' - delete_model: 'Pašalinti %{model}' - details: '%{model} Informacija' - cancel: 'Atšaukti' - empty: 'Tuščia' - previous: 'Atgal' - next: 'Toliau' - download: 'Atsisiųsti' - has_many_new: 'Pridėti naują %{model}' - has_many_delete: 'Šalinti' - has_many_remove: 'Pašalinti' - filters: - buttons: - filter: 'Filtras' - clear: 'Išvalyti filtrus' - predicates: - from: "Nuo" - to: "Iki" - search_status: - no_current_filters: "nėra" - status_tag: - "yes": "Taip" - "no": "Nėra" - "unset": "Nėra" - logout: 'Išeiti' - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: 'Filtrai' - search_status: "Paieškos būsena" - pagination: - empty: '%{model} nerastas' - one: 'Rodoma 1 %{model}' - one_page: 'Rodoma visi %{n} %{model}' - multiple: 'Rodomi %{model} %{from} - %{to} %{total} iš viso' - multiple_without_total: 'Rodomi %{model} %{from} - %{to} ' - per_page: "Puslapyje: " - entry: - one: 'įrašas' - other: 'įrašai' - any: 'Bet kokia' - blank_slate: - content: 'Nėra %{resource_name}.' - link: 'Sukurti' + access_denied: + message: Jūs nesate įgaliotas atlikti šį veiksmą. + any: Bet kokia batch_actions: - button_label: 'Veiksmai su pažymėtais' - default_confirmation: 'Ar jūs tikrai norite tai padaryti?' - delete_confirmation: 'Ar jūs tikrai norite pašalinti šiuos %{plural_model}?' - succesfully_destroyed: - one: 'Sėkmingai pašalintas 1 %{model}' - other: 'Sėkmingai pašalinti %{count} %{plural_model}' - selection_toggle_explanation: '(Žymėti)' - action_label: '%{title} Pasirinkta' + action_label: "%{title} Pasirinkta" + button_label: Veiksmai su pažymėtais + default_confirmation: Ar jūs tikrai norite tai padaryti? + delete_confirmation: Ar jūs tikrai norite pašalinti šiuos %{plural_model}? labels: - destroy: 'Šalinti' + destroy: Šalinti + selection_toggle_explanation: "(Žymėti)" + successfully_destroyed: + one: Sėkmingai pašalintas 1 %{model} + other: Sėkmingai pašalinti %{count} %{plural_model} + blank_slate: + content: Nėra %{resource_name}. + link: Sukurti + cancel: Atšaukti comments: - created_at: "Sukurta" - resource_type: 'Resurso Tipas' - author_type: 'Autoriaus Tipas' - body: 'Įrašas' - author: 'Autorius' - add: 'Pridėti komentarą' - delete: "Trinti komentarą" - delete_confirmation: "Ar tikrai norite ištrinti šį komentarą?" - resource: 'Išteklių' - no_comments_yet: 'Dar nėra komentarų.' - author_missing: 'Anonimas' - title_content: 'Komentarai (%{count})' + add: Pridėti komentarą + author: Autorius + author_missing: Anonimas + author_type: Autoriaus Tipas + body: Įrašas + created_at: Sukurta + delete: Trinti komentarą + delete_confirmation: Ar tikrai norite ištrinti šį komentarą? errors: - empty_text: 'Komentaras neišsaugotas, tekstas buvo tuščias.' + empty_text: Komentaras neišsaugotas, tekstas buvo tuščias. + no_comments_yet: Dar nėra komentarų. + resource: Išteklių + resource_type: Resurso Tipas + title_content: Komentarai (%{count}) + dashboard: Valdymo skydelis + delete: Šalinti + delete_confirmation: Ar jūs tikrai norite tai pašalinti? + delete_model: Pašalinti %{model} + details: "%{model} Informacija" devise: - username: - title: 'Vartotojo Vardas' + change_password: + submit: Pakeisti mano slaptažodį + title: Slaptažodžio Keitimas email: - title: 'El. paštas' - subdomain: - title: 'Subdomenas' + title: El. paštas + links: + forgot_your_password: Pamiršote slaptažodį? + resend_confirmation_instructions: Persiųsti patvirtinimo instrukcijas + resend_unlock_instructions: Persiųsti pakartotinio atrakinimo instrukcijas + sign_in: Prisijungti + sign_in_with_omniauth_provider: Prisijungti su %{provider} + sign_up: Užsiregistruoti + login: + remember_me: Prisiminti Mane + submit: Prisijungti + title: Prisijungimas password: - title: 'Slaptažodis' + title: Slaptažodis password_confirmation: - title: "Pakartokite slaptažodį" - sign_up: - title: 'Registracija' - submit: 'Užsiregistruoti' - login: - title: 'Prisijungimas' - remember_me: 'Prisiminti Mane' - submit: 'Prisijungti' + title: Pakartokite slaptažodį + resend_confirmation_instructions: + submit: Siųsti patvirtinimo instrukcijas + title: Patvirtinimo Instrukcijos reset_password: - title: 'Pamiršote slaptažodį?' - submit: 'Sukurti Naują Slaptažodį' - change_password: - title: 'Slaptažodžio Keitimas' - submit: 'Pakeisti mano slaptažodį' + submit: Sukurti Naują Slaptažodį + title: Pamiršote slaptažodį? + sign_up: + submit: Užsiregistruoti + title: Registracija + subdomain: + title: Subdomenas unlock: - title: 'Pakartotinio Atrakinimo Instrukcijos' - submit: 'Pakartotinai siųsti atrakinimo instrukcijas' - resend_confirmation_instructions: - title: 'Patvirtinimo Instrukcijos' - submit: 'Siųsti patvirtinimo instrukcijas' - links: - sign_up: "Užsiregistruoti" - sign_in: 'Prisijungti' - forgot_your_password: 'Pamiršote slaptažodį?' - sign_in_with_omniauth_provider: 'Prisijungti su %{provider}' - resend_unlock_instructions: "Persiųsti pakartotinio atrakinimo instrukcijas" - resend_confirmation_instructions: "Persiųsti patvirtinimo instrukcijas" - access_denied: - message: 'Jūs nesate įgaliotas atlikti šį veiksmą.' + submit: Pakartotinai siųsti atrakinimo instrukcijas + title: Pakartotinio Atrakinimo Instrukcijos + username: + title: Vartotojo Vardas + download: Atsisiųsti + edit: Redaguoti + edit_model: Redaguoti %{model} + empty: Tuščia + filters: + buttons: + clear: Išvalyti filtrus + filter: Filtras + predicates: + from: Nuo + to: Iki + has_many_delete: Šalinti + has_many_new: Pridėti naują %{model} + has_many_remove: Pašalinti index_list: - table: "Lentelė" + table: Lentelė + logout: Išeiti + new_model: Naujas %{model} + next: Toliau + pagination: + empty: "%{model} nerastas" + entry: + one: įrašas + other: įrašai + multiple: Rodomi %{model} %{from} - %{to} %{total} iš viso + multiple_without_total: 'Rodomi %{model} %{from} - %{to} ' + one: Rodoma 1 %{model} + one_page: Rodoma visi %{n} %{model} + per_page: 'Puslapyje: ' + powered_by: Powered by %{active_admin} %{version} + previous: Atgal + search_status: + no_current_filters: nėra + sidebars: + filters: Filtrai + search_status: Paieškos būsena + status_tag: + 'no': Nėra + unset: Nėra + 'yes': Taip + view: Žiūrėti diff --git a/config/locales/lv.yml b/config/locales/lv.yml index f5285e822d4..59cf0d48285 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -1,79 +1,80 @@ +--- lv: active_admin: - dashboard: Panelis - view: "Apskatīt" - edit: "Labot" - delete: "Dzēst" - delete_confirmation: "Vai Tu tiešām vēlies dzēst?" - new_model: "Pievienot '%{model}' ierakstu" - edit_model: "Labot '%{model}' ierakstu" - delete_model: "Dzēst '%{model}' ierakstu" - details: "Apraksts" - cancel: "Atcelt" - empty: "Tukšs" - previous: "Iepriekšējā" - next: "Nākošā" - download: "Lejuplādēt:" - has_many_new: "Pievienot jaunu '%{model}' ierakstu" - has_many_delete: "Dzēst" - has_many_remove: "Noņemt" - filters: - buttons: - filter: "Filtrēt" - clear: "Novākt filtrus" - status_tag: - "yes": "Jā" - "no": "Nē" - "unset": "Nē" - logout: "Iziet" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtri" - pagination: - empty: "Nav ierakstu" - one: "1 ieraksts" - one_page: "%{n} ieraksti" - multiple: "%{from} - %{to} ieraksti no %{total} kopā" - multiple_without_total: "%{from} - %{to}" - entry: - one: "ieraksts" - other: "ieraksti" - any: "Jebkurš" - blank_slate: - content: "Sadaļā '%{resource_name}' nav neviena ieraksta." - link: "Izveidot jaunu" + any: Jebkurš batch_actions: - button_label: "Batch Actions" - default_confirmation: "Vai tiešām vēlaties to darīt?" - delete_confirmation: "Vai tiešām vēlaties dzēst šos %{plural_model}?" - succesfully_destroyed: - one: "Successfully deleted 1 %{model}" - other: "Successfully deleted %{count} %{plural_model}" - selection_toggle_explanation: "(Toggle Selection)" action_label: "%{title} Selected" + button_label: Batch Actions + default_confirmation: Vai tiešām vēlaties to darīt? + delete_confirmation: Vai tiešām vēlaties dzēst šos %{plural_model}? labels: - destroy: "Delete" + destroy: Delete + selection_toggle_explanation: "(Toggle Selection)" + successfully_destroyed: + one: Successfully deleted 1 %{model} + other: Successfully deleted %{count} %{plural_model} + blank_slate: + content: Sadaļā '%{resource_name}' nav neviena ieraksta. + link: Izveidot jaunu + cancel: Atcelt comments: - body: "Saturs" - author: "Autors" - add: "Pievienot komentāru" - resource: "Resurss" - no_comments_yet: "Nav neviena komentāra." - title_content: "Komentāri (%{count})" + add: Pievienot komentāru + author: Autors + body: Saturs errors: - empty_text: "Komentārs netika saglabāts - nekas nav ierakstīts" + empty_text: Komentārs netika saglabāts - nekas nav ierakstīts + no_comments_yet: Nav neviena komentāra. + resource: Resurss + title_content: Komentāri (%{count}) + dashboard: Panelis + delete: Dzēst + delete_confirmation: Vai Tu tiešām vēlies dzēst? + delete_model: Dzēst '%{model}' ierakstu + details: Apraksts devise: - login: - title: "Ielogojaties" - remember_me: "atcerēties mani" - submit: "Ielogojaties" - reset_password: - title: "Aizmirsāt savu paroli?" - submit: "Atjaunotu savu paroli" change_password: - title: "Nomainīt paroli" - submit: "Nomainīt savu paroli" + submit: Nomainīt savu paroli + title: Nomainīt paroli links: - sign_in: "pierakstīties" - forgot_your_password: "Aizmirsāt savu paroli?" - sign_in_with_omniauth_provider: "Pierakstieties ar %{provider}" + forgot_your_password: Aizmirsāt savu paroli? + sign_in: pierakstīties + sign_in_with_omniauth_provider: Pierakstieties ar %{provider} + login: + remember_me: atcerēties mani + submit: Ielogojaties + title: Ielogojaties + reset_password: + submit: Atjaunotu savu paroli + title: Aizmirsāt savu paroli? + download: 'Lejuplādēt:' + edit: Labot + edit_model: Labot '%{model}' ierakstu + empty: Tukšs + filters: + buttons: + clear: Novākt filtrus + filter: Filtrēt + has_many_delete: Dzēst + has_many_new: Pievienot jaunu '%{model}' ierakstu + has_many_remove: Noņemt + logout: Iziet + new_model: Pievienot '%{model}' ierakstu + next: Nākošā + pagination: + empty: Nav ierakstu + entry: + one: ieraksts + other: ieraksti + multiple: "%{from} - %{to} ieraksti no %{total} kopā" + multiple_without_total: "%{from} - %{to}" + one: "1 ieraksts" + one_page: "%{n} ieraksti" + powered_by: Powered by %{active_admin} %{version} + previous: Iepriekšējā + sidebars: + filters: Filtri + status_tag: + 'no': Nē + unset: Nē + 'yes': Jā + view: Apskatīt diff --git a/config/locales/mk.yml b/config/locales/mk.yml index a250d1abcd2..63c215fe057 100644 --- a/config/locales/mk.yml +++ b/config/locales/mk.yml @@ -1,111 +1,112 @@ +--- mk: - activerecord: - models: - comment: - one: "Коментар" - other: "Коментари" - active_admin/comment: - one: "Коментар" - other: "Коментари" active_admin: - dashboard: "Почетна" - view: "Прегледај" - edit: "Измени" - delete: "Избриши" - delete_confirmation: "Дали сте сигурни дека сакате да го избришете записот?" - create_another: "Креирај нов %{model}" - new_model: "Додај нов %{model}" - edit_model: "Измени %{model}" - delete_model: "Избриши %{model}" - details: "Детали за %{model}" - cancel: "Откажи" - empty: "Празно" - previous: "Претходно" - next: "Следно" - download: "Преземи во понудените формати:" - has_many_new: "Додај нов %{model}" - has_many_delete: "Избриши" - has_many_remove: "Отстрани" - move: "Премести" - filters: - buttons: - filter: "Пребарај" - clear: "Исчисти филтри" - predicates: - from: "Од" - to: "До" - search_status: - no_current_filters: "Моментално нема филтри" - status_tag: - "yes": "Да" - "no": "Не" - "unset": "Не" - logout: "Одјави се" - powered_by: "Овозможено од %{active_admin} %{version}" - sidebars: - filters: "Филтри за пребарување" - search_status: "Резултати од пребарување" - pagination: - empty: "Нема пронајдени записи за %{model}" - one: "Прикажан 1 %{model}" - one_page: "Прикажани сите %{n} %{model}" - multiple: "Прикажани %{model} %{from} - %{to} од вкупно %{total}" - multiple_without_total: "Прикажани %{model} %{from} - %{to}" - per_page: "Прикази на записи по страна:" - entry: - one: "запис" - other: "записи" - any: "Било кој" - blank_slate: - content: "Не се креирани записи од типот на %{resource_name}." - link: "Креирај нов" + access_denied: + message: Немате овластување да ја извршите оваа активност. + any: Било кој batch_actions: - button_label: "Групни активности" - default_confirmation: "Дали сте сигурни?" - delete_confirmation: "Дали сте сигурни дека сакате да ги избришете %{plural_model}?" - succesfully_destroyed: - one: "Успешно е избришан 1 %{model}" - other: "Успешно се избришани %{count} %{plural_model}" - selection_toggle_explanation: "(Toggle Selection)" action_label: "%{title} го селектираното" + button_label: Групни активности + default_confirmation: Дали сте сигурни? + delete_confirmation: Дали сте сигурни дека сакате да ги избришете %{plural_model}? labels: - destroy: "Избриши" + destroy: Избриши + selection_toggle_explanation: "(Toggle Selection)" + successfully_destroyed: + one: Успешно е избришан 1 %{model} + other: Успешно се избришани %{count} %{plural_model} + blank_slate: + content: Не се креирани записи од типот на %{resource_name}. + link: Креирај нов + cancel: Откажи + create_another: Креирај нов %{model} + dashboard: Почетна + delete: Избриши + delete_confirmation: Дали сте сигурни дека сакате да го избришете записот? + delete_model: Избриши %{model} + details: Детали за %{model} devise: - username: - title: "Корисничко име" + change_password: + submit: Промени лозинка + title: Променете ја лозинката email: - title: "Е-маил" + title: Е-маил + links: + forgot_your_password: Ја заборавивте Вашата лозинка? + resend_confirmation_instructions: Повторно испрати инструкции за потврдување на профил + resend_unlock_instructions: Повторно испрати инструкции за отклучување на профил + sign_in: Најави се + sign_in_with_omniauth_provider: Најави се со %{provider} + sign_up: Креирај профил + login: + remember_me: Запомни ме + submit: Најави се + title: Најави се password: - title: "Лозинка" + title: Лозинка password_confirmation: - title: "Потврди Лозинка" - sign_up: - title: "Креирај профил" - submit: "Креирај" - login: - title: "Најави се" - remember_me: "Запомни ме" - submit: "Најави се" + title: Потврди Лозинка + resend_confirmation_instructions: + submit: Инспрати инструкции + title: Повторно испраќање на инструкции за потврдување на профил reset_password: - title: "Ја заборавивте Вашата лозинка?" - submit: "Промени лозинка" - change_password: - title: "Променете ја лозинката" - submit: "Промени лозинка" + submit: Промени лозинка + title: Ја заборавивте Вашата лозинка? + sign_up: + submit: Креирај + title: Креирај профил unlock: - title: "Повторно испраќање на инструкции за отклучување на профил" - submit: "Испрати инструкции" - resend_confirmation_instructions: - title: "Повторно испраќање на инструкции за потврдување на профил" - submit: "Инспрати инструкции" - links: - sign_up: "Креирај профил" - sign_in: "Најави се" - forgot_your_password: "Ја заборавивте Вашата лозинка?" - sign_in_with_omniauth_provider: "Најави се со %{provider}" - resend_unlock_instructions: "Повторно испрати инструкции за отклучување на профил" - resend_confirmation_instructions: "Повторно испрати инструкции за потврдување на профил" - access_denied: - message: "Немате овластување да ја извршите оваа активност." + submit: Испрати инструкции + title: Повторно испраќање на инструкции за отклучување на профил + username: + title: Корисничко име + download: 'Преземи во понудените формати:' + edit: Измени + edit_model: Измени %{model} + empty: Празно + filters: + buttons: + clear: Исчисти филтри + filter: Пребарај + predicates: + from: Од + to: До + has_many_delete: Избриши + has_many_new: Додај нов %{model} + has_many_remove: Отстрани index_list: - table: "Табела" + table: Табела + logout: Одјави се + move: Премести + new_model: Додај нов %{model} + next: Следно + pagination: + empty: Нема пронајдени записи за %{model} + entry: + one: запис + other: записи + multiple: Прикажани %{model} %{from} - %{to} од вкупно %{total} + multiple_without_total: Прикажани %{model} %{from} - %{to} + one: Прикажан 1 %{model} + one_page: Прикажани сите %{n} %{model} + per_page: 'Прикази на записи по страна:' + powered_by: Овозможено од %{active_admin} %{version} + previous: Претходно + search_status: + no_current_filters: Моментално нема филтри + sidebars: + filters: Филтри за пребарување + search_status: Резултати од пребарување + status_tag: + 'no': Не + unset: Не + 'yes': Да + view: Прегледај + activerecord: + models: + active_admin/comment: + one: Коментар + other: Коментари + comment: + one: Коментар + other: Коментари diff --git a/config/locales/nb.yml b/config/locales/nb.yml index b9bea06522b..c8864992df8 100644 --- a/config/locales/nb.yml +++ b/config/locales/nb.yml @@ -1,110 +1,111 @@ +--- nb: active_admin: - dashboard: Oversikt - view: "Vis" - edit: "Rediger" - delete: "Slett" - delete_confirmation: "Er du sikker på at du vil slette denne?" - new_model: "Ny %{model}" - edit_model: "Rediger %{model}" - delete_model: "Slett %{model}" - details: "%{model} Detaljer" - cancel: "Avbryt" - empty: "Tom" - previous: "Forrige" - next: "Neste" - download: "Last ned:" - has_many_new: "Legg til ny %{model}" - has_many_delete: "Slett" - has_many_remove: "Fjern" - filters: - buttons: - filter: "Filter" - clear: "Fjern filter" - predicates: - from: "Fra" - to: "Til" - search_status: - no_current_filters: "Ingen" - status_tag: - "yes": "Ja" - "no": "Nei" - "unset": "Nei" - logout: "Logg ut" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtere" - pagination: - empty: "Fant ingen %{model}" - one: "Viser 1 %{model}" - one_page: "Viser alle %{n} %{model}" - multiple: "Viser %{model} %{from} - %{to} av %{total} totalt" - multiple_without_total: "Viser %{model} %{from} - %{to}" - entry: - one: "innslag" - other: "innslag" - any: "Alle" - blank_slate: - content: "Her er det ingen %{resource_name} enda." - link: "Opprett en" + access_denied: + message: Du er ikke autorisert til å utføre denne handlingen. + any: Alle batch_actions: - button_label: "Gruppehandlinger" - delete_confirmation: "Er du sikker på at du vil slette disse %{plural_model}? Dette kan ikke reverseres." - succesfully_destroyed: - one: "Slettet én %{model}" - other: "Slettet %{count} %{plural_model}" - selection_toggle_explanation: "(Toggle Selection)" action_label: "%{title} valgt" + button_label: Gruppehandlinger + delete_confirmation: Er du sikker på at du vil slette disse %{plural_model}? Dette kan ikke reverseres. labels: - destroy: "Slett" + destroy: Slett + selection_toggle_explanation: "(Toggle Selection)" + successfully_destroyed: + one: Slettet én %{model} + other: Slettet %{count} %{plural_model} + blank_slate: + content: Her er det ingen %{resource_name} enda. + link: Opprett en + cancel: Avbryt comments: - created_at: "Opprettet" - resource_type: "Ressurstype" - author_type: "Forfattertype" - body: "Brødtekst" - author: "Forfatter" - add: "Legg til kommentar" - delete: "Slett kommentar" - delete_confirmation: "Er du sikker på at du ønsker å slette kommentaren?" - resource: "Ressurs" - no_comments_yet: "Ingen kommentarer ennå." - author_missing: "Anonym" - title_content: "Kommentarer (%{count})" + add: Legg til kommentar + author: Forfatter + author_missing: Anonym + author_type: Forfattertype + body: Brødtekst + created_at: Opprettet + delete: Slett kommentar + delete_confirmation: Er du sikker på at du ønsker å slette kommentaren? errors: - empty_text: "Kommentar ble ikke lagret, teksten var tom." + empty_text: Kommentar ble ikke lagret, teksten var tom. + no_comments_yet: Ingen kommentarer ennå. + resource: Ressurs + resource_type: Ressurstype + title_content: Kommentarer (%{count}) + dashboard: Oversikt + delete: Slett + delete_confirmation: Er du sikker på at du vil slette denne? + delete_model: Slett %{model} + details: "%{model} Detaljer" devise: - username: - title: "Brukernavn" + change_password: + submit: Endre mitt passord + title: Endre passordet email: - title: "E-post" - subdomain: - title: "Subdomene" - password: - title: "Passord" - sign_up: - title: "Opprett brukerkonto" - submit: "Opprett" + title: E-post + links: + forgot_your_password: Glemt passord? + sign_in: Logg inn + sign_in_with_omniauth_provider: Logg på med %{provider} login: - title: "Innlogging" - remember_me: "Husk meg" - submit: "Logg inn" + remember_me: Husk meg + submit: Logg inn + title: Innlogging + password: + title: Passord + resend_confirmation_instructions: + submit: Send bekreftelsesinformasjon på nytt + title: Send bekreftelsesinformasjon på nytt reset_password: - title: "Glemt passord?" - submit: "Tilbakestille passordet mitt" - change_password: - title: "Endre passordet" - submit: "Endre mitt passord" + submit: Tilbakestille passordet mitt + title: Glemt passord? + sign_up: + submit: Opprett + title: Opprett brukerkonto + subdomain: + title: Subdomene unlock: - title: "Send info om gjenoppretting på nytt" - submit: "Send info om gjenoppretting på nytt" - resend_confirmation_instructions: - title: "Send bekreftelsesinformasjon på nytt" - submit: "Send bekreftelsesinformasjon på nytt" - links: - sign_in: "Logg inn" - forgot_your_password: "Glemt passord?" - sign_in_with_omniauth_provider: "Logg på med %{provider}" - access_denied: - message: "Du er ikke autorisert til å utføre denne handlingen." + submit: Send info om gjenoppretting på nytt + title: Send info om gjenoppretting på nytt + username: + title: Brukernavn + download: 'Last ned:' + edit: Rediger + edit_model: Rediger %{model} + empty: Tom + filters: + buttons: + clear: Fjern filter + filter: Filter + predicates: + from: Fra + to: Til + has_many_delete: Slett + has_many_new: Legg til ny %{model} + has_many_remove: Fjern index_list: - table: "Tabell" + table: Tabell + logout: Logg ut + new_model: Ny %{model} + next: Neste + pagination: + empty: Fant ingen %{model} + entry: + one: innslag + other: innslag + multiple: Viser %{model} %{from} - %{to} av %{total} totalt + multiple_without_total: Viser %{model} %{from} - %{to} + one: Viser 1 %{model} + one_page: Viser alle %{n} %{model} + powered_by: Powered by %{active_admin} %{version} + previous: Forrige + search_status: + no_current_filters: Ingen + sidebars: + filters: Filtere + status_tag: + 'no': Nei + unset: Nei + 'yes': Ja + view: Vis diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 60333749323..07c58f0ba80 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -1,126 +1,127 @@ +--- nl: active_admin: - dashboard: Dashboard - view: "Bekijk" - edit: "Wijzig" - delete: "Verwijder" - delete_confirmation: "Weet u zeker dat je dit item wilt verwijderen?" - create_another: "Maak nog een %{model}" - new_model: "Nieuwe %{model}" - edit_model: "Wijzig %{model}" - delete_model: "Verwijder %{model}" - details: "%{model} details" - cancel: "Annuleren" - empty: "Leeg" - previous: "Vorige" - next: "Volgende" - download: "Download" - has_many_new: "Voeg nieuwe %{model} toe" - has_many_delete: "Verwijderen" - has_many_remove: "Verwijderen" - move: "Verplaats" - filters: - buttons: - filter: "Filter" - clear: "Maak Filters Ongedaan" - predicates: - from: Van - to: Tot - scopes: - all: "Alle" - search_status: - title: "Huidige filter" - title_with_scope: "Huidige filter voor %{name}" - no_current_filters: "Geen" - status_tag: - "yes": "Ja" - "no": "Geen" - "unset": "Onbekend" - logout: "Uitloggen" - powered_by: "Mogelijk gemaakt door %{active_admin} %{version}" - sidebars: - filters: "Filters" - search_status: "Zoek status" - pagination: - empty: "Geen %{model} gevonden" - one: "Toont 1 van 1" - one_page: "Toont alle %{n}" - multiple: "Toont %{from}-%{to} van %{total}" - multiple_without_total: "Toont %{from}-%{to}" - per_page: "Per pagina: " - previous: "Vorige" - next: "Volgende" - entry: - one: "entry" - other: "entries" - any: "Alle" - blank_slate: - content: "Er zijn geen %{resource_name} gevonden." - link: "Maak aan" + access_denied: + message: U bent niet gemachtigd voor deze actie. + any: Alle batch_actions: - button_label: "Batch acties" - default_confirmation: "Weet u zeker dat u dit wilt doen?" - delete_confirmation: "Weet u zeker dat u deze %{plural_model} wilt verwijderen?" - succesfully_destroyed: - one: "1 %{model} verwijderd." - other: "%{count} %{plural_model} verwijderd." - selection_toggle_explanation: "(Toggle selectie)" action_label: "%{title} geselecteerde" + button_label: Batch acties + default_confirmation: Weet u zeker dat u dit wilt doen? + delete_confirmation: Weet u zeker dat u deze %{plural_model} wilt verwijderen? labels: - destroy: "Verwijder" + destroy: Verwijder + selection_toggle_explanation: "(Toggle selectie)" + successfully_destroyed: + one: 1 %{model} verwijderd. + other: "%{count} %{plural_model} verwijderd." + blank_slate: + content: Er zijn geen %{resource_name} gevonden. + link: Maak aan + cancel: Annuleren comments: - created_at: "Aangemaakt op" - resource_type: "Resource Type" - author_type: "Auteur Type" - body: "Tekst" - author: "Auteur" - add: "Voeg reactie toe" - delete: "Verwijder reactie" - delete_confirmation: "Weet u zeker dat u deze reactie wilt verwijderen?" - resource: "Resource" - no_comments_yet: "Nog geen reacties." - author_missing: "Anoniem" - title_content: "Alle reacties (%{count})" + add: Voeg reactie toe + author: Auteur + author_missing: Anoniem + author_type: Auteur Type + body: Tekst + created_at: Aangemaakt op + delete: Verwijder reactie + delete_confirmation: Weet u zeker dat u deze reactie wilt verwijderen? errors: - empty_text: "De reactie is niet opgeslagen, de tekst was leeg." + empty_text: De reactie is niet opgeslagen, de tekst was leeg. + no_comments_yet: Nog geen reacties. + resource: Resource + resource_type: Resource Type + title_content: Alle reacties (%{count}) + create_another: Maak nog een %{model} + dashboard: Dashboard + delete: Verwijder + delete_confirmation: Weet u zeker dat je dit item wilt verwijderen? + delete_model: Verwijder %{model} + details: "%{model} details" devise: - username: - title: "Gebruikersnaam" + change_password: + submit: Mijn wachtwoord wijzigen + title: Wijzig uw wachtwoord email: - title: "Email" - subdomain: - title: "Subdomein" + title: Email + links: + forgot_your_password: Wachtwoord vergeten? + resend_confirmation_instructions: Bevestigingsinstructies opnieuw versturen + resend_unlock_instructions: Ontgrendelinstructies opnieuw versturen + sign_in: Meld u aan + sign_in_with_omniauth_provider: Log in met %{provider} + sign_up: Registreren + login: + remember_me: Onthoud mij + submit: Inloggen + title: Inloggen password: - title: "Wachtwoord" + title: Wachtwoord password_confirmation: - title: "Bevestig password" - sign_up: - title: "Registreren" - submit: "Registreren" - login: - title: "Inloggen" - remember_me: "Onthoud mij" - submit: "Inloggen" + title: Bevestig password + resend_confirmation_instructions: + submit: Verstuur bevestigingsinstructies opnieuw + title: Verstuur bevestigingsinstructies opnieuw reset_password: - title: "Wachtwoord vergeten?" - submit: "Reset mijn wachtwoord" - change_password: - title: "Wijzig uw wachtwoord" - submit: "Mijn wachtwoord wijzigen" + submit: Reset mijn wachtwoord + title: Wachtwoord vergeten? + sign_up: + submit: Registreren + title: Registreren + subdomain: + title: Subdomein unlock: - title: "Verstuur ontgrendelinstructies opnieuw" - submit: "Verstuur ontgrendelinstructies opnieuw" - resend_confirmation_instructions: - title: "Verstuur bevestigingsinstructies opnieuw" - submit: "Verstuur bevestigingsinstructies opnieuw" - links: - sign_up: "Registreren" - sign_in: "Meld u aan" - forgot_your_password: "Wachtwoord vergeten?" - sign_in_with_omniauth_provider: "Log in met %{provider}" - resend_unlock_instructions: "Ontgrendelinstructies opnieuw versturen" - resend_confirmation_instructions: "Bevestigingsinstructies opnieuw versturen" - access_denied: - message: "U bent niet gemachtigd voor deze actie." + submit: Verstuur ontgrendelinstructies opnieuw + title: Verstuur ontgrendelinstructies opnieuw + username: + title: Gebruikersnaam + download: Download + edit: Wijzig + edit_model: Wijzig %{model} + empty: Leeg + filters: + buttons: + clear: Maak Filters Ongedaan + filter: Filter + predicates: + from: Van + to: Tot + has_many_delete: Verwijderen + has_many_new: Voeg nieuwe %{model} toe + has_many_remove: Verwijderen index_list: - table: "Tabel" + table: Tabel + logout: Uitloggen + move: Verplaats + new_model: Nieuwe %{model} + next: Volgende + pagination: + empty: Geen %{model} gevonden + entry: + one: entry + other: entries + multiple: Toont %{from}-%{to} van %{total} + multiple_without_total: Toont %{from}-%{to} + next: Volgende + one: Toont 1 van 1 + one_page: Toont alle %{n} + per_page: 'Per pagina: ' + previous: Vorige + powered_by: Mogelijk gemaakt door %{active_admin} %{version} + previous: Vorige + scopes: + all: Alle + search_status: + no_current_filters: Geen + title: Huidige filter + title_with_scope: Huidige filter voor %{name} + sidebars: + filters: Filters + search_status: Zoek status + status_tag: + 'no': Geen + unset: Onbekend + 'yes': Ja + view: Bekijk diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 9f6b31bdeb7..57ae345ab30 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -1,150 +1,151 @@ +--- pl: - activerecord: - models: - comment: - one: "Komentarz" - few: "Komentarze" - many: "Komentarzy" - other: "Komentarze" - active_admin/comment: - one: "Komentarz" - few: "Komentarze" - many: "Komentarzy" - other: "Komentarze" - attributes: - active_admin/comment: - author_type: "Typ autora" - body: "Treść" - created_at: "Utworzony" - namespace: "Namespace" - resource_type: "Typ zasobu" - updated_at: "Zaktualizowany" active_admin: - dashboard: Pulpit - view: "Podgląd" - edit: "Edytuj" - delete: "Usuń" - delete_confirmation: "Jesteś pewien, że chcesz to usunąć?" - create_another: "Utwórz kolejny %{model}" - new_model: "Nowy %{model}" - edit_model: "Edytuj %{model}" - delete_model: "Usuń %{model}" - details: "Szczegóły %{model}" - cancel: "Anuluj" - empty: "Pusty" - previous: "Poprzednia" - next: "Następna" - download: "Pobierz:" - has_many_new: "Dodaj nowy %{model}" - has_many_delete: "Usuń" - has_many_remove: "Usuń" - move: "Przenieś" - filters: - buttons: - filter: "Filtruj" - clear: "Wyczyść Filtry" - predicates: - from: "Od" - to: "Do" - scopes: - all: "Wszystko" - search_status: - title: "Wyszukiwanie" - title_with_scope: "Wyszukiwanie %{name}" - no_current_filters: "Brak" - status_tag: - "yes": "Tak" - "no": "Nie" - "unset": "Nie" - toggle_dark_mode: Przełącz tryb ciemny - toggle_main_navigation_menu: Przełącz główną nawigację - toggle_section: Przełącz sekcję - toggle_user_menu: Przełącz menu użytkownika - logout: "Wyloguj" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtry" - search_status: "Status wyszukiwania" - pagination: - empty: "Nie znaleziono %{model}" - one: "Wyświetlanie 1 %{model}" - one_page: "Wyświetlanie wszystkich %{n} %{model}" - multiple: "Wyświetlanie %{model} %{from} - %{to} z %{total}" - multiple_without_total: "Wyświetlanie %{model} %{from} - %{to}" - per_page: "Na stronę: " - entry: - one: - other: - any: "Jakikolwiek" - blank_slate: - content: "Nie ma jeszcze zasobu %{resource_name}." - link: "Utwórz go" + access_denied: + message: Nie masz uprawnień wystarczających do wykonania tej akcji. + any: Jakikolwiek batch_actions: - button_label: "Akcje na partiach" - default_confirmation: "Czy na pewno chcesz to zrobić?" - delete_confirmation: "Czy na pewno chcesz usunąć te %{plural_model}?" - succesfully_destroyed: - one: "Poprawnie usunięto 1 %{model}" - other: "Poprawnie usunięto %{count} %{plural_model}" - many: "Poprawnie usunięto %{count} %{plural_model}" - few: "Poprawnie usunięto %{count} %{plural_model}" - selection_toggle_explanation: "(Przełącz zaznaczenie)" action_label: "%{title} zaznaczone" + button_label: Akcje na partiach + default_confirmation: Czy na pewno chcesz to zrobić? + delete_confirmation: Czy na pewno chcesz usunąć te %{plural_model}? labels: - destroy: "Usuń" + destroy: Usuń + selection_toggle_explanation: "(Przełącz zaznaczenie)" + successfully_destroyed: + few: Poprawnie usunięto %{count} %{plural_model} + many: Poprawnie usunięto %{count} %{plural_model} + one: Poprawnie usunięto 1 %{model} + other: Poprawnie usunięto %{count} %{plural_model} + blank_slate: + content: Nie ma jeszcze zasobu %{resource_name}. + link: Utwórz go + cancel: Anuluj comments: - created_at: "Utworzony" - resource_type: "Typ zasobu" - author_type: "Typ autora" - body: "Treść" - author: "Autor" - add: "Dodaj komentarz" - delete: "Usuń komentarz" - delete_confirmation: "Czy na pewno chcesz usunąć ten komentarz?" - resource: "Zasób" - no_comments_yet: "Nie ma jeszcze komentarzy." - author_missing: "Anonim" - title_content: "Komentarze (%{count})" + add: Dodaj komentarz + author: Autor + author_missing: Anonim + author_type: Typ autora + body: Treść + created_at: Utworzony + delete: Usuń komentarz + delete_confirmation: Czy na pewno chcesz usunąć ten komentarz? errors: - empty_text: "Komentarz nie został zapisany, zawartość była pusta." + empty_text: Komentarz nie został zapisany, zawartość była pusta. + no_comments_yet: Nie ma jeszcze komentarzy. + resource: Zasób + resource_type: Typ zasobu + title_content: Komentarze (%{count}) + create_another: Utwórz kolejny %{model} + dashboard: Pulpit + delete: Usuń + delete_confirmation: Jesteś pewien, że chcesz to usunąć? + delete_model: Usuń %{model} + details: Szczegóły %{model} devise: - username: - title: "Nazwa użytkownika" + change_password: + submit: Zmień hasło + title: Zmień hasło email: - title: "Email" - subdomain: - title: "Subdomena" + title: Email + links: + forgot_your_password: Nie pamiętasz hasła? + resend_confirmation_instructions: Ponownie wyślij instrukcje aktywacji + resend_unlock_instructions: Ponownie wyślij instrukcję odblokowania konta + sign_in: Zaloguj się + sign_in_with_omniauth_provider: Zaloguj się z %{provider} + sign_up: Zarejestruj się + login: + remember_me: Zapamiętaj mnie + submit: Zaloguj się + title: Logowanie password: - title: "Hasło" + title: Hasło password_confirmation: - title: "Powtórz hasło" - sign_up: - title: "Rejestracja" - submit: "Zarejestruj się" - login: - title: "Logowanie" - remember_me: "Zapamiętaj mnie" - submit: "Zaloguj się" + title: Powtórz hasło + resend_confirmation_instructions: + submit: Ponownie wyślij instrukcje aktywacji + title: Ponownie wyślij instrukcje aktywacji reset_password: - title: "Nie pamiętasz hasła?" - submit: "Zresetować hasło" - change_password: - title: "Zmień hasło" - submit: "Zmień hasło" + submit: Zresetować hasło + title: Nie pamiętasz hasła? + sign_up: + submit: Zarejestruj się + title: Rejestracja + subdomain: + title: Subdomena unlock: - title: "Ponownie wyślij instrukcję odblokowania konta" - submit: "Ponownie wyślij instrukcję odblokowania konta" - resend_confirmation_instructions: - title: "Ponownie wyślij instrukcje aktywacji" - submit: "Ponownie wyślij instrukcje aktywacji" - links: - sign_up: "Zarejestruj się" - sign_in: "Zaloguj się" - forgot_your_password: "Nie pamiętasz hasła?" - sign_in_with_omniauth_provider: "Zaloguj się z %{provider}" - resend_unlock_instructions: "Ponownie wyślij instrukcję odblokowania konta" - resend_confirmation_instructions: "Ponownie wyślij instrukcje aktywacji" - access_denied: - message: "Nie masz uprawnień wystarczających do wykonania tej akcji." + submit: Ponownie wyślij instrukcję odblokowania konta + title: Ponownie wyślij instrukcję odblokowania konta + username: + title: Nazwa użytkownika + download: 'Pobierz:' + edit: Edytuj + edit_model: Edytuj %{model} + empty: Pusty + filters: + buttons: + clear: Wyczyść Filtry + filter: Filtruj + predicates: + from: Od + to: Do + has_many_delete: Usuń + has_many_new: Dodaj nowy %{model} + has_many_remove: Usuń index_list: - table: "Tabela" + table: Tabela + logout: Wyloguj + move: Przenieś + new_model: Nowy %{model} + next: Następna + pagination: + empty: Nie znaleziono %{model} + entry: + one: wpis + other: wpisów + multiple: Wyświetlanie %{model} %{from} - %{to} z %{total} + multiple_without_total: Wyświetlanie %{model} %{from} - %{to} + one: Wyświetlanie 1 %{model} + one_page: Wyświetlanie wszystkich %{n} %{model} + per_page: 'Na stronę: ' + powered_by: Powered by %{active_admin} %{version} + previous: Poprzednia + scopes: + all: Wszystko + search_status: + no_current_filters: Brak + title: Wyszukiwanie + title_with_scope: Wyszukiwanie %{name} + sidebars: + filters: Filtry + search_status: Status wyszukiwania + status_tag: + 'no': Nie + unset: Nie + 'yes': Tak + toggle_dark_mode: Przełącz tryb ciemny + toggle_main_navigation_menu: Przełącz główną nawigację + toggle_section: Przełącz sekcję + toggle_user_menu: Przełącz menu użytkownika + view: Podgląd + activerecord: + attributes: + active_admin/comment: + author_type: Typ autora + body: Treść + created_at: Utworzony + namespace: Namespace + resource_type: Typ zasobu + updated_at: Zaktualizowany + models: + active_admin/comment: + few: Komentarze + many: Komentarzy + one: Komentarz + other: Komentarze + comment: + few: Komentarze + many: Komentarzy + one: Komentarz + other: Komentarze diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index ef9addec6f9..2fbd0b02b4e 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -1,119 +1,148 @@ +--- pt-BR: active_admin: - dashboard: "Painel Administrativo" - view: "Visualizar" - edit: "Editar" - delete: "Remover" - delete_confirmation: "Você tem certeza que deseja remover este item?" - create_another: "Criar outro %{model}" - new_model: "Novo(a) %{model}" - edit_model: "Editar %{model}" - delete_model: "Remover %{model}" - details: "Detalhes do(a) %{model}" - cancel: "Cancelar" - empty: "Vazio" - previous: "Anterior" - next: "Próximo" - download: "Baixar:" - has_many_new: "Adicionar Novo(a) %{model}" - has_many_delete: "Remover" - has_many_remove: "Remover" - filters: - buttons: - filter: "Filtrar" - clear: "Limpar Filtros" - predicates: - from: "A partir de" - to: "Até" - search_status: - no_current_filters: "Nenhum" - status_tag: - "yes": "Sim" - "no": "Não" - "unset": "Não" - logout: "Sair" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtros" - search_status: "Buscou" - pagination: - empty: "Nenhum(a) %{model} encontrado(a)" - one: "Exibindo 1 %{model}" - one_page: "Exibindo todos(as) os(as) %{n} %{model}" - multiple: "Exibindo %{model} %{from} - %{to} de um total de %{total}" - multiple_without_total: "Exibindo %{model} %{from} - %{to}" - per_page: "Por página: " - entry: - one: "registro" - other: "registros" - any: "Qualquer" - blank_slate: - content: "Não existem %{resource_name} ainda." - link: "Novo" + access_denied: + message: Você não tem permissão para realizar o solicitado + any: Qualquer batch_actions: - button_label: "Ações em lote" - default_confirmation: "Tem certeza que quer fazer isso?" - delete_confirmation: "Tem certeza que deseja excluir estes %{plural_model}?" - succesfully_destroyed: - one: "Excluiu com sucesso 1 %{model}" - other: "Excluiu com sucesso %{count} %{plural_model}" - selection_toggle_explanation: "(Alternar Seleção)" action_label: "%{title} Selecionado" + button_label: Ações em lote + default_confirmation: Tem certeza que quer fazer isso? + delete_confirmation: Tem certeza que deseja excluir estes %{plural_model}? labels: - destroy: "Excluir" + destroy: Excluir + selection_toggle_explanation: "(Alternar Seleção)" + successfully_destroyed: + one: Excluiu com sucesso 1 %{model} + other: Excluiu com sucesso %{count} %{plural_model} + blank_slate: + content: Não existem %{resource_name} ainda. + link: Novo + cancel: Cancelar comments: - created_at: "Criado em" - resource_type: "Tipo de Objeto" - author_type: "Tipo de Autor" - body: "Conteúdo" - author: "Autor" - add: "Adicionar Comentário" - delete: "Deletar comentário" - delete_confirmation: "Tem certeza que deseja excluir este comentário?" - resource: "Objeto" - no_comments_yet: "Nenhum comentário." - author_missing: "Anônimo" - title_content: "Comentários: %{count}" + add: Adicionar Comentário + author: Autor + author_missing: Anônimo + author_type: Tipo de Autor + body: Conteúdo + created_at: Criado em + delete: Deletar comentário + delete_confirmation: Tem certeza que deseja excluir este comentário? errors: - empty_text: "O comentário não foi salvo porque o texto estava vazio." + empty_text: O comentário não foi salvo porque o texto estava vazio. + no_comments_yet: Nenhum comentário. + resource: Objeto + resource_type: Tipo de Objeto + title_content: 'Comentários: %{count}' + create_another: Criar outro %{model} + dashboard: Painel Administrativo + delete: Remover + delete_confirmation: Você tem certeza que deseja remover este item? + delete_model: Remover %{model} + details: Detalhes do(a) %{model} devise: - username: - title: "Nome de Usuário" + change_password: + submit: Troque minha senha + title: Troque sua senha email: - title: "E-mail" - subdomain: - title: "Subdomínio" + title: E-mail + links: + forgot_your_password: Esqueceu sua senha? + resend_confirmation_instructions: Reenviar instruções de confirmação + resend_unlock_instructions: Reenviar instruções de desbloqueio + sign_in: Entrar + sign_in_with_omniauth_provider: Entre com o %{provider} + sign_up: Criar conta + login: + remember_me: Lembrar da senha + submit: Entrar + title: Conta password: - title: "Senha" + title: Senha password_confirmation: - title: "Confirmação de senha" - sign_up: - title: "Cadastre-se" - submit: "Continuar" - login: - title: "Conta" - remember_me: "Lembrar da senha" - submit: "Entrar" + title: Confirmação de senha + resend_confirmation_instructions: + submit: Reenviar instruções de confirmação + title: Reenviar instruções de confirmação reset_password: - title: "Esqueceu sua senha?" - submit: "Reinicie minha senha" - change_password: - title: "Troque sua senha" - submit: "Troque minha senha" + submit: Reinicie minha senha + title: Esqueceu sua senha? + sign_up: + submit: Continuar + title: Cadastre-se + subdomain: + title: Subdomínio unlock: - title: "Reenviar instruções de desbloqueio" - submit: "Reenviar instruções de desbloqueio" - resend_confirmation_instructions: - title: "Reenviar instruções de confirmação" - submit: "Reenviar instruções de confirmação" - links: - sign_up: "Criar conta" - sign_in: "Entrar" - forgot_your_password: "Esqueceu sua senha?" - sign_in_with_omniauth_provider: "Entre com o %{provider}" - resend_unlock_instructions: "Reenviar instruções de desbloqueio" - resend_confirmation_instructions: "Reenviar instruções de confirmação" - access_denied: - message: "Você não tem permissão para realizar o solicitado" + submit: Reenviar instruções de desbloqueio + title: Reenviar instruções de desbloqueio + username: + title: Nome de Usuário + download: 'Baixar:' + edit: Editar + edit_model: Editar %{model} + empty: Vazio + filters: + buttons: + clear: Limpar Filtros + filter: Filtrar + predicates: + from: A partir de + to: Até + has_many_delete: Remover + has_many_new: Adicionar Novo(a) %{model} + has_many_remove: Remover index_list: - table: "Tabela" + table: Tabela + logout: Sair + move: Mover + new_model: Novo(a) %{model} + next: Próximo + pagination: + empty: Nenhum(a) %{model} encontrado(a) + entry: + one: registro + other: registros + multiple: Exibindo %{model} %{from} - %{to} de um total de %{total} + multiple_without_total: Exibindo %{model} %{from} - %{to} + next: Próximo + one: Exibindo 1 %{model} + one_page: Exibindo todos(as) os(as) %{n} %{model} + per_page: 'Por página: ' + previous: Anterior + truncate: "…" + powered_by: Powered by %{active_admin} %{version} + previous: Anterior + scopes: + all: Todos + search_status: + no_current_filters: Nenhum filtro aplicado + title: Active Search + title_with_scope: Active Search de %{name} + sidebars: + filters: Filtros + search_status: Buscou + status_tag: + 'no': Não + unset: Não + 'yes': Sim + toggle_dark_mode: Ativar modo escuro + toggle_main_navigation_menu: Ativar menu de navegação principal + toggle_section: Ativar seção + toggle_user_menu: Ativar menu de usuário + view: Visualizar + activerecord: + attributes: + active_admin/comment: + author_type: Tipo do autor + body: Corpo + created_at: Criado em + namespace: Namespace + resource_type: Tipo do recurso + updated_at: Atualizado em + models: + active_admin/comment: + one: Comentário + other: Comentários + comment: + one: Comentário + other: Comentários diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 40bc687dd44..729048d585d 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -1,79 +1,80 @@ -"pt-PT": +--- +pt-PT: active_admin: - dashboard: "Painel de Administração" - view: "Visualizar" - edit: "Editar" - delete: "Remover" - delete_confirmation: "Não tem a certeza de que deseja remover este ítem?" - new_model: "Novo(a) %{model}" - edit_model: "Editar %{model}" - delete_model: "Remover %{model}" - details: "Detalhes do(a) %{model}" - cancel: "Cancelar" - empty: "Vazio" - previous: "Anterior" - next: "Próximo" - download: "Baixar:" - has_many_new: "Adicionar Novo(a) %{model}" - has_many_delete: "Remover" - has_many_remove: "Remover" - filters: - buttons: - filter: "Filtrar" - clear: "Limpar Filtros" - status_tag: - "yes": "Sim" - "no": "Não" - "unset": "Não" - logout: "Sair" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtros" - pagination: - empty: "Nenhum(a) %{model} encontrado(a)" - one: "Mostrando 1 %{model}" - one_page: "Mostrando todos(as) os(as) %{n} %{model}" - multiple: "Mostrando %{model} %{from} - %{to} de um total de %{total}" - multiple_without_total: "Mostrando %{model} %{from} - %{to}" - entry: - one: "registro" - other: "registros" - any: "Qualquer" - blank_slate: - content: "Ainda não existem %{resource_name}." - link: "Novo" + any: Qualquer batch_actions: - button_label: "Ações em quantidade" - default_confirmation: "Tem a certeza que quer fazer isso?" - delete_confirmation: "Tem a certeza de que deseja excluir estes %{plural_model}?" - succesfully_destroyed: - one: "Excluiu com sucesso 1 %{model}" - other: "Excluiu com sucesso %{count} %{plural_model}" - selection_toggle_explanation: "(Alternar Seleção)" action_label: "%{title} Selecionado" + button_label: Ações em quantidade + default_confirmation: Tem a certeza que quer fazer isso? + delete_confirmation: Tem a certeza de que deseja excluir estes %{plural_model}? labels: - destroy: "Excluir" + destroy: Excluir + selection_toggle_explanation: "(Alternar Seleção)" + successfully_destroyed: + one: Excluiu com sucesso 1 %{model} + other: Excluiu com sucesso %{count} %{plural_model} + blank_slate: + content: Ainda não existem %{resource_name}. + link: Novo + cancel: Cancelar comments: - body: "Conteúdo" - author: "Autor" - add: "Adicionar Comentário" - resource: "Objeto" - no_comments_yet: "Nenhum comentário." - title_content: "Comentários: %{count}" + add: Adicionar Comentário + author: Autor + body: Conteúdo errors: - empty_text: "O comentário não foi guardado porque o texto estava vazio." + empty_text: O comentário não foi guardado porque o texto estava vazio. + no_comments_yet: Nenhum comentário. + resource: Objeto + title_content: 'Comentários: %{count}' + dashboard: Painel de Administração + delete: Remover + delete_confirmation: Não tem a certeza de que deseja remover este ítem? + delete_model: Remover %{model} + details: Detalhes do(a) %{model} devise: - login: - title: "Conta" - remember_me: "Lembrar-me" - submit: "Entrar" - reset_password: - title: "Esqueceu-de da sua senha?" - submit: "Reiniciar a minha senha" change_password: - title: "Troque a sua senha" - submit: "Trocar a minha senha" + submit: Trocar a minha senha + title: Troque a sua senha links: - sign_in: "Entrar" - forgot_your_password: "Esqueceu-se da sua senha?" - sign_in_with_omniauth_provider: "Entre com o %{provider}" + forgot_your_password: Esqueceu-se da sua senha? + sign_in: Entrar + sign_in_with_omniauth_provider: Entre com o %{provider} + login: + remember_me: Lembrar-me + submit: Entrar + title: Conta + reset_password: + submit: Reiniciar a minha senha + title: Esqueceu-de da sua senha? + download: 'Baixar:' + edit: Editar + edit_model: Editar %{model} + empty: Vazio + filters: + buttons: + clear: Limpar Filtros + filter: Filtrar + has_many_delete: Remover + has_many_new: Adicionar Novo(a) %{model} + has_many_remove: Remover + logout: Sair + new_model: Novo(a) %{model} + next: Próximo + pagination: + empty: Nenhum(a) %{model} encontrado(a) + entry: + one: registro + other: registros + multiple: Mostrando %{model} %{from} - %{to} de um total de %{total} + multiple_without_total: Mostrando %{model} %{from} - %{to} + one: Mostrando 1 %{model} + one_page: Mostrando todos(as) os(as) %{n} %{model} + powered_by: Powered by %{active_admin} %{version} + previous: Anterior + sidebars: + filters: Filtros + status_tag: + 'no': Não + unset: Não + 'yes': Sim + view: Visualizar diff --git a/config/locales/ro.yml b/config/locales/ro.yml index c6eb8550dad..e89a5444fbb 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -1,84 +1,85 @@ +--- ro: active_admin: - dashboard: "Pagina Principala" - view: "Vizualizati" - edit: "Modificati" - delete: "Stergeti" - delete_confirmation: "Sigur vreti sa stergeti?" - new_model: "Un nou %{model}" - edit_model: "Modificati %{model}" - delete_model: "Stergeti %{model}" - details: "Detalii %{model}" - cancel: "Renuntati" - empty: "Gol" - previous: "Inapoi" - next: "Inainte" - download: "Descarcati:" - has_many_new: "Adaugati un nou %{model}" - has_many_delete: "Stergeti" - has_many_remove: "Scoate" - filters: - buttons: - filter: "Cautati" - clear: "Stergeti filtrele" - status_tag: - "yes": "Da" - "no": "Nu" - "unset": "Nu" - logout: "Iesire" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filtre" - pagination: - empty: "Nu am gasit nici un %{model}" - one: "Afisare 1 %{model}" - one_page: "Sunt afisate toate %{n} inregistrarile" - multiple: "Sunt afisate %{from} - %{to} din %{total} inregistrari" - multiple_without_total: "Sunt afisate %{from} - %{to}" - entry: - one: "înregistrăre" - few: "înregistrări" - other: "înregistrări" - any: "Oricare" - blank_slate: - content: "Momentan nu exista %{resource_name}." - link: "Creati un" + any: Oricare batch_actions: - button_label: "Grupare Actiuni" - default_confirmation: "Sunteţi sigur că doriţi să faceţi acest lucru?" - delete_confirmation: "Sunteţi sigur că doriţi să stergeţi aceste %{plural_model}?" - succesfully_destroyed: - one: "1 %{model} sters" - few: "%{count} %{plural_model} sterse" - other: "%{count} %{plural_model} sterse" - selection_toggle_explanation: "(Modifica Selectia)" action_label: "%{title} Selectat" + button_label: Grupare Actiuni + default_confirmation: Sunteţi sigur că doriţi să faceţi acest lucru? + delete_confirmation: Sunteţi sigur că doriţi să stergeţi aceste %{plural_model}? labels: - destroy: "Sterge" + destroy: Sterge + selection_toggle_explanation: "(Modifica Selectia)" + successfully_destroyed: + few: "%{count} %{plural_model} sterse" + one: 1 %{model} sters + other: "%{count} %{plural_model} sterse" + blank_slate: + content: Momentan nu exista %{resource_name}. + link: Creati un + cancel: Renuntati comments: - body: "Text" - author: "Autor" - add: "Adaugati comentariu" - resource: "Resursa" - no_comments_yet: "Nu exista comentarii." - title_content: "Comentarii (%{count})" + add: Adaugati comentariu + author: Autor + body: Text errors: - empty_text: "Comentariul nu a fost salvat, textul lipseste." + empty_text: Comentariul nu a fost salvat, textul lipseste. + no_comments_yet: Nu exista comentarii. + resource: Resursa + title_content: Comentarii (%{count}) + dashboard: Pagina Principala + delete: Stergeti + delete_confirmation: Sigur vreti sa stergeti? + delete_model: Stergeti %{model} + details: Detalii %{model} devise: + change_password: + submit: Schimbă parola + title: Schimbați parola + links: + forgot_your_password: Ați uitat parola? + sign_in: Autentificare + sign_in_with_omniauth_provider: Conectați-vă cu %{provider} login: - title: "Autentificare" - remember_me: "Tine-ma minte" - submit: "Autentificare" + remember_me: Tine-ma minte + submit: Autentificare + title: Autentificare reset_password: - title: "Ați uitat parola?" - submit: "Reseta parola" - change_password: - title: "Schimbați parola" - submit: "Schimbă parola" + submit: Reseta parola + title: Ați uitat parola? unlock: - title: "Retrimite instrucțiunile de deblocare" - submit: "Retrimite instrucțiunile de deblocare" - links: - sign_in: "Autentificare" - forgot_your_password: "Ați uitat parola?" - sign_in_with_omniauth_provider: "Conectați-vă cu %{provider}" + submit: Retrimite instrucțiunile de deblocare + title: Retrimite instrucțiunile de deblocare + download: 'Descarcati:' + edit: Modificati + edit_model: Modificati %{model} + empty: Gol + filters: + buttons: + clear: Stergeti filtrele + filter: Cautati + has_many_delete: Stergeti + has_many_new: Adaugati un nou %{model} + has_many_remove: Scoate + logout: Iesire + new_model: Un nou %{model} + next: Inainte + pagination: + empty: Nu am gasit nici un %{model} + entry: + few: înregistrări + one: înregistrăre + other: înregistrări + multiple: Sunt afisate %{from} - %{to} din %{total} inregistrari + multiple_without_total: Sunt afisate %{from} - %{to} + one: Afisare 1 %{model} + one_page: Sunt afisate toate %{n} inregistrarile + powered_by: Powered by %{active_admin} %{version} + previous: Inapoi + sidebars: + filters: Filtre + status_tag: + 'no': Nu + unset: Nu + 'yes': Da + view: Vizualizati diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 873fd1bf819..74064738953 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -1,154 +1,155 @@ +--- ru: - activerecord: - models: - comment: - one: "Комментарий" - few: "Комментария" - many: "Комментариев" - other: "Комментариев" - active_admin/comment: - one: "Комментарий" - few: "Комментария" - many: "Комментариев" - other: "Комментариев" - attributes: - active_admin/comment: - author_type: "Тип автора" - body: "Текст" - created_at: "Дата создания" - namespace: "Пространство имён" - resource_type: "Тип ресурса" - updated_at: "Дата обновления" active_admin: - dashboard: "Панель управления" - view: "Открыть" - edit: "Изменить" - delete: "Удалить" - delete_confirmation: "Вы уверены, что хотите удалить это?" - create_another: "Создать ещё %{model}" - new_model: "Создать %{model}" - edit_model: "Изменить %{model}" - delete_model: "Удалить %{model}" - details: "%{model} подробнее" - cancel: "Отмена" - empty: "Пусто" - previous: "Пред." - next: "След." - download: "Загрузка:" - has_many_new: "Добавить %{model}" - has_many_delete: "Удалить" - has_many_remove: "Убрать" - move: "Переместить" - filters: - buttons: - filter: "Фильтровать" - clear: "Очистить" - predicates: - from: "От" - to: "До" - scopes: - all: "Все" - search_status: - title: "Текущий поиск" - title_with_scope: "Текущий поиск %{name}" - no_current_filters: "Ни один" - status_tag: - "yes": "Да" - "no": "Нет" - "unset": "Нет" - toggle_dark_mode: "Переключить тёмную тему" - toggle_main_navigation_menu: "Переключить главное меню" - toggle_section: "Переключить секцию" - toggle_user_menu: "Переключить пользовательское меню" - logout: "Выйти" - powered_by: "Работает на %{active_admin} %{version}" - sidebars: - filters: "Фильтры" - search_status: "Статус поиска" - pagination: - empty: "%{model} не найдено" - one: "Результат: 1 %{model}" - one_page: "Результат: %{n} %{model}" - multiple: "Результат: %{model} %{from} - %{to} из %{total}" - multiple_without_total: "Результат: %{model} %{from} - %{to}" - per_page: "На странице " - previous: "Предыдущая" - next: "Следующая" - entry: - one: "запись" - few: "записи" - many: "записей" - other: "записей" - any: "Любой" - blank_slate: - content: "Пока нет %{resource_name}." - link: "Создать" + access_denied: + message: Вы не авторизованы для выполнения данного действия. + any: Любой batch_actions: - button_label: "Групповые операции" - default_confirmation: "Вы уверены, что вы хотите это сделать?" - delete_confirmation: "Вы уверены, что хотите удалить %{plural_model}?" - succesfully_destroyed: - one: "Успешно удалено: 1 %{model}" - few: "Успешно удалено: %{count} %{plural_model}" - many: "Успешно удалено: %{count} %{plural_model}" - other: "Успешно удалено: %{count} %{plural_model}" - selection_toggle_explanation: "(Отметить всё / Снять выделение)" action_label: "%{title} выбранное" + button_label: Групповые операции + default_confirmation: Вы уверены, что вы хотите это сделать? + delete_confirmation: Вы уверены, что хотите удалить %{plural_model}? labels: - destroy: "Удалить" + destroy: Удалить + selection_toggle_explanation: "(Отметить всё / Снять выделение)" + successfully_destroyed: + few: 'Успешно удалено: %{count} %{plural_model}' + many: 'Успешно удалено: %{count} %{plural_model}' + one: 'Успешно удалено: 1 %{model}' + other: 'Успешно удалено: %{count} %{plural_model}' + blank_slate: + content: Пока нет %{resource_name}. + link: Создать + cancel: Отмена comments: - created_at: "Дата создания" - resource_type: "Тип ресурса" - author_type: "Тип автора" - body: "Текст" - author: "Автор" - add: "Добавить Комментарий" - delete: "Удалить Комментарий" - delete_confirmation: "Вы уверены, что хотите удалить этот комментарий?" - resource: "Ресурс" - no_comments_yet: "Пока нет комментариев." - author_missing: "Аноним" - title_content: "Комментарии (%{count})" + add: Добавить Комментарий + author: Автор + author_missing: Аноним + author_type: Тип автора + body: Текст + created_at: Дата создания + delete: Удалить Комментарий + delete_confirmation: Вы уверены, что хотите удалить этот комментарий? errors: - empty_text: "Комментарий не сохранен, текст не должен быть пустым." + empty_text: Комментарий не сохранен, текст не должен быть пустым. + no_comments_yet: Пока нет комментариев. + resource: Ресурс + resource_type: Тип ресурса + title_content: Комментарии (%{count}) + create_another: Создать ещё %{model} + dashboard: Панель управления + delete: Удалить + delete_confirmation: Вы уверены, что хотите удалить это? + delete_model: Удалить %{model} + details: "%{model} подробнее" devise: - username: - title: "Имя пользователя" + change_password: + submit: Изменение пароля + title: Изменение пароля email: - title: "Эл. почта" - subdomain: - title: "Поддомен" + title: Эл. почта + links: + forgot_your_password: Забыли пароль? + resend_confirmation_instructions: Повторная отправка инструкций подтверждения + resend_unlock_instructions: Повторная отправка инструкций разблокировки + sign_in: Войти + sign_in_with_omniauth_provider: Войти с помощью %{provider} + sign_up: Зарегистрироваться + login: + remember_me: Запомнить меня + submit: Войти + title: Войти password: - title: "Пароль" + title: Пароль password_confirmation: - title: "Подтверждение пароля" - sign_up: - title: "Зарегистрироваться" - submit: "Зарегистрироваться" - login: - title: "Войти" - remember_me: "Запомнить меня" - submit: "Войти" + title: Подтверждение пароля + resend_confirmation_instructions: + submit: Выслать повторно письмо с активацией + title: Выслать повторно письмо с активацией reset_password: - title: "Забыли пароль?" - submit: "Сбросить пароль" - change_password: - title: "Изменение пароля" - submit: "Изменение пароля" + submit: Сбросить пароль + title: Забыли пароль? + sign_up: + submit: Зарегистрироваться + title: Зарегистрироваться + subdomain: + title: Поддомен unlock: - title: "Повторно отправить инструкции по разблокировке" - submit: "Повторно отправить инструкции по разблокировке" - resend_confirmation_instructions: - title: "Выслать повторно письмо с активацией" - submit: "Выслать повторно письмо с активацией" - links: - sign_up: "Зарегистрироваться" - sign_in: "Войти" - forgot_your_password: "Забыли пароль?" - sign_in_with_omniauth_provider: "Войти с помощью %{provider}" - resend_unlock_instructions: "Повторная отправка инструкций разблокировки" - resend_confirmation_instructions: "Повторная отправка инструкций подтверждения" - access_denied: - message: "Вы не авторизованы для выполнения данного действия." + submit: Повторно отправить инструкции по разблокировке + title: Повторно отправить инструкции по разблокировке + username: + title: Имя пользователя + download: 'Загрузка:' + edit: Изменить + edit_model: Изменить %{model} + empty: Пусто + filters: + buttons: + clear: Очистить + filter: Фильтровать + predicates: + from: От + to: До + has_many_delete: Удалить + has_many_new: Добавить %{model} + has_many_remove: Убрать index_list: - table: "Таблица" + table: Таблица + logout: Выйти + move: Переместить + new_model: Создать %{model} + next: След. + pagination: + empty: "%{model} не найдено" + entry: + few: записи + many: записей + one: запись + other: записей + multiple: 'Результат: %{model} %{from} - %{to} из %{total}' + multiple_without_total: 'Результат: %{model} %{from} - %{to}' + next: Следующая + one: 'Результат: 1 %{model}' + one_page: 'Результат: %{n} %{model}' + per_page: 'На странице ' + previous: Предыдущая + powered_by: Работает на %{active_admin} %{version} + previous: Пред. + scopes: + all: Все + search_status: + no_current_filters: Ни один + title: Текущий поиск + title_with_scope: Текущий поиск %{name} + sidebars: + filters: Фильтры + search_status: Статус поиска + status_tag: + 'no': Нет + unset: Нет + 'yes': Да + toggle_dark_mode: Переключить тёмную тему + toggle_main_navigation_menu: Переключить главное меню + toggle_section: Переключить секцию + toggle_user_menu: Переключить пользовательское меню + view: Открыть + activerecord: + attributes: + active_admin/comment: + author_type: Тип автора + body: Текст + created_at: Дата создания + namespace: Пространство имён + resource_type: Тип ресурса + updated_at: Дата обновления + models: + active_admin/comment: + few: Комментария + many: Комментариев + one: Комментарий + other: Комментариев + comment: + few: Комментария + many: Комментариев + one: Комментарий + other: Комментариев diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 8fe1e440d9e..a5bc92149f6 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -1,144 +1,145 @@ +--- sk: - activerecord: - models: - comment: - one: "Komentár" - few: "Komentáre" - many: "Komentárov" - other: "Komentáre" - active_admin/comment: - one: "Komentár" - few: "Komentáre" - many: "Komentárov" - other: "Komentáre" - attributes: - active_admin/comment: - author_type: "Typ autora" - body: "Telo" - created_at: "Vytvorený" - namespace: "Namespace" - resource_type: "Typ komentovanej položky" - updated_at: "Upravený" active_admin: - dashboard: Úvod - view: "Zobraziť" - edit: "Upraviť" - delete: "Zmazať" - delete_confirmation: "Ste si istí, že chcete túto položku zmazať?" - create_another: "Vytvoriť ďalší %{model}" - new_model: "Vytvoriť" - edit_model: "Upraviť" - delete_model: "Zmazať" - details: "Detaily" - cancel: "Zrušiť" - empty: "Prázdne" - previous: "Predchádzajúce" - next: "Nasledujúce" - download: "Stiahnúť:" - has_many_new: "Pridať nový" - has_many_delete: "Zmazať" - has_many_remove: "Odstrániť" - move: "Presunúť" - filters: - buttons: - filter: "Filtrovať" - clear: "Vyčistiť filtre" - predicates: - from: "Od" - to: "Do" - scopes: - all: "Všetko" - search_status: - no_current_filters: "Žiadne" - status_tag: - "yes": "Áno" - "no": "Nie" - "unset": "Nie" - logout: "Odhlásiť" - powered_by: "%{active_admin} %{version}" - sidebars: - filters: "Filtre" - search_status: "Stav vyhľadávania" - pagination: - empty: "Nenájdený." - one: "Zobrazená 1 položka" - one_page: "Počet zobrazených položiek %{n}" - multiple: "%{from} - %{to} z %{total}" - multiple_without_total: "%{from} - %{to}" - entry: - one: "položka" - few: "položky" - other: "položky" - any: "Akákoľvek" - blank_slate: - content: "Zatiaľ tu nie je žiadny obsah." - link: "Vytvoriť" + access_denied: + message: Nemáte oprávnenie k vykonaniu tejto akcie. + any: Akákoľvek batch_actions: - button_label: "Hromadné akcie" - default_confirmation: "Ste si istí, že to chcete spraviť?" - delete_confirmation: "Ste si istí, že chcete zmazať tieto %{plural_model}?" - succesfully_destroyed: - zero: "Nebol zmazaný žiaden %{model}" - one: "Úspešne zmazaný %{model}" - few: "Úspešne zmazané %{count} %{plural_model}" - other: "Úspešne zmazaných %{count} %{plural_model}" - selection_toggle_explanation: "(Zmeniť výber)" action_label: "%{title}" + button_label: Hromadné akcie + default_confirmation: Ste si istí, že to chcete spraviť? + delete_confirmation: Ste si istí, že chcete zmazať tieto %{plural_model}? labels: - destroy: "Vymazať" + destroy: Vymazať + selection_toggle_explanation: "(Zmeniť výber)" + successfully_destroyed: + few: Úspešne zmazané %{count} %{plural_model} + one: Úspešne zmazaný %{model} + other: Úspešne zmazaných %{count} %{plural_model} + zero: Nebol zmazaný žiaden %{model} + blank_slate: + content: Zatiaľ tu nie je žiadny obsah. + link: Vytvoriť + cancel: Zrušiť comments: - created_at: "Vytvorený" - resource_type: "Typ zdroja" - author_type: "Typ autora" - body: "Telo" - author: "Autor" - add: "Pridať komentár" - delete: "Zmazať komentár" - delete_confirmation: "Naozaj chcete zmazať tento komentár?" - resource: "Zdroj" - no_comments_yet: "Žiadny komentár" - author_missing: "Anonymný" - title_content: "Komentáre administrátorov (%{count})" + add: Pridať komentár + author: Autor + author_missing: Anonymný + author_type: Typ autora + body: Telo + created_at: Vytvorený + delete: Zmazať komentár + delete_confirmation: Naozaj chcete zmazať tento komentár? errors: - empty_text: "Komentár nebol uložený, je prázdny." + empty_text: Komentár nebol uložený, je prázdny. + no_comments_yet: Žiadny komentár + resource: Zdroj + resource_type: Typ zdroja + title_content: Komentáre administrátorov (%{count}) + create_another: Vytvoriť ďalší %{model} + dashboard: Úvod + delete: Zmazať + delete_confirmation: Ste si istí, že chcete túto položku zmazať? + delete_model: Zmazať + details: Detaily devise: - username: - title: "Užívateľské meno" + change_password: + submit: Zmeniť svoje heslo + title: Zmeniť heslo email: - title: "Email" - subdomain: - title: "Subdoména" + title: Email + links: + forgot_your_password: Zabudli ste heslo? + resend_confirmation_instructions: Preposlať potvrdzovacie inštrukcie + resend_unlock_instructions: Poslať znovu inštrukcie na odomknutie účtu + sign_in: Prihlásiť sa + sign_in_with_omniauth_provider: Prihlásiť sa cez %{provider} + sign_up: Registrovať sa + login: + remember_me: Zapamätať si ma + submit: Prihlásiť + title: Prihlásenie password: - title: "Heslo" + title: Heslo password_confirmation: - title: "Potvrdenie hesla" - sign_up: - title: "Registrácia" - submit: "Registrovať" - login: - title: "Prihlásenie" - remember_me: "Zapamätať si ma" - submit: "Prihlásiť" + title: Potvrdenie hesla + resend_confirmation_instructions: + submit: Preposlať potvrdzovacie inštrukcie + title: Preposlanie potvrdzovacie inštrukcie reset_password: - title: "Zabudli ste heslo?" - submit: "Obnoviť heslo" - change_password: - title: "Zmeniť heslo" - submit: "Zmeniť svoje heslo" + submit: Obnoviť heslo + title: Zabudli ste heslo? + sign_up: + submit: Registrovať + title: Registrácia + subdomain: + title: Subdoména unlock: - title: "Zaslanie inštrukcií k odomknutiu účtu" - submit: "Zaslať inštrukcií k odomknutiu účtu" - resend_confirmation_instructions: - title: "Preposlanie potvrdzovacie inštrukcie" - submit: "Preposlať potvrdzovacie inštrukcie" - links: - sign_in: "Prihlásiť sa" - sign_up: "Registrovať sa" - forgot_your_password: "Zabudli ste heslo?" - sign_in_with_omniauth_provider: "Prihlásiť sa cez %{provider}" - resend_unlock_instructions: "Poslať znovu inštrukcie na odomknutie účtu" - resend_confirmation_instructions: "Preposlať potvrdzovacie inštrukcie" - access_denied: - message: "Nemáte oprávnenie k vykonaniu tejto akcie." + submit: Zaslať inštrukcií k odomknutiu účtu + title: Zaslanie inštrukcií k odomknutiu účtu + username: + title: Užívateľské meno + download: 'Stiahnúť:' + edit: Upraviť + edit_model: Upraviť + empty: Prázdne + filters: + buttons: + clear: Vyčistiť filtre + filter: Filtrovať + predicates: + from: Od + to: Do + has_many_delete: Zmazať + has_many_new: Pridať nový + has_many_remove: Odstrániť index_list: - table: "Tabuľka" + table: Tabuľka + logout: Odhlásiť + move: Presunúť + new_model: Vytvoriť + next: Nasledujúce + pagination: + empty: Nenájdený. + entry: + few: položky + one: položka + other: položky + multiple: "%{from} - %{to} z %{total}" + multiple_without_total: "%{from} - %{to}" + one: Zobrazená 1 položka + one_page: Počet zobrazených položiek %{n} + powered_by: "%{active_admin} %{version}" + previous: Predchádzajúce + scopes: + all: Všetko + search_status: + no_current_filters: Žiadne + sidebars: + filters: Filtre + search_status: Stav vyhľadávania + status_tag: + 'no': Nie + unset: Nie + 'yes': Áno + view: Zobraziť + activerecord: + attributes: + active_admin/comment: + author_type: Typ autora + body: Telo + created_at: Vytvorený + namespace: Namespace + resource_type: Typ komentovanej položky + updated_at: Upravený + models: + active_admin/comment: + few: Komentáre + many: Komentárov + one: Komentár + other: Komentáre + comment: + few: Komentáre + many: Komentárov + one: Komentár + other: Komentáre diff --git a/config/locales/sv-SE.yml b/config/locales/sv-SE.yml index 52f44176c15..647c23896da 100644 --- a/config/locales/sv-SE.yml +++ b/config/locales/sv-SE.yml @@ -1,138 +1,139 @@ -"sv-SE": - activerecord: - models: - comment: - one: "Kommentar" - other: "Kommentarer" - active_admin/comment: - one: "Kommentar" - other: "Kommentarer" - attributes: - active_admin/comment: - author_type: "Författartyp" - body: "Innehåll" - created_at: "Skapad" - namespace: "Namnrymd" - resource_type: "Resurstyp" - updated_at: "Aktualiserad" +--- +sv-SE: active_admin: - dashboard: Skrivbord - view: "Visa" - edit: "Redigera" - delete: "Ta bort" - delete_confirmation: "Är du säker på att du vill ta bort detta?" - create_another: "Skapa en till %{model}" - new_model: "Ny %{model}" - edit_model: "Redigera %{model}" - delete_model: "Ta bort %{model}" - details: "%{model}-detaljer" - cancel: "Avbryt" - empty: "Tom" - previous: "Föregående" - next: "Nästa" - download: "Ladda ner:" - has_many_new: "Skapa en ny %{model}" - has_many_delete: "Ta bort" - has_many_remove: "Ta bort" - move: "Flytta" - filters: - buttons: - filter: "Filtrera" - clear: "Rensa filter" - predicates: - from: "Från" - to: "Till" - scopes: - all: "Alla" - search_status: - no_current_filters: "Inga" - status_tag: - "yes": "Ja" - "no": "Nej" - "unset": "Nej" - logout: "Logga ut" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Filter" - search_status: "Sökstatus" - pagination: - empty: "Ingen %{model} hittades" - one: "Visar 1 %{model}" - one_page: "Visar alla %{n} %{model}" - multiple: "Visar %{model} %{from} - %{to} av %{total} totalt" - multiple_without_total: "Visar %{model} %{from} - %{to}" - per_page: "Per sida: " - entry: - one: "inlägg" - other: "inlägg" - any: "Alla" - blank_slate: - content: "Det finns inga %{resource_name} än." - link: "Skapa en" + access_denied: + message: Du har inte behörighet att utföra denna åtgärd. + any: Alla batch_actions: - button_label: "Batch-åtgärder" - default_confirmation: "Är du säker på att du vill göra detta?" - delete_confirmation: "Är du säker på att du vill radera dessa %{plural_model}?" - succesfully_destroyed: - one: "Lyckades radera 1 %{model}" - other: "Lyckades radera %{count} %{plural_model}" - selection_toggle_explanation: "(Byt markering)" action_label: "%{title} markerad" + button_label: Batch-åtgärder + default_confirmation: Är du säker på att du vill göra detta? + delete_confirmation: Är du säker på att du vill radera dessa %{plural_model}? labels: - destroy: "Radera" + destroy: Radera + selection_toggle_explanation: "(Byt markering)" + successfully_destroyed: + one: Lyckades radera 1 %{model} + other: Lyckades radera %{count} %{plural_model} + blank_slate: + content: Det finns inga %{resource_name} än. + link: Skapa en + cancel: Avbryt comments: - created_at: "Skapad" - resource_type: "Resurstyp" - author_type: "Författartyp" - body: "Innehåll" - author: "Författare" - add: "Lägg till kommentar" - delete: "Radera kommentar" - delete_confirmation: "Är du säker på att du vill radera dessa kommentarer?" - resource: "Resurs" - no_comments_yet: "Inga kommentarer än." - author_missing: "Anonym" - title_content: "Kommentarer (%{count})" + add: Lägg till kommentar + author: Författare + author_missing: Anonym + author_type: Författartyp + body: Innehåll + created_at: Skapad + delete: Radera kommentar + delete_confirmation: Är du säker på att du vill radera dessa kommentarer? errors: - empty_text: "Kommentaren sparades inte. Textfältet får inte vara tomt." + empty_text: Kommentaren sparades inte. Textfältet får inte vara tomt. + no_comments_yet: Inga kommentarer än. + resource: Resurs + resource_type: Resurstyp + title_content: Kommentarer (%{count}) + create_another: Skapa en till %{model} + dashboard: Skrivbord + delete: Ta bort + delete_confirmation: Är du säker på att du vill ta bort detta? + delete_model: Ta bort %{model} + details: "%{model}-detaljer" devise: - username: - title: "Användarnamn" + change_password: + submit: Ändra mitt lösenord + title: Ändra ditt lösenord email: - title: "E-post" - subdomain: - title: "Subdomän" + title: E-post + links: + forgot_your_password: Glömt ditt lösenord? + resend_confirmation_instructions: Skicka bekräftningsinstruktioner igen + resend_unlock_instructions: Skicka upplåsningsinstruktioner igen + sign_in: Logga in + sign_in_with_omniauth_provider: Logga in med %{provider} + sign_up: Registera + login: + remember_me: Kom ihåg mig + submit: Inloggning + title: Inloggning password: - title: "Lösenord" + title: Lösenord password_confirmation: - title: "Bekräfta lösenord" - sign_up: - title: "Registera" - submit: "Registera" - login: - title: "Inloggning" - remember_me: "Kom ihåg mig" - submit: "Inloggning" + title: Bekräfta lösenord + resend_confirmation_instructions: + submit: Skicka bekräftelseinstruktioner + title: Skicka bekräftelseinstruktioner reset_password: - title: "Glömt ditt lösenord?" - submit: "Återställ mitt lösenord" - change_password: - title: "Ändra ditt lösenord" - submit: "Ändra mitt lösenord" + submit: Återställ mitt lösenord + title: Glömt ditt lösenord? + sign_up: + submit: Registera + title: Registera + subdomain: + title: Subdomän unlock: - title: "Skicka upplåsningsinstruktioner" - submit: "Skicka upplåsningsinstruktioner" - resend_confirmation_instructions: - title: "Skicka bekräftelseinstruktioner" - submit: "Skicka bekräftelseinstruktioner" - links: - sign_up: "Registera" - sign_in: "Logga in" - forgot_your_password: "Glömt ditt lösenord?" - sign_in_with_omniauth_provider: "Logga in med %{provider}" - resend_unlock_instructions: "Skicka upplåsningsinstruktioner igen" - resend_confirmation_instructions: "Skicka bekräftningsinstruktioner igen" - access_denied: - message: "Du har inte behörighet att utföra denna åtgärd." + submit: Skicka upplåsningsinstruktioner + title: Skicka upplåsningsinstruktioner + username: + title: Användarnamn + download: 'Ladda ner:' + edit: Redigera + edit_model: Redigera %{model} + empty: Tom + filters: + buttons: + clear: Rensa filter + filter: Filtrera + predicates: + from: Från + to: Till + has_many_delete: Ta bort + has_many_new: Skapa en ny %{model} + has_many_remove: Ta bort index_list: - table: "Tabell" + table: Tabell + logout: Logga ut + move: Flytta + new_model: Ny %{model} + next: Nästa + pagination: + empty: Ingen %{model} hittades + entry: + one: inlägg + other: inlägg + multiple: Visar %{model} %{from} - %{to} av %{total} totalt + multiple_without_total: Visar %{model} %{from} - %{to} + one: Visar 1 %{model} + one_page: Visar alla %{n} %{model} + per_page: 'Per sida: ' + powered_by: Powered by %{active_admin} %{version} + previous: Föregående + scopes: + all: Alla + search_status: + no_current_filters: Inga + sidebars: + filters: Filter + search_status: Sökstatus + status_tag: + 'no': Nej + unset: Nej + 'yes': Ja + view: Visa + activerecord: + attributes: + active_admin/comment: + author_type: Författartyp + body: Innehåll + created_at: Skapad + namespace: Namnrymd + resource_type: Resurstyp + updated_at: Aktualiserad + models: + active_admin/comment: + one: Kommentar + other: Kommentarer + comment: + one: Kommentar + other: Kommentarer diff --git a/config/locales/tr.yml b/config/locales/tr.yml index b5783c70a65..8f8c647912c 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -1,117 +1,118 @@ +--- tr: active_admin: - dashboard: "Gösterge Paneli" - view: "Görüntüle" - edit: "Düzenle" - delete: "Sil" - delete_confirmation: "Bu kaydı silmek istediğinizden emin misiniz?" - create_another: "Başka bir %{model} oluştur" - new_model: "Yeni %{model}" - edit_model: "%{model} Kaydını Düzenle" - delete_model: "%{model} Kaydını Sil" - details: "%{model} Ayrıntıları" - cancel: "İptal" - empty: "Boş" - previous: "Önceki" - next: "Sonraki" - download: "İndir:" - has_many_new: "Yeni %{model} Ekle" - has_many_delete: "Sil" - has_many_remove: "Çıkar" - move: "Taşı" - filters: - buttons: - filter: "Filtrele" - clear: "Filtreleri Temizle" - search_status: - no_current_filters: "Yok" - status_tag: - "yes": "Evet" - "no": "Hayır" - "unset": "Hayır" - logout: "Çıkış Yap" - powered_by: "%{active_admin} %{version} tarafından desteklenmektedir." - sidebars: - filters: "Filtreler" - search_status: "Arama Durumu" - pagination: - empty: "Hiç %{model} yok" - one: "1 %{model} görüntüleniyor" - one_page: "%{n} %{model} kaydının tamamı görüntüleniyor" - multiple: "%{from} - %{to} arası %{model} görüntüleniyor (toplam %{total} kayıt)" - multiple_without_total: "%{from} - %{to} arası %{model} görüntüleniyor" - per_page: "Sayfa Başına: " - entry: - one: "kayıt" - other: "kayıtlar" - any: "Herhangi biri" - blank_slate: - content: "Henüz %{resource_name} yok." - link: "Bir tane oluşturun" + access_denied: + message: Bu işlemi gerçekleştirmek için yetkiniz yok. + any: Herhangi biri batch_actions: - button_label: "Toplu İşlemler" - default_confirmation: "Bunu yapmak istediğinizden emin misiniz?" - delete_confirmation: "Bu %{plural_model} kayıtlarını silmek istediğinizden emin misiniz?" - succesfully_destroyed: - one: "1 %{model} başarıyla silindi" - other: "Toplam %{count} %{plural_model} başarıyla silindi" - selection_toggle_explanation: "(Seçimi Değiştir)" - action_label: "Seçilenleri %{title}" + action_label: Seçilenleri %{title} + button_label: Toplu İşlemler + default_confirmation: Bunu yapmak istediğinizden emin misiniz? + delete_confirmation: Bu %{plural_model} kayıtlarını silmek istediğinizden emin misiniz? labels: - destroy: "Sil" + destroy: Sil + selection_toggle_explanation: "(Seçimi Değiştir)" + successfully_destroyed: + one: 1 %{model} başarıyla silindi + other: Toplam %{count} %{plural_model} başarıyla silindi + blank_slate: + content: Henüz %{resource_name} yok. + link: Bir tane oluşturun + cancel: İptal comments: - created_at: "Oluşturma Tarihi" - resource_type: "Kayıt Tipi" - author_type: "Yazar Tipi" - body: "Ayrıntı" - author: "Yazar" - add: "Yorum Ekle" - delete: "Yorumu Sil" - delete_confirmation: "Bu yorumları silmek istediğinizden emin misiniz?" - resource: "Kayıt" - no_comments_yet: "Henüz yorum yok." - author_missing: "Anonim" - title_content: "Yorumlar (%{count})" + add: Yorum Ekle + author: Yazar + author_missing: Anonim + author_type: Yazar Tipi + body: Ayrıntı + created_at: Oluşturma Tarihi + delete: Yorumu Sil + delete_confirmation: Bu yorumları silmek istediğinizden emin misiniz? errors: - empty_text: "Yorum boş olarak kaydedilemez." + empty_text: Yorum boş olarak kaydedilemez. + no_comments_yet: Henüz yorum yok. + resource: Kayıt + resource_type: Kayıt Tipi + title_content: Yorumlar (%{count}) + create_another: Başka bir %{model} oluştur + dashboard: Gösterge Paneli + delete: Sil + delete_confirmation: Bu kaydı silmek istediğinizden emin misiniz? + delete_model: "%{model} Kaydını Sil" + details: "%{model} Ayrıntıları" devise: - username: - title: "Kullanıcı adı" + change_password: + submit: Şifremi değiştir + title: Şifrenizi değiştirin email: - title: "E-posta adresi" - subdomain: - title: "Alt alan adı" + title: E-posta adresi + links: + forgot_your_password: Şifrenizi mi unuttunuz? + resend_confirmation_instructions: Onaylama talimatlarını tekrar gönder + resend_unlock_instructions: Hesap geri açma talimatlarını tekrar gönder + sign_in: Giriş yap + sign_in_with_omniauth_provider: "%{provider} ile giriş yapın" + sign_up: Kaydol + login: + remember_me: Beni hatırla + submit: Giriş yap + title: Giriş yap password: - title: "Şifre" + title: Şifre password_confirmation: - title: "Şifreyi Tekrarla" - sign_up: - title: "Kaydol" - submit: "Kaydol" - login: - title: "Giriş yap" - remember_me: "Beni hatırla" - submit: "Giriş yap" + title: Şifreyi Tekrarla + resend_confirmation_instructions: + submit: Onaylama talimatlarını tekrar gönder + title: Onaylama talimatlarını tekrar gönder reset_password: - title: "Şifrenizi mi unuttunuz?" - submit: "Şifremi sıfırla" - change_password: - title: "Şifrenizi değiştirin" - submit: "Şifremi değiştir" + submit: Şifremi sıfırla + title: Şifrenizi mi unuttunuz? + sign_up: + submit: Kaydol + title: Kaydol + subdomain: + title: Alt alan adı unlock: - title: "Hesap geri açma talimatlarını tekrar gönder" - submit: "Hesap geri açma talimatlarını tekrar gönder" - resend_confirmation_instructions: - title: "Onaylama talimatlarını tekrar gönder" - submit: "Onaylama talimatlarını tekrar gönder" - links: - sign_up: "Kaydol" - sign_in: "Giriş yap" - forgot_your_password: "Şifrenizi mi unuttunuz?" - sign_in_with_omniauth_provider: "%{provider} ile giriş yapın" - resend_unlock_instructions: "Hesap geri açma talimatlarını tekrar gönder" - resend_confirmation_instructions: "Onaylama talimatlarını tekrar gönder" - access_denied: - message: "Bu işlemi gerçekleştirmek için yetkiniz yok." + submit: Hesap geri açma talimatlarını tekrar gönder + title: Hesap geri açma talimatlarını tekrar gönder + username: + title: Kullanıcı adı + download: 'İndir:' + edit: Düzenle + edit_model: "%{model} Kaydını Düzenle" + empty: Boş + filters: + buttons: + clear: Filtreleri Temizle + filter: Filtrele + has_many_delete: Sil + has_many_new: Yeni %{model} Ekle + has_many_remove: Çıkar index_list: - table: "Tablo" + table: Tablo + logout: Çıkış Yap + move: Taşı + new_model: Yeni %{model} + next: Sonraki + pagination: + empty: Hiç %{model} yok + entry: + one: kayıt + other: kayıtlar + multiple: "%{from} - %{to} arası %{model} görüntüleniyor (toplam %{total} kayıt)" + multiple_without_total: "%{from} - %{to} arası %{model} görüntüleniyor" + one: "1 %{model} görüntüleniyor" + one_page: "%{n} %{model} kaydının tamamı görüntüleniyor" + per_page: 'Sayfa Başına: ' + powered_by: "%{active_admin} %{version} tarafından desteklenmektedir." + previous: Önceki + search_status: + no_current_filters: Yok + sidebars: + filters: Filtreler + search_status: Arama Durumu + status_tag: + 'no': Hayır + unset: Hayır + 'yes': Evet + view: Görüntüle diff --git a/config/locales/uk.yml b/config/locales/uk.yml index b25c63fc827..5cf78bb6640 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -1,116 +1,153 @@ +--- uk: active_admin: - dashboard: "Панель керування" - view: "Переглянути" - edit: "Змінити" - delete: "Видалити" - delete_confirmation: "Ви впевнені, що хочете це видалити?" - new_model: "Створити %{model}" - edit_model: "Змінити %{model}" - delete_model: "Видалити %{model}" - details: "%{model} детальніше" - cancel: "Скасувати" - empty: "Пусто" - previous: "Поперед." - next: "Наст." - download: "Завантаження:" - has_many_new: "Додати %{model}" - has_many_delete: "Прибрати" - has_many_remove: "Видалити" - filters: - buttons: - filter: "Фільтрувати" - clear: "Очистити" - predicates: - from: "від" - to: "до" - search_status: - no_current_filters: "Жоден" - status_tag: - "yes": "Так" - "no": "Ні" - "unset": "Ні" - logout: "Вийти" - powered_by: "Powered by %{active_admin} %{version}" - sidebars: - filters: "Фільтри" - search_status: "Статус пошуку" - pagination: - empty: "%{model} не знайдено" - one: "Результат: 1 %{model}" - one_page: "Результат: %{n} %{model}" - multiple: "Результат: %{model} %{from} - %{to} з %{total}" - multiple_without_total: "Результат: %{model} %{from} - %{to}" - entry: - one: "запис" - few: "записи" - many: "записів" - other: "записів" - any: "Будь-який" - blank_slate: - content: "Поки-що немає %{resource_name}." - link: "Створити" + access_denied: + message: Ви не авторизовані для виконання даної дії. + any: Будь-який batch_actions: - button_label: "Групові операції" - default_confirmation: "Ви справді бажаєте це зробити?" - delete_confirmation: "Ви впевнені, що хочете видалити %{plural_model}?" - succesfully_destroyed: - one: "Успішно видалено: 1 %{model}" - few: "Успішно видалено: %{count} %{plural_model}" - many: "Успішно видалено: %{count} %{plural_model}" - other: "Успішно видалено: %{count} %{plural_model}" - selection_toggle_explanation: "(Скасувати все / Зняти виділення)" action_label: "%{title} вибране" + button_label: Групові операції + default_confirmation: Ви справді бажаєте це зробити? + delete_confirmation: Ви впевнені, що хочете видалити %{plural_model}? labels: - destroy: "Видалити" + destroy: Видалити + selection_toggle_explanation: "(Скасувати все / Зняти виділення)" + successfully_destroyed: + few: 'Успішно видалено: %{count} %{plural_model}' + many: 'Успішно видалено: %{count} %{plural_model}' + one: 'Успішно видалено: 1 %{model}' + other: 'Успішно видалено: %{count} %{plural_model}' + blank_slate: + content: Поки-що немає %{resource_name}. + link: Створити + cancel: Скасувати comments: - resource_type: "Тип ресурса" - author_type: "Тип автора" - body: "Текст" - author: "Автор" - add: "Додати Коментар" - resource: "Ресурс" - no_comments_yet: "Поки-що немає коментарів." - author_missing: "Анонім" - title_content: "Коментарі (%{count})" + add: Додати Коментар + author: Автор + author_missing: Анонім + author_type: Тип автора + body: Текст + created_at: Дата створення + delete: Видалити Коментар + delete_confirmation: Ви впевнені, що хочете видалити цей коментар? errors: - empty_text: "Коментар не збережено, текст не повинен бути пустим." + empty_text: Коментар не збережено, текст не повинен бути пустим. + no_comments_yet: Поки-що немає коментарів. + resource: Ресурс + resource_type: Тип ресурсу + title_content: Коментарі (%{count}) + create_another: Створити ще %{model} + dashboard: Панель керування + delete: Видалити + delete_confirmation: Ви впевнені, що хочете це видалити? + delete_model: Видалити %{model} + details: "%{model} детальніше" devise: - username: - title: "Ім'я користувача" + change_password: + submit: Змінити пароль + title: Зміна паролю email: - title: "Електронна пошта" - subdomain: - title: "Піддомен" - password: - title: "Пароль" - sign_up: - title: "Зареєструватися" - submit: "Зареєструватися" + title: Електронна пошта + links: + forgot_your_password: Забули пароль? + resend_confirmation_instructions: Повторна відправка інструкцій підтвердження + resend_unlock_instructions: Повторна відправка інструкцій розблокування + sign_in: Увійти + sign_in_with_omniauth_provider: Увійти з допомогою %{provider} + sign_up: Зареєструватись login: - title: "Вхід" - remember_me: "Запам'ятати мене" - submit: "Увійти" + remember_me: Запам'ятати мене + submit: Увійти + title: Вхід + password: + title: Пароль + resend_confirmation_instructions: + submit: Відправити повторно листа з активацією + title: Відправити повторно листа з активацією reset_password: - title: "Забули пароль?" - submit: "Скинути пароль" - change_password: - title: "Зміна паролю" - submit: "Змінити пароль" + submit: Скинути пароль + title: Забули пароль? + sign_up: + submit: Зареєструватися + title: Зареєструватися + subdomain: + title: Піддомен unlock: - title: "Відправити повторно інструкції з розблокування" - submit: "Відправити повторно інструкції з розблокування" - resend_confirmation_instructions: - title: "Відправити повторно листа з активацією" - submit: "Відправити повторно листа з активацією" - links: - sign_up: "Зареєструватись" - sign_in: "Увійти" - forgot_your_password: "Забули пароль?" - sign_in_with_omniauth_provider: "Увійти з допомогою %{provider}" - resend_unlock_instructions: "Повторна відправка інструкцій розблокування" - resend_confirmation_instructions: "Повторна відправка інструкцій підтвердження" - access_denied: - message: "Ви не авторизовані для виконання даної дії." + submit: Відправити повторно інструкції з розблокування + title: Відправити повторно інструкції з розблокування + username: + title: Ім'я користувача + download: 'Завантаження:' + edit: Змінити + edit_model: Змінити %{model} + empty: Пусто + filters: + buttons: + clear: Очистити + filter: Фільтрувати + predicates: + from: від + to: до + has_many_delete: Прибрати + has_many_new: Додати %{model} + has_many_remove: Видалити index_list: - table: "Таблиця" + table: Таблиця + logout: Вийти + move: Перемістити + new_model: Створити %{model} + next: Наст. + pagination: + empty: "%{model} не знайдено" + entry: + few: записи + many: записів + one: запис + other: записів + multiple: 'Результат: %{model} %{from} - %{to} з %{total}' + multiple_without_total: 'Результат: %{model} %{from} - %{to}' + next: Наступна + one: 'Результат: 1 %{model}' + one_page: 'Результат: %{n} %{model}' + per_page: 'На сторінці ' + previous: Попередня + powered_by: Powered by %{active_admin} %{version} + previous: Поперед. + scopes: + all: Всі + search_status: + no_current_filters: Жоден + title: Поточний пошук + title_with_scope: Поточний пошук %{name} + sidebars: + filters: Фільтри + search_status: Статус пошуку + status_tag: + 'no': Ні + unset: Ні + 'yes': Так + toggle_dark_mode: Перемкнути темну тему + toggle_main_navigation_menu: Перемкнути головне меню + toggle_section: Перемкнути секцію + toggle_user_menu: Перемкнути меню користувача + view: Переглянути + activerecord: + attributes: + active_admin/comment: + author_type: Тип автора + body: Текст + created_at: Дата створення + namespace: Простір імен + resource_type: Тип ресурсу + updated_at: Дата оновлення + models: + active_admin/comment: + few: Коментаря + many: Коментарів + one: Коментар + other: Коментарів + comment: + few: Коментаря + many: Коментарів + one: Коментар + other: Коментарів diff --git a/config/locales/vi.yml b/config/locales/vi.yml index ad2c7b06057..ae56a3641a7 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -1,138 +1,139 @@ +--- vi: - activerecord: - models: - comment: - one: "Bình luận" - other: "Các bình luận" - active_admin/comment: - one: "Bình luận" - other: "Các bình luận" - attributes: - active_admin/comment: - author_type: "Loại tác giả" - body: "Nội dung" - created_at: "Đã tạo" - namespace: "Namespace" - resource_type: "Resource type" - updated_at: "Đã cập nhật" active_admin: - dashboard: Bảng điều khiển - view: "Xem" - edit: "Chỉnh sửa" - delete: "Xóa" - delete_confirmation: "Bạn có chắc chắn rằng mình muốn xóa không?" - new_model: "Tạo mới %{model}" - edit_model: "Chỉnh sửa %{model}" - delete_model: "Xóa %{model}" - create_another: "Tạo thêm %{model}" - details: "%{model} Chi tiết" - cancel: "Hủy" - empty: "Trống" - previous: "Trước" - next: "Sau" - download: "Tải về:" - has_many_new: "Thêm mới %{model}" - has_many_delete: "Xóa" - has_many_remove: "Hủy bỏ" - move: "Di chuyển" - filters: - buttons: - filter: "Lọc" - clear: "Xóa dữ liệu lọc" - predicates: - from: "Từ" - to: "Đến" - scopes: - all: "Tất cả" - search_status: - no_current_filters: "Không có" - status_tag: - "yes": "Có" - "no": "Không Có" - "unset": "Không Có" - logout: "Đăng xuất" - powered_by: "Bản quyền bởi %{active_admin} %{version}" - sidebars: - filters: "Bộ Lọc" - search_status: "Trạng thái tìm kiếm" - pagination: - empty: "Không có %{model} nào được tìm thấy" - one: "Đang hiển thị 1 %{model}" - one_page: "Đang hiển thị tất cả %{n} %{model}" - multiple: "Đang hiển thị %{model} %{from} - %{to} of %{total} trong tất cả." - multiple_without_total: "Đang hiển thị %{model} %{from} - %{to}." - per_page: "Mỗi trang: " - entry: - one: "entry" - other: "entries" - any: "Bất kỳ" - blank_slate: - content: "Chưa có %{resource_name}." - link: "Tạo mới" + access_denied: + message: Bạn không có quyền thực hiện tính năng này + any: Bất kỳ batch_actions: - button_label: "Hành động hàng loạt" - default_confirmation: "Bạn có chắc bạn muốn làm điều này?" - delete_confirmation: "Bạn có chắc chắn muốn xóa những %{plural_model}?" - succesfully_destroyed: - one: "Đã xóa thành công 1 %{model}" - other: "Đã xóa thành công %{count} %{plural_model}" - selection_toggle_explanation: "(Thay đổi lựa chọn)" action_label: "%{title} đã được chọn" + button_label: Hành động hàng loạt + default_confirmation: Bạn có chắc bạn muốn làm điều này? + delete_confirmation: Bạn có chắc chắn muốn xóa những %{plural_model}? labels: - destroy: "Xóa" + destroy: Xóa + selection_toggle_explanation: "(Thay đổi lựa chọn)" + successfully_destroyed: + one: Đã xóa thành công 1 %{model} + other: Đã xóa thành công %{count} %{plural_model} + blank_slate: + content: Chưa có %{resource_name}. + link: Tạo mới + cancel: Hủy comments: - created_at: "Đã tạo" - resource_type: "Resource Type" - author_type: "Loại tác giả" - body: "Nội dung" - author: "Tác giả" - add: "Thêm bình luận" - delete: "Xoá bình luận" - delete_confirmation: "Bạn có chắc chắn muốn xóa những bình luận này?" - resource: "Resource" - no_comments_yet: "Chưa có bình luận." - author_missing: "Vô danh" - title_content: "Bình luận (%{count})" + add: Thêm bình luận + author: Tác giả + author_missing: Vô danh + author_type: Loại tác giả + body: Nội dung + created_at: Đã tạo + delete: Xoá bình luận + delete_confirmation: Bạn có chắc chắn muốn xóa những bình luận này? errors: - empty_text: "Lời bình luận chưa được lưu, vì nội dung còn trống." + empty_text: Lời bình luận chưa được lưu, vì nội dung còn trống. + no_comments_yet: Chưa có bình luận. + resource: Resource + resource_type: Resource Type + title_content: Bình luận (%{count}) + create_another: Tạo thêm %{model} + dashboard: Bảng điều khiển + delete: Xóa + delete_confirmation: Bạn có chắc chắn rằng mình muốn xóa không? + delete_model: Xóa %{model} + details: "%{model} Chi tiết" devise: - username: - title: "Tên người dùng" + change_password: + submit: Thay đổi mật khẩu của tôi + title: Thay đổi mật khẩu của bạn email: - title: "Email" - subdomain: - title: "Tên miền phụ" + title: Email + links: + forgot_your_password: Quên mật khẩu của bạn? + resend_confirmation_instructions: Gửi lại hướng dẫn xác nhận + resend_unlock_instructions: Gửi lại hướng dẫn mở khoá + sign_in: Đăng nhập + sign_in_with_omniauth_provider: Đăng nhập với %{provider} + sign_up: Đăng ký + login: + remember_me: Ghi nhớ tôi + submit: Đăng nhập + title: Đăng nhập password: - title: "Mật khẩu" + title: Mật khẩu password_confirmation: - title: "Mật khẩu xác nhận" - sign_up: - title: "Đăng ký" - submit: "Đăng ký" - login: - title: "Đăng nhập" - remember_me: "Ghi nhớ tôi" - submit: "Đăng nhập" + title: Mật khẩu xác nhận + resend_confirmation_instructions: + submit: Gửi lại hướng dẫn xác nhận + title: Gửi lại hướng dẫn xác nhận reset_password: - title: "Quên mật khẩu của bạn?" - submit: "Thiết lập lại mật khẩu của tôi" - change_password: - title: "Thay đổi mật khẩu của bạn" - submit: "Thay đổi mật khẩu của tôi" + submit: Thiết lập lại mật khẩu của tôi + title: Quên mật khẩu của bạn? + sign_up: + submit: Đăng ký + title: Đăng ký + subdomain: + title: Tên miền phụ unlock: - title: "Gửi lại hướng dẫn mở khoá" - submit: "Gửi lại hướng dẫn mở khoá" - resend_confirmation_instructions: - title: "Gửi lại hướng dẫn xác nhận" - submit: "Gửi lại hướng dẫn xác nhận" - links: - sign_up: "Đăng ký" - sign_in: "Đăng nhập" - forgot_your_password: "Quên mật khẩu của bạn?" - sign_in_with_omniauth_provider: "Đăng nhập với %{provider}" - resend_unlock_instructions: "Gửi lại hướng dẫn mở khoá" - resend_confirmation_instructions: "Gửi lại hướng dẫn xác nhận" - access_denied: - message: "Bạn không có quyền thực hiện tính năng này" + submit: Gửi lại hướng dẫn mở khoá + title: Gửi lại hướng dẫn mở khoá + username: + title: Tên người dùng + download: 'Tải về:' + edit: Chỉnh sửa + edit_model: Chỉnh sửa %{model} + empty: Trống + filters: + buttons: + clear: Xóa dữ liệu lọc + filter: Lọc + predicates: + from: Từ + to: Đến + has_many_delete: Xóa + has_many_new: Thêm mới %{model} + has_many_remove: Hủy bỏ index_list: - table: "Bảng" + table: Bảng + logout: Đăng xuất + move: Di chuyển + new_model: Tạo mới %{model} + next: Sau + pagination: + empty: Không có %{model} nào được tìm thấy + entry: + one: entry + other: entries + multiple: Đang hiển thị %{model} %{from} - %{to} of %{total} trong tất cả. + multiple_without_total: Đang hiển thị %{model} %{from} - %{to}. + one: Đang hiển thị 1 %{model} + one_page: Đang hiển thị tất cả %{n} %{model} + per_page: 'Mỗi trang: ' + powered_by: Bản quyền bởi %{active_admin} %{version} + previous: Trước + scopes: + all: Tất cả + search_status: + no_current_filters: Không có + sidebars: + filters: Bộ Lọc + search_status: Trạng thái tìm kiếm + status_tag: + 'no': Không Có + unset: Không Có + 'yes': Có + view: Xem + activerecord: + attributes: + active_admin/comment: + author_type: Loại tác giả + body: Nội dung + created_at: Đã tạo + namespace: Namespace + resource_type: Resource type + updated_at: Đã cập nhật + models: + active_admin/comment: + one: Bình luận + other: Các bình luận + comment: + one: Bình luận + other: Các bình luận diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 09d30f66a0c..db63e704970 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -1,146 +1,148 @@ -"zh-CN": - activerecord: - models: - comment: - one: "评论" - other: "评论" - active_admin/comment: - one: "评论" - other: "评论" - attributes: - active_admin/comment: - author_type: "作者类型" - body: "内容" - created_at: "创建" - namespace: "Namespace" - resource_type: "Resource 类型" - updated_at: "更新" +--- +zh-CN: active_admin: - dashboard: "控制面板" - view: "查看" - edit: "编辑" - delete: "删除" - delete_confirmation: "确定删除?" - create_another: "新增另一个%{model}" - new_model: "新增%{model}" - edit_model: "编辑%{model}" - delete_model: "删除%{model}" - details: "%{model}详情" - cancel: "取消" - empty: "未定义" - previous: "上一个" - next: "下一个" - download: "下载:" - has_many_new: "新增一个%{model}" - has_many_delete: "删除" - has_many_remove: "清除" - move: "移动" - filters: - buttons: - filter: "过滤" - clear: "清除条件" - predicates: - from: "起" - to: "止" - scopes: - all: "所有" - search_status: - title: "搜索条件" - title_with_scope: "搜索条件 %{name}" - no_current_filters: "无" - status_tag: - "yes": "是" - "no": "否" - "unset": "否" - toggle_dark_mode: "切换深色模式" - toggle_main_navigation_menu: "切换主导航" - toggle_section: "切换区块" - toggle_user_menu: "切换用户菜单" - logout: "退出" - powered_by: "构建程序为 %{active_admin} %{version}" - sidebars: - filters: "所有条件" - search_status: "搜索条件" - pagination: - empty: "暂时没有%{model}" - one: "显示 1 %{model}" - one_page: "显示 所有 %{n} %{model}" - multiple: "显示所有 %{total} %{model}中的%{from} - %{to} 条" - multiple_without_total: "%{model}中的%{from} - %{to} 条" - per_page: "每页:" - previous: "上一页" - next: "下一页" - entry: - one: "条目" - other: "条目" - any: "任何" - blank_slate: - content: "暂时还没有%{resource_name}。" - link: "新增一个" + access_denied: + message: 您无权处理此操作 + any: 任何 batch_actions: - button_label: "批处理" - default_confirmation: "你确定要这样做?" - delete_confirmation: "你确定要删除这些%{plural_model}?" - succesfully_destroyed: - one: "成功删除 1 %{model}" - other: "成功删除 %{count} %{plural_model}" - selection_toggle_explanation: "(切换选择)" action_label: "%{title} 被选中" + button_label: 批处理 + default_confirmation: 你确定要这样做? + delete_confirmation: 你确定要删除这些%{plural_model}? labels: - destroy: "删除" + destroy: 删除 + selection_toggle_explanation: "(切换选择)" + successfully_destroyed: + one: 成功删除 1 %{model} + other: 成功删除 %{count} %{plural_model} + blank_slate: + content: 暂时还没有%{resource_name}。 + link: 新增一个 + cancel: 取消 comments: - created_at: "创建于" - resource_type: "资源类型" - author_type: "作者类型" - body: "内容" - author: "作者" - add: "添加评论" - delete: "删除评论" - delete_confirmation: "你确定删除这些评论?" - resource: "资源" - no_comments_yet: "暂时没有评论" - author_missing: "匿名" - title_content: "(%{count})条评论" + add: 添加评论 + author: 作者 + author_missing: 匿名 + author_type: 作者类型 + body: 内容 + created_at: 创建于 + delete: 删除评论 + delete_confirmation: 你确定删除这些评论? errors: - empty_text: "评论保存失败,内空不能为空。" + empty_text: 评论保存失败,内空不能为空。 + no_comments_yet: 暂时没有评论 + resource: 资源 + resource_type: 资源类型 + title_content: "(%{count})条评论" + create_another: 新增另一个%{model} + dashboard: 控制面板 + delete: 删除 + delete_confirmation: 确定删除? + delete_model: 删除%{model} + details: "%{model}详情" devise: - username: - title: "用户名" + change_password: + submit: 修改密码 + title: 修改密码 email: - title: "邮箱" - subdomain: - title: "子域" + title: 邮箱 + links: + forgot_your_password: 忘记了密码? + resend_confirmation_instructions: 重发确认邮件 + resend_unlock_instructions: 重发解锁邮件 + sign_in: 登录 + sign_in_with_omniauth_provider: 通过%{provider}登录 + sign_up: 注册 + login: + remember_me: 记住我 + submit: 登录 + title: 登录 password: - title: "密码" + title: 密码 password_confirmation: - title: "确认密码" - sign_up: - title: "注册" - submit: "注册" - login: - title: "登录" - remember_me: "记住我" - submit: "登录" - reset_password: - title: "忘记了密码?" - submit: "重置我的密码" - change_password: - title: "修改密码" - submit: "修改密码" - unlock: - title: "重新发送送解锁命令" - submit: "重新发送送解锁命令" + title: 确认密码 resend_confirmation_instructions: - title: " 重新发送确认说明" submit: " 重新发送确认说明" - links: - sign_up: "注册" - sign_in: "登录" - forgot_your_password: "忘记了密码?" - sign_in_with_omniauth_provider: "通过%{provider}登录" - resend_unlock_instructions: "重发解锁邮件" - resend_confirmation_instructions: "重发确认邮件" - access_denied: - message: "您无权处理此操作" + title: " 重新发送确认说明" + reset_password: + submit: 重置我的密码 + title: 忘记了密码? + sign_up: + submit: 注册 + title: 注册 + subdomain: + title: 子域 + unlock: + submit: 重新发送送解锁命令 + title: 重新发送送解锁命令 + username: + title: 用户名 + download: 下载: + edit: 编辑 + edit_model: 编辑%{model} + empty: 未定义 + filters: + buttons: + clear: 清除条件 + filter: 过滤 + predicates: + from: 起 + to: 止 + has_many_delete: 删除 + has_many_new: 新增一个%{model} + has_many_remove: 清除 index_list: - table: "表格" + table: 表格 + logout: 退出 + move: 移动 + new_model: 新增%{model} + next: 下一个 + pagination: + empty: 暂时没有%{model} + entry: + one: 条目 + other: 条目 + multiple: 显示所有 %{total} %{model}中的%{from} - %{to} 条 + multiple_without_total: "%{model}中的%{from} - %{to} 条" + next: 下一页 + one: 显示 1 %{model} + one_page: 显示 所有 %{n} %{model} + per_page: 每页: + previous: 上一页 + truncate: "…" + powered_by: 构建程序为 %{active_admin} %{version} + previous: 上一个 + scopes: + all: 所有 + search_status: + no_current_filters: 无 + title: 搜索条件 + title_with_scope: 搜索条件 %{name} + sidebars: + filters: 所有条件 + search_status: 搜索条件 + status_tag: + 'no': 否 + unset: 否 + 'yes': 是 + toggle_dark_mode: 切换深色模式 + toggle_main_navigation_menu: 切换主导航 + toggle_section: 切换区块 + toggle_user_menu: 切换用户菜单 + view: 查看 + activerecord: + attributes: + active_admin/comment: + author_type: 作者类型 + body: 内容 + created_at: 创建 + namespace: Namespace + resource_type: Resource 类型 + updated_at: 更新 + models: + active_admin/comment: + one: 评论 + other: 评论 + comment: + one: 评论 + other: 评论 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index f9c0bdc76fd..65ccc8f8977 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -1,146 +1,148 @@ -"zh-TW": - activerecord: - models: - comment: - one: "評論" - other: "評論" - active_admin/comment: - one: "評論" - other: "評論" - attributes: - active_admin/comment: - author_type: "作者類型" - body: "內容" - created_at: "建立時間" - namespace: "命名空間" - resource_type: "資源類型" - updated_at: "更新時間" +--- +zh-TW: active_admin: - dashboard: "儀表板" - view: "檢視" - edit: "編輯" - delete: "刪除" - delete_confirmation: "你確定要刪除嗎?" - create_another: "新增另一個 %{model}" - new_model: "新增 %{model}" - edit_model: "編輯 %{model}" - delete_model: "刪除 %{model}" - details: "%{model} 明細" - cancel: "取消" - empty: "空的" - previous: "前一個" - next: "下一個" - download: "下載:" - has_many_new: "增加新的 %{model}" - has_many_delete: "刪除" - has_many_remove: "移除" - move: "移動" - filters: - buttons: - filter: "篩選" - clear: "清除篩選條件" - predicates: - from: "從" - to: "到" - scopes: - all: "全部" - search_status: - title: "進行中的搜尋" - title_with_scope: "正在搜尋 %{name}" - no_current_filters: "未套用篩選條件" - status_tag: - "yes": "是" - "no": "否" - "unset": "未知" - toggle_dark_mode: "切換暗黑模式" - toggle_main_navigation_menu: "切換主要導覽" - toggle_section: "切換區塊" - toggle_user_menu: "切換使用者選單" - logout: "登出" - powered_by: "由 %{active_admin} %{version} 提供" - sidebars: - filters: "篩選條件" - search_status: "搜尋狀態" - pagination: - empty: "找不到 %{model}" - one: "顯示 1 %{model}" - one_page: "顯示 全部 %{n} %{model}" - multiple: "總計 %{total} 顯示 %{model} 中%{from} - %{to} 筆" - multiple_without_total: "顯示 %{model} 中%{from} - %{to} 筆" - per_page: "每頁 " - previous: "前一個" - next: "下一個" - entry: - one: "筆" - other: "筆" - any: "任何" - blank_slate: - content: "尚無 %{resource_name}。" - link: "建立一筆" + access_denied: + message: 你沒有權限執行此項操作 + any: 任何 batch_actions: - button_label: "批次操作" - default_confirmation: "你確定要這樣做嗎?" - delete_confirmation: "你確定要刪除這些 %{plural_model} 嗎?" - succesfully_destroyed: - one: "成功刪除 1 %{model}" - other: "成功刪除 %{count} %{plural_model}" - selection_toggle_explanation: "(切換選取)" action_label: "%{title} 已選取" + button_label: 批次操作 + default_confirmation: 你確定要這樣做嗎? + delete_confirmation: 你確定要刪除這些 %{plural_model} 嗎? labels: - destroy: "刪除" + destroy: 刪除 + selection_toggle_explanation: "(切換選取)" + successfully_destroyed: + one: 成功刪除 1 %{model} + other: 成功刪除 %{count} %{plural_model} + blank_slate: + content: 尚無 %{resource_name}。 + link: 建立一筆 + cancel: 取消 comments: - created_at: "建立時間" - resource_type: "資源類型" - author_type: "作者身份" - body: "內文" - author: "作者" - add: "新增評論" - delete: "刪除評論" - delete_confirmation: "你確定要刪除這個評論嗎?" - resource: "資源" - no_comments_yet: "尚無評論" - author_missing: "匿名" - title_content: "%{count} 則評論" + add: 新增評論 + author: 作者 + author_missing: 匿名 + author_type: 作者身份 + body: 內文 + created_at: 建立時間 + delete: 刪除評論 + delete_confirmation: 你確定要刪除這個評論嗎? errors: - empty_text: "評論儲存失敗,不允許空白的內容。" + empty_text: 評論儲存失敗,不允許空白的內容。 + no_comments_yet: 尚無評論 + resource: 資源 + resource_type: 資源類型 + title_content: "%{count} 則評論" + create_another: 新增另一個 %{model} + dashboard: 儀表板 + delete: 刪除 + delete_confirmation: 你確定要刪除嗎? + delete_model: 刪除 %{model} + details: "%{model} 明細" devise: - username: - title: "帳號" + change_password: + submit: 更改我的密碼 + title: 更改你的密碼 email: - title: "電子郵件信箱" - subdomain: - title: "子網域" + title: 電子郵件信箱 + links: + forgot_your_password: 忘記密碼? + resend_confirmation_instructions: 重新發送確認信 + resend_unlock_instructions: 重新發送解鎖指示 + sign_in: 登入 + sign_in_with_omniauth_provider: 使用 %{provider} 登入 + sign_up: 註冊 + login: + remember_me: 記住我 + submit: 登入 + title: 登入 password: - title: "密碼" + title: 密碼 password_confirmation: - title: "確認密碼" - sign_up: - title: "註冊" - submit: "註冊" - login: - title: "登入" - remember_me: "記住我" - submit: "登入" + title: 確認密碼 + resend_confirmation_instructions: + submit: 重新發送確認信 + title: 重新發送確認信 reset_password: - title: "忘記密碼?" - submit: "重設密碼" - change_password: - title: "更改你的密碼" - submit: "更改我的密碼" + submit: 重設密碼 + title: 忘記密碼? + sign_up: + submit: 註冊 + title: 註冊 + subdomain: + title: 子網域 unlock: - title: "重新發送解鎖指示" - submit: "重新發送解鎖指示" - resend_confirmation_instructions: - title: "重新發送確認信" - submit: "重新發送確認信" - links: - sign_up: "註冊" - sign_in: "登入" - forgot_your_password: "忘記密碼?" - sign_in_with_omniauth_provider: "使用 %{provider} 登入" - resend_unlock_instructions: "重新發送解鎖指示" - resend_confirmation_instructions: "重新發送確認信" - access_denied: - message: "你沒有權限執行此項操作" + submit: 重新發送解鎖指示 + title: 重新發送解鎖指示 + username: + title: 帳號 + download: 下載: + edit: 編輯 + edit_model: 編輯 %{model} + empty: 空的 + filters: + buttons: + clear: 清除篩選條件 + filter: 篩選 + predicates: + from: 從 + to: 到 + has_many_delete: 刪除 + has_many_new: 增加新的 %{model} + has_many_remove: 移除 index_list: - table: "表格" + table: 表格 + logout: 登出 + move: 移動 + new_model: 新增 %{model} + next: 下一個 + pagination: + empty: 找不到 %{model} + entry: + one: 筆 + other: 筆 + multiple: 總計 %{total} 顯示 %{model} 中%{from} - %{to} 筆 + multiple_without_total: 顯示 %{model} 中%{from} - %{to} 筆 + next: 下一個 + one: 顯示 1 %{model} + one_page: 顯示 全部 %{n} %{model} + per_page: '每頁 ' + previous: 前一個 + truncate: "…" + powered_by: 由 %{active_admin} %{version} 提供 + previous: 前一個 + scopes: + all: 全部 + search_status: + no_current_filters: 未套用篩選條件 + title: 進行中的搜尋 + title_with_scope: 正在搜尋 %{name} + sidebars: + filters: 篩選條件 + search_status: 搜尋狀態 + status_tag: + 'no': 否 + unset: 未知 + 'yes': 是 + toggle_dark_mode: 切換暗黑模式 + toggle_main_navigation_menu: 切換主要導覽 + toggle_section: 切換區塊 + toggle_user_menu: 切換使用者選單 + view: 檢視 + activerecord: + attributes: + active_admin/comment: + author_type: 作者類型 + body: 內容 + created_at: 建立時間 + namespace: 命名空間 + resource_type: 資源類型 + updated_at: 更新時間 + models: + active_admin/comment: + one: 評論 + other: 評論 + comment: + one: 評論 + other: 評論 diff --git a/docs/2-resource-customization.md b/docs/2-resource-customization.md index fa4ef03ed61..2d2b51b1562 100644 --- a/docs/2-resource-customization.md +++ b/docs/2-resource-customization.md @@ -200,14 +200,14 @@ end ### Menu Priority -Menu items are sorted first by their numeric priority, then alphabetically. Since -every menu by default has a priority of `10`, the menu is normally alphabetical. +Menu items are sorted first by their numeric priority, then alphabetically. Every +menu item has a default priority of `10`. -You can easily customize this: +You can customize this with: ```ruby ActiveAdmin.register Post do - menu priority: 1 # so it's on the very left + menu priority: 1 # so it's the first menu item visible end ``` diff --git a/docs/4-csv-format.md b/docs/4-csv-format.md index 0dd877e9b92..d72503eeffa 100644 --- a/docs/4-csv-format.md +++ b/docs/4-csv-format.md @@ -15,7 +15,7 @@ ActiveAdmin.register Post do csv do column :title column(:author) { |post| post.author.full_name } - column('bODY', humanize_name: false) # preserve case + column('body', humanize_name: false) # preserves case of column title end end ``` diff --git a/features/index/filters.feature b/features/index/filters.feature index 5f4fd69090a..64768e09519 100644 --- a/features/index/filters.feature +++ b/features/index/filters.feature @@ -31,9 +31,9 @@ Feature: Index Filtering filter :title end """ - When I fill in "Title" with "" + When I fill in "Title" with "" And I press "Filter" - Then I should see current filter "title_cont" equal to "" with label "Title contains" + Then I should see current filter "title_cont" equal to "" with label "Title contains" Scenario: Filtering posts with no results Given 3 posts exist diff --git a/features/step_definitions/action_item_steps.rb b/features/step_definitions/action_item_steps.rb index 8d2ed90ad09..be27c221bb0 100644 --- a/features/step_definitions/action_item_steps.rb +++ b/features/step_definitions/action_item_steps.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true -Then /^I should see an action item link to "([^"]*)"$/ do |link| +Then(/^I should see an action item link to "([^"]*)"$/) do |link| expect(page).to have_css("[data-test-action-items] > a", text: link) end -Then /^I should not see an action item link to "([^"]*)"$/ do |link| +Then(/^I should not see an action item link to "([^"]*)"$/) do |link| expect(page).to have_no_css("[data-test-action-items] > a", text: link) end diff --git a/features/step_definitions/action_link_steps.rb b/features/step_definitions/action_link_steps.rb index 08fd65f70dc..9531ac3f540 100644 --- a/features/step_definitions/action_link_steps.rb +++ b/features/step_definitions/action_link_steps.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true -Then /^I should see a member link to "([^"]*)"$/ do |name| +Then(/^I should see a member link to "([^"]*)"$/) do |name| expect(page).to have_css(".data-table-resource-actions > a", text: name) end -Then /^I should not see a member link to "([^"]*)"$/ do |name| +Then(/^I should not see a member link to "([^"]*)"$/) do |name| %{Then I should not see "#{name}" within ".data-table-resource-actions > a"} end -Then /^I should see the actions column with the class "([^"]*)" and the title "([^"]*)"$/ do |klass, title| +Then(/^I should see the actions column with the class "([^"]*)" and the title "([^"]*)"$/) do |klass, title| expect(page).to have_css "th#{'.' + klass}", text: title end diff --git a/features/step_definitions/additional_web_steps.rb b/features/step_definitions/additional_web_steps.rb index 51087d0b94d..66caa1d2f4b 100644 --- a/features/step_definitions/additional_web_steps.rb +++ b/features/step_definitions/additional_web_steps.rb @@ -1,39 +1,39 @@ # frozen_string_literal: true -Then /^I should see a table header with "([^"]*)"$/ do |content| +Then(/^I should see a table header with "([^"]*)"$/) do |content| expect(page).to have_xpath "//th", text: content end -Then /^I should not see a table header with "([^"]*)"$/ do |content| +Then(/^I should not see a table header with "([^"]*)"$/) do |content| expect(page).to have_no_xpath "//th", text: content end -Then /^I should see a sortable table header with "([^"]*)"$/ do |content| +Then(/^I should see a sortable table header with "([^"]*)"$/) do |content| expect(page).to have_css "th[data-sortable]", text: content end -Then /^I should not see a sortable table header with "([^"]*)"$/ do |content| +Then(/^I should not see a sortable table header with "([^"]*)"$/) do |content| expect(page).to have_no_css "th[data-sortable]", text: content end -Then /^I should not see a sortable table header$/ do +Then(/^I should not see a sortable table header$/) do step %{I should not see "th[data-sortable]"} end -Then /^the table "([^"]*)" should have (\d+) rows/ do |selector, count| +Then(/^the table "([^"]*)" should have (\d+) rows/) do |selector, count| trs = page.find(selector).all :css, "tr" expect(trs.size).to eq count.to_i end -Then /^the table "([^"]*)" should have (\d+) columns/ do |selector, count| +Then(/^the table "([^"]*)" should have (\d+) columns/) do |selector, count| tds = page.find(selector).find("tr:first").all :css, "td" expect(tds.size).to eq count.to_i end -Then /^there should be (\d+) "([^"]*)" tags?$/ do |count, tag| +Then(/^there should be (\d+) "([^"]*)" tags?$/) do |count, tag| expect(page.all(:css, tag).size).to eq count.to_i end -Then /^I should see a link to "([^"]*)"$/ do |link| +Then(/^I should see a link to "([^"]*)"$/) do |link| if Capybara.current_driver == Capybara.javascript_driver expect(page).to have_xpath "//a", text: link, wait: 30 else @@ -41,39 +41,39 @@ end end -Then /^an "([^"]*)" exception should be raised when I follow "([^"]*)"$/ do |error, link| +Then(/^an "([^"]*)" exception should be raised when I follow "([^"]*)"$/) do |error, link| expect do step "I follow \"#{link}\"" end.to raise_error(error.constantize) end -Then /^I should be in the resource section for (.+)$/ do |resource_name| +Then(/^I should be in the resource section for (.+)$/) do |resource_name| expect(current_url).to include resource_name.tr(" ", "").underscore.pluralize end -Then /^I should see the page title "([^"]*)"$/ do |title| +Then(/^I should see the page title "([^"]*)"$/) do |title| within("[data-test-page-header]") do expect(page).to have_content title end end -Then /^I should see a fieldset titled "([^"]*)"$/ do |title| +Then(/^I should see a fieldset titled "([^"]*)"$/) do |title| expect(page).to have_css "fieldset legend", text: title end -Then /^the "([^"]*)" field should contain the option "([^"]*)"$/ do |field, option| +Then(/^the "([^"]*)" field should contain the option "([^"]*)"$/) do |field, option| field = find_field(field) expect(field).to have_css "option", text: option end -Then /^I should see the content "([^"]*)"$/ do |content| +Then(/^I should see the content "([^"]*)"$/) do |content| expect(page).to have_css "[data-test-page-content]", text: content end -Then /^I should see a validation error "([^"]*)"$/ do |error_message| +Then(/^I should see a validation error "([^"]*)"$/) do |error_message| expect(page).to have_css ".inline-errors", text: error_message end -Then /^I should see a table with id "([^"]*)"$/ do |dom_id| +Then(/^I should see a table with id "([^"]*)"$/) do |dom_id| page.find("table##{dom_id}") end diff --git a/features/step_definitions/attribute_steps.rb b/features/step_definitions/attribute_steps.rb index ccfec9387b4..20f652ba434 100644 --- a/features/step_definitions/attribute_steps.rb +++ b/features/step_definitions/attribute_steps.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -Then /^I should( not)? see the attribute "([^"]*)" with "([^"]*)"$/ do |negate, title, value| +Then(/^I should( not)? see the attribute "([^"]*)" with "([^"]*)"$/) do |negate, title, value| elems = all ".attributes-table th:contains('#{title}') ~ td:contains('#{value}')" if negate @@ -9,11 +9,11 @@ end end -Then /^I should see the attribute "([^"]*)" with a nicely formatted datetime$/ do |title| - text = all(".attributes-table th:contains('#{title}') ~ td").first.text - expect(text).to match /\w+ \d{1,2}, \d{4} \d{2}:\d{2}/ +Then(/^I should see the attribute "([^"]*)" with a nicely formatted datetime$/) do |title| + text = first(".attributes-table th:contains('#{title}') ~ td").text + expect(text).to match(/\w+ \d{1,2}, \d{4} \d{2}:\d{2}/) end -Then /^I should not see the attribute "([^"]*)"$/ do |title| +Then(/^I should not see the attribute "([^"]*)"$/) do |title| expect(page).to have_no_css ".attributes-table th", text: title end diff --git a/features/step_definitions/batch_action_steps.rb b/features/step_definitions/batch_action_steps.rb index 81af60a8ed2..2a0a126d4b3 100644 --- a/features/step_definitions/batch_action_steps.rb +++ b/features/step_definitions/batch_action_steps.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -Then /^I (should|should not) see the batch action :([^\s]*) "([^"]*)"$/ do |maybe, sym, title| +Then(/^I (should|should not) see the batch action :([^\s]*) "([^"]*)"$/) do |maybe, sym, title| selector = "[data-batch-action-item]" selector += "[href='#'][data-action='#{sym}']" if maybe == "should" @@ -7,20 +7,20 @@ expect(page).send verb, have_css(selector, text: title) end -Then /^the (\d+)(?:st|nd|rd|th) batch action should be "([^"]*)"$/ do |index, title| +Then(/^the (\d+)(?:st|nd|rd|th) batch action should be "([^"]*)"$/) do |index, title| batch_action = page.all("[data-batch-action-item]")[index.to_i - 1] expect(batch_action.text).to match title end -When /^I check the (\d+)(?:st|nd|rd|th) record$/ do |index| +When(/^I check the (\d+)(?:st|nd|rd|th) record$/) do |index| page.all(".batch-actions-resource-selection")[index.to_i].set true end -Then /^I should see that the batch action button is disabled$/ do +Then(/^I should see that the batch action button is disabled$/) do expect(page).to have_css ".batch-actions-dropdown button[disabled]" end -Then /^I (should|should not) see the batch action (button|selector)$/ do |maybe, type| +Then(/^I (should|should not) see the batch action (button|selector)$/) do |maybe, type| selector = ".batch-actions-dropdown" selector += " button" if maybe == "should" && type == "button" @@ -28,11 +28,11 @@ expect(page).send verb, have_css(selector) end -Then /^I should see the batch action popover$/ do +Then(/^I should see the batch action popover$/) do expect(page).to have_css ".batch-actions-dropdown" end -Given /^I submit the batch action form with "([^"]*)"$/ do |action| +Given(/^I submit the batch action form with "([^"]*)"$/) do |action| page.find_by_id('batch_action', visible: false).set action form = page.find_by_id 'collection_selection' params = page.all("#collection_selection input", visible: false).each_with_object({}) do |input, obj| @@ -47,12 +47,12 @@ page.driver.submit form["method"], form["action"], params end -When /^I click "(.*?)" and accept confirmation$/ do |link| +When(/^I click "(.*?)" and accept confirmation$/) do |link| accept_confirm do click_on(link) end end -Then /^I should not see checkboxes in the table$/ do +Then(/^I should not see checkboxes in the table$/) do expect(page).to have_no_css ".paginated-collection table input[type=checkbox]" end diff --git a/features/step_definitions/breadcrumb_steps.rb b/features/step_definitions/breadcrumb_steps.rb index 67ba0bdc773..e423287f8c6 100644 --- a/features/step_definitions/breadcrumb_steps.rb +++ b/features/step_definitions/breadcrumb_steps.rb @@ -9,6 +9,6 @@ end end -Then /^I should see a link to "([^"]*)" in the breadcrumb$/ do |text| +Then(/^I should see a link to "([^"]*)" in the breadcrumb$/) do |text| expect(page).to have_css "nav[aria-label=breadcrumb] a", text: text end diff --git a/features/step_definitions/comment_steps.rb b/features/step_definitions/comment_steps.rb index c6a7361fe7c..d59240f5a40 100644 --- a/features/step_definitions/comment_steps.rb +++ b/features/step_definitions/comment_steps.rb @@ -1,19 +1,19 @@ # frozen_string_literal: true -Then /^I should see a comment by "([^"]*)"$/ do |name| +Then(/^I should see a comment by "([^"]*)"$/) do |name| step %{I should see "#{name}" within "[data-test-comment-container]"} end -Then /^I should( not)? be able to add a comment$/ do |negate| +Then(/^I should( not)? be able to add a comment$/) do |negate| should = negate ? :not_to : :to expect(page).send should, have_button("Add Comment") end -When /^I add a comment "([^"]*)"$/ do |comment| +When(/^I add a comment "([^"]*)"$/) do |comment| step %{I fill in "comment_body" with "#{comment}"} step %{I press "Add Comment"} end -Given /^(a|\d+) comments added by admin with an email "([^"]+)"?$/ do |number, email| +Given(/^(a|\d+) comments added by admin with an email "([^"]+)"?$/) do |number, email| number = number == "a" ? 1 : number.to_i admin_user = ensure_user_created(email) @@ -30,6 +30,6 @@ end end -Then /^I should see (\d+) comments?$/ do |number| +Then(/^I should see (\d+) comments?$/) do |number| expect(page).to have_css("[data-test-comment-container]", count: number.to_i) end diff --git a/features/step_definitions/configuration_steps.rb b/features/step_definitions/configuration_steps.rb index c009fdc9a5a..69307e69ec5 100644 --- a/features/step_definitions/configuration_steps.rb +++ b/features/step_definitions/configuration_steps.rb @@ -5,13 +5,13 @@ def load_aa_config(config_content) eval(config_content) ActiveSupport::Notifications.instrument ActiveAdmin::Application::AfterLoadEvent, { active_admin_application: ActiveAdmin.application } Rails.application.reload_routes! - ActiveAdmin.application.namespaces.each &:reset_menu! + ActiveAdmin.application.namespaces.each(&:reset_menu!) end end World(ActiveAdminReloading) -Given /^a(?:n? (index|show))? configuration of:$/ do |action, config_content| +Given(/^a(?:n? (index|show))? configuration of:$/) do |action, config_content| load_aa_config(config_content) case action diff --git a/features/step_definitions/factory_steps.rb b/features/step_definitions/factory_steps.rb index 189b4ec9806..43cf31f69ad 100644 --- a/features/step_definitions/factory_steps.rb +++ b/features/step_definitions/factory_steps.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true def create_user(name, type = "User") first_name, last_name = name.split(" ") - user = type.camelize.constantize.where(first_name: first_name, last_name: last_name).first_or_create(username: name.tr(" ", "").underscore) + type.camelize.constantize.where(first_name: first_name, last_name: last_name).first_or_create(username: name.tr(" ", "").underscore) end -Given /^(a|\d+)( published)?( unstarred|starred)? posts?(?: with the title "([^"]*)")?(?: and body "([^"]*)")?(?: written by "([^"]*)")?(?: in category "([^"]*)")? exists?$/ do |count, published, starred, title, body, user, category_name| +Given(/^(a|\d+)( published)?( unstarred|starred)? posts?(?: with the title "([^"]*)")?(?: and body "([^"]*)")?(?: written by "([^"]*)")?(?: in category "([^"]*)")? exists?$/) do |count, published, starred, title, body, user, category_name| count = count == "a" ? 1 : count.to_i published = Time.now if published starred = starred == " starred" if starred @@ -16,29 +16,29 @@ def create_user(name, type = "User") end end -Given /^a category named "([^"]*)" exists$/ do |name| +Given(/^a category named "([^"]*)" exists$/) do |name| Category.create! name: name end -Given /^a (user|publisher) named "([^"]*)" exists$/ do |type, name| +Given(/^a (user|publisher) named "([^"]*)" exists$/) do |type, name| create_user name, type end -Given /^a store named "([^"]*)" exists$/ do |name| +Given(/^a store named "([^"]*)" exists$/) do |name| Store.create! name: name end -Given /^a tag named "([^"]*)" exists$/ do |name| +Given(/^a tag named "([^"]*)" exists$/) do |name| Tag.create! name: name end -Given /^a company named "([^"]*)"(?: with a store named "([^"]*)")? exists$/ do |name, store_name| +Given(/^a company named "([^"]*)"(?: with a store named "([^"]*)")? exists$/) do |name, store_name| store = Store.create! name: store_name if store_name Company.create! name: name, stores: [store].compact end -Given /^I create a new post with the title "([^"]*)"$/ do |title| +Given(/^I create a new post with the title "([^"]*)"$/) do |title| first(:link, "Posts").click click_on "New Post" fill_in "post_title", with: title diff --git a/features/step_definitions/filesystem_steps.rb b/features/step_definitions/filesystem_steps.rb index 8ebed39499b..c7a3190e4e5 100644 --- a/features/step_definitions/filesystem_steps.rb +++ b/features/step_definitions/filesystem_steps.rb @@ -42,7 +42,7 @@ def rollback_file(file, contents) rollback! end -Given /^"([^"]*)" contains:$/ do |filename, contents| +Given(/^"([^"]*)" contains:$/) do |filename, contents| path = Rails.root + filename FileUtils.mkdir_p File.dirname path record path @@ -50,10 +50,10 @@ def rollback_file(file, contents) File.open(path, "w+") { |f| f << contents } end -Given /^I add "([^"]*)" to the "([^"]*)" model$/ do |code, model_name| +Given(/^I add "([^"]*)" to the "([^"]*)" model$/) do |code, model_name| path = Rails.root.join "app", "models", "#{model_name}.rb" record path - str = File.read(path).gsub /^(class .+)$/, "\\1\n #{code}\n" + str = File.read(path).gsub(/^(class .+)$/, "\\1\n #{code}\n") File.open(path, "w+") { |f| f << str } end diff --git a/features/step_definitions/filter_steps.rb b/features/step_definitions/filter_steps.rb index 9006672a545..4ec225bf05d 100644 --- a/features/step_definitions/filter_steps.rb +++ b/features/step_definitions/filter_steps.rb @@ -9,23 +9,23 @@ end end -Then /^I should see a select filter for "([^"]*)"$/ do |label| +Then(/^I should see a select filter for "([^"]*)"$/) do |label| expect(page).to have_css ".filters-form-field.select label", text: label end -Then /^I should see a string filter for "([^"]*)"$/ do |label| +Then(/^I should see a string filter for "([^"]*)"$/) do |label| expect(page).to have_css ".filters-form-field.string label", text: label end -Then /^I should see a date range filter for "([^"]*)"$/ do |label| +Then(/^I should see a date range filter for "([^"]*)"$/) do |label| expect(page).to have_css ".filters-form-field.date_range label", text: label end -Then /^I should see a number filter for "([^"]*)"$/ do |label| +Then(/^I should see a number filter for "([^"]*)"$/) do |label| expect(page).to have_css ".filters-form-field.numeric label", text: label end -Then /^I should see the following filters:$/ do |table| +Then(/^I should see the following filters:$/) do |table| table.rows_hash.each do |label, type| step %{I should see a #{type} filter for "#{label}"} end @@ -43,15 +43,15 @@ expect(params[key]).to eq value end -Then /^I should see current filter "([^"]*)" equal to "([^"]*)" with label "([^"]*)"$/ do |name, value, label| +Then(/^I should see current filter "([^"]*)" equal to "([^"]*)" with label "([^"]*)"$/) do |name, value, label| expect(page).to have_css ".active-filters [data-filter='#{name}'] span", text: label expect(page).to have_css ".active-filters [data-filter='#{name}'] strong", text: value end -Then /^I should see current filter "([^"]*)" equal to "([^"]*)"$/ do |name, value| +Then(/^I should see current filter "([^"]*)" equal to "([^"]*)"$/) do |name, value| expect(page).to have_css ".active-filters [data-filter='#{name}'] strong", text: value end -Then /^I should see link "([^"]*)" in current filters/ do |label| +Then(/^I should see link "([^"]*)" in current filters/) do |label| expect(page).to have_css ".active-filters [data-filter] strong a", text: label end diff --git a/features/step_definitions/format_steps.rb b/features/step_definitions/format_steps.rb index 7d78bf316a1..26867d3d060 100644 --- a/features/step_definitions/format_steps.rb +++ b/features/step_definitions/format_steps.rb @@ -14,22 +14,22 @@ end Then "I should see nicely formatted datetimes" do - expect(page.body).to match /\w+ \d{1,2}, \d{4} \d{2}:\d{2}/ + expect(page.body).to match(/\w+ \d{1,2}, \d{4} \d{2}:\d{2}/) end -Then /^I should( not)? see a link to download "([^"]*)"$/ do |negate, format| +Then(/^I should( not)? see a link to download "([^"]*)"$/) do |negate, format| method = negate ? :to_not : :to expect(page).send method, have_css("a", text: format) end # Check first rows of the displayed CSV. -Then /^I should download a CSV file with "([^"]*)" separator for "([^"]*)" containing:$/ do |sep, resource_name, table| +Then(/^I should download a CSV file with "([^"]*)" separator for "([^"]*)" containing:$/) do |sep, resource_name, table| body = page.driver.response.body content_type_header, content_disposition_header, last_modified_header = %w[Content-Type Content-Disposition Last-Modified].map do |header_name| page.response_headers[header_name] end expect(content_type_header).to eq "text/csv; charset=utf-8" - expect(content_disposition_header).to match /\Aattachment; filename=".+?\.csv"\z/ + expect(content_disposition_header).to match(/\Aattachment; filename=".+?\.csv"\z/) expect(last_modified_header).to_not be_nil expect(Date.strptime(last_modified_header, "%a, %d %b %Y %H:%M:%S GMT")).to be_a(Date) @@ -40,28 +40,28 @@ if expected_cell.blank? expect(cell).to eq nil else - expect(cell || "").to match /#{expected_cell}/ + expect(cell || "").to match(/#{expected_cell}/) end end end end -Then /^I should download a CSV file for "([^"]*)" containing:$/ do |resource_name, table| +Then(/^I should download a CSV file for "([^"]*)" containing:$/) do |resource_name, table| step %{I should download a CSV file with "," separator for "#{resource_name}" containing:}, table end -Then /^the CSV file should contain "([^"]*)" in quotes$/ do |text| - expect(page.driver.response.body).to match /"#{text}"/ +Then(/^the CSV file should contain "([^"]*)" in quotes$/) do |text| + expect(page.driver.response.body).to match(/"#{text}"/) end -Then /^the encoding of the CSV file should be "([^"]*)"$/ do |text| +Then(/^the encoding of the CSV file should be "([^"]*)"$/) do |text| expect(page.driver.response.body.encoding).to be Encoding.find(Encoding.aliases[text] || text) end -Then /^the CSV file should start with BOM$/ do +Then(/^the CSV file should start with BOM$/) do expect(page.driver.response.body.bytes).to start_with(239, 187, 191) end -Then /^access denied$/ do +Then(/^access denied$/) do expect(page).to have_content(I18n.t("active_admin.access_denied.message")) end diff --git a/features/step_definitions/i18n_steps.rb b/features/step_definitions/i18n_steps.rb index b7095422a45..de9dd3f19cf 100644 --- a/features/step_definitions/i18n_steps.rb +++ b/features/step_definitions/i18n_steps.rb @@ -1,4 +1,4 @@ # frozen_string_literal: true -When /^I set my locale to "([^"]*)"$/ do |lang| +When(/^I set my locale to "([^"]*)"$/) do |lang| I18n.locale = lang end diff --git a/features/step_definitions/index_scope_steps.rb b/features/step_definitions/index_scope_steps.rb index 9038e697b46..e785a0e2383 100644 --- a/features/step_definitions/index_scope_steps.rb +++ b/features/step_definitions/index_scope_steps.rb @@ -1,25 +1,25 @@ # frozen_string_literal: true -Then /^I should( not)? see the scope "([^"]*)"( selected)?$/ do |negate, name, selected| +Then(/^I should( not)? see the scope "([^"]*)"( selected)?$/) do |negate, name, selected| should = "I should#{' not' if negate}" scope = ".scopes#{' .index-button-selected' if selected}" step %{#{should} see "#{name}" within "#{scope}"} end -Then /^I should see the scope "([^"]*)" not selected$/ do |name| +Then(/^I should see the scope "([^"]*)" not selected$/) do |name| step %{I should see the scope "#{name}"} expect(page).to have_no_css ".scopes .index-button-selected", text: name end -Then /^I should see the scope "([^"]*)" with the count (\d+)$/ do |name, count| +Then(/^I should see the scope "([^"]*)" with the count (\d+)$/) do |name, count| expect(page).to have_css ".scopes a", text: name expect(page).to have_css ".scopes-count", text: count end -Then /^I should see the scope with label "([^"]*)"$/ do |label| +Then(/^I should see the scope with label "([^"]*)"$/) do |label| expect(page).to have_link(label) end -Then /^I should see the scope "([^"]*)" with no count$/ do |name| +Then(/^I should see the scope "([^"]*)" with no count$/) do |name| expect(page).to have_css ".scopes a", text: name expect(page).to have_no_css ".scopes-count" end diff --git a/features/step_definitions/menu_steps.rb b/features/step_definitions/menu_steps.rb index b51dc39dca1..81ff4999d1c 100644 --- a/features/step_definitions/menu_steps.rb +++ b/features/step_definitions/menu_steps.rb @@ -1,24 +1,24 @@ # frozen_string_literal: true -Then /^I should see a menu item for "([^"]*)"$/ do |name| +Then(/^I should see a menu item for "([^"]*)"$/) do |name| expect(page).to have_css "#main-menu li a", text: name end -Then /^I should not see a menu item for "([^"]*)"$/ do |name| +Then(/^I should not see a menu item for "([^"]*)"$/) do |name| expect(page).to have_no_css "#main-menu li a", text: name end -Then /^the "([^"]*)" menu item should be hidden$/ do |name| +Then(/^the "([^"]*)" menu item should be hidden$/) do |name| expect(page).to have_css "#main-menu .hidden a", text: name end -Then /^I should see a menu parent for "([^"]*)"$/ do |name| +Then(/^I should see a menu parent for "([^"]*)"$/) do |name| expect(page).to have_css "#main-menu li button", text: name end -Then /^I should see a nested menu item for "([^"]*)"$/ do |name| +Then(/^I should see a nested menu item for "([^"]*)"$/) do |name| expect(page).to have_css "#main-menu li li a", text: name end -Then /^the "([^"]*)" menu item should be selected$/ do |name| +Then(/^the "([^"]*)" menu item should be selected$/) do |name| expect(page).to have_css "#main-menu li a.selected", text: name end diff --git a/features/step_definitions/pagination_steps.rb b/features/step_definitions/pagination_steps.rb index 2904fafac63..33a15772da8 100644 --- a/features/step_definitions/pagination_steps.rb +++ b/features/step_definitions/pagination_steps.rb @@ -1,16 +1,16 @@ # frozen_string_literal: true -Then /^I should not see pagination$/ do +Then(/^I should not see pagination$/) do expect(page).to have_no_css "[data-test-pagination]" end -Then /^I should see pagination page (\d+) link$/ do |num| +Then(/^I should see pagination page (\d+) link$/) do |num| expect(page).to have_css "[data-test-pagination] a", text: num, count: 1 end -Then /^I should see the pagination "Next" link/ do +Then(/^I should see the pagination "Next" link/) do expect(page).to have_css "[data-test-pagination] a", text: "Next" end -Then /^I should not see the pagination "Next" link/ do +Then(/^I should not see the pagination "Next" link/) do expect(page).to have_no_css "[data-test-pagination] a", text: "Next" end diff --git a/features/step_definitions/site_title_steps.rb b/features/step_definitions/site_title_steps.rb index a56f5385e21..601281b5808 100644 --- a/features/step_definitions/site_title_steps.rb +++ b/features/step_definitions/site_title_steps.rb @@ -9,6 +9,6 @@ end end -Then /^I should see the site title "([^"]*)"$/ do |title| +Then(/^I should see the site title "([^"]*)"$/) do |title| expect(page).to have_css "[data-test-site-title]", text: title end diff --git a/features/step_definitions/table_steps.rb b/features/step_definitions/table_steps.rb index 8c7e6d9595e..29a979a2338 100644 --- a/features/step_definitions/table_steps.rb +++ b/features/step_definitions/table_steps.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -Then /^I should see (\d+) ([\w]*) in the table$/ do |count, resource_type| +Then(/^I should see (\d+) ([\w]*) in the table$/) do |count, resource_type| expect(page).to have_css(".data-table tr > td:first-child", count: count.to_i) end @@ -11,7 +11,7 @@ expect(page).to have_no_css(".data-table tr > td", text: string) end -Then /^I should see an id_column link to edit page$/ do +Then(/^I should see an id_column link to edit page$/) do expect(page).to have_css(".data-table a[href*='/edit']", text: /^\d+$/) end @@ -41,7 +41,7 @@ def cell_to_string(td) str += input_to_string(input) end - str += td.content.strip.tr("\n", " ") + str + td.content.strip.tr("\n", " ") end def input_to_string(input) @@ -90,7 +90,7 @@ def assert_tables_match(table, expected_table) def assert_cells_match(cell, expected_cell) if /^\/.*\/$/.match?(expected_cell) - expect(cell).to match /#{expected_cell[1..-2]}/ + expect(cell).to match(/#{expected_cell[1..-2]}/) else expect((cell || "").strip).to eq expected_cell end @@ -106,7 +106,7 @@ def assert_cells_match(cell, expected_cell) # | /\d+/ | 27/01/12 | $30.00 | # | /\d+/ | 12/02/12 | $25.00 | # -Then /^I should see the "([^"]*)" table:$/ do |table_id, expected_table| +Then(/^I should see the "([^"]*)" table:$/) do |table_id, expected_table| expect(page).to have_css "table##{table_id}" assert_tables_match( diff --git a/features/step_definitions/user_steps.rb b/features/step_definitions/user_steps.rb index 3b3e4a78072..f5834d27d20 100644 --- a/features/step_definitions/user_steps.rb +++ b/features/step_definitions/user_steps.rb @@ -3,16 +3,16 @@ def ensure_user_created(email) AdminUser.create_with(password: "password", password_confirmation: "password").find_or_create_by!(email: email) end -Given /^(?:I am logged|log) out$/ do +Given(/^(?:I am logged|log) out$/) do click_on "Sign out" if page.all(:css, "a", text: "Sign out").any? end -Given /^I am logged in$/ do +Given(/^I am logged in$/) do logout(:user) login_as ensure_user_created "admin@example.com" end -Given /^I am logged in with capybara$/ do +Given(/^I am logged in with capybara$/) do ensure_user_created "admin@example.com" step "log out" @@ -22,11 +22,11 @@ def ensure_user_created(email) click_on "Sign In" end -Given /^an admin user "([^"]*)" exists$/ do |email| +Given(/^an admin user "([^"]*)" exists$/) do |email| ensure_user_created(email) end -Given /^"([^"]*)" requests a password reset with token "([^"]*)"( but it expires)?$/ do |email, token, expired| +Given(/^"([^"]*)" requests a password reset with token "([^"]*)"( but it expires)?$/) do |email, token, expired| visit new_admin_user_password_path fill_in "Email", with: email allow(Devise).to receive(:friendly_token).and_return(token) @@ -35,13 +35,13 @@ def ensure_user_created(email) AdminUser.where(email: email).first.update_attribute :reset_password_sent_at, 1.month.ago if expired end -Given /^override locale "([^"]*)" with "([^"]*)"$/ do |path, value| +Given(/^override locale "([^"]*)" with "([^"]*)"$/) do |path, value| keys_value = path.split(".") + [value] locale_hash = keys_value.reverse.inject { |a, n| { n => a } } I18n.available_locales I18n.backend.store_translations(I18n.locale, locale_hash) end -When /^I fill in the password field with "([^"]*)"$/ do |password| +When(/^I fill in the password field with "([^"]*)"$/) do |password| fill_in "admin_user_password", with: password end diff --git a/features/step_definitions/web_steps.rb b/features/step_definitions/web_steps.rb index 9b91ffa2a44..ae59d96488b 100644 --- a/features/step_definitions/web_steps.rb +++ b/features/step_definitions/web_steps.rb @@ -43,61 +43,61 @@ def selector_for(locator) end World(WithinHelpers) -When /^(.*) within (.*)$/ do |step_name, parent| +When(/^(.*) within (.*)$/) do |step_name, parent| with_scope(parent) { step step_name } end -Given /^I am on (.+)$/ do |page_name| +Given(/^I am on (.+)$/) do |page_name| visit path_to(page_name) end -When /^I go to (.+)$/ do |page_name| +When(/^I go to (.+)$/) do |page_name| visit path_to(page_name) end -When /^I visit (.+) twice$/ do |page_name| +When(/^I visit (.+) twice$/) do |page_name| 2.times { visit path_to(page_name) } end -When /^I press "([^"]*)"$/ do |button| +When(/^I press "([^"]*)"$/) do |button| click_on(button) end -When /^I follow "([^"]*)"$/ do |link| +When(/^I follow "([^"]*)"$/) do |link| first(:link, link).click end -When /^I click "(.*?)"$/ do |link| +When(/^I click "(.*?)"$/) do |link| click_on(link) end -When /^I fill in "([^"]*)" with "([^"]*)"$/ do |field, value| +When(/^I fill in "([^"]*)" with "([^"]*)"$/) do |field, value| fill_in(field, with: value) end -When /^I select "([^"]*)" from "([^"]*)"$/ do |value, field| +When(/^I select "([^"]*)" from "([^"]*)"$/) do |value, field| select(value, from: field) end -When /^I (check|uncheck) "([^"]*)"$/ do |action, field| +When(/^I (check|uncheck) "([^"]*)"$/) do |action, field| send action, field end -Then /^I should( not)? see( the element)? "([^"]*)"$/ do |negate, is_css, text| +Then(/^I should( not)? see( the element)? "([^"]*)"$/) do |negate, is_css, text| should = negate ? :not_to : :to have = is_css ? have_css(text) : have_content(text) expect(page).send should, have end -Then /^I should see the select "([^"]*)" with options "([^"]+)"?$/ do |label, with_options| +Then(/^I should see the select "([^"]*)" with options "([^"]+)"?$/) do |label, with_options| expect(page).to have_select(label, with_options: with_options.split(", ")) end -Then /^I should see the field "([^"]*)" of type "([^"]+)"?$/ do |label, of_type| +Then(/^I should see the field "([^"]*)" of type "([^"]+)"?$/) do |label, of_type| expect(page).to have_field(label, type: of_type) end -Then /^the "([^"]*)" field(?: within (.*))? should contain "([^"]*)"$/ do |field, parent, value| +Then(/^the "([^"]*)" field(?: within (.*))? should contain "([^"]*)"$/) do |field, parent, value| with_scope(parent) do field = find_field(field) value = field.tag_name == "textarea" ? field.text : field.value @@ -106,13 +106,13 @@ def selector_for(locator) end end -Then /^the "([^"]*)" select(?: within (.*))? should have "([^"]+)" selected$/ do |label, parent, option| +Then(/^the "([^"]*)" select(?: within (.*))? should have "([^"]+)" selected$/) do |label, parent, option| with_scope(parent) do expect(page).to have_select(label, selected: option) end end -Then /^the "([^"]*)" checkbox(?: within (.*))? should( not)? be checked$/ do |label, parent, negate| +Then(/^the "([^"]*)" checkbox(?: within (.*))? should( not)? be checked$/) do |label, parent, negate| with_scope(parent) do checkbox = find_field(label) if negate @@ -123,7 +123,7 @@ def selector_for(locator) end end -Then /^I should be on (.+)$/ do |page_name| +Then(/^I should be on (.+)$/) do |page_name| expect(URI.parse(current_url).path).to eq path_to page_name end @@ -131,6 +131,6 @@ def selector_for(locator) expect(page).to have_css %Q(div:contains('#{top_title}') + div:contains('#{bottom_title}')) end -Then /^I should see a flash with "([^"]*)"$/ do |text| +Then(/^I should see a flash with "([^"]*)"$/) do |text| expect(page).to have_content text end diff --git a/features/support/paths.rb b/features/support/paths.rb index 8cfdd282b38..92e6e75ccc8 100644 --- a/features/support/paths.rb +++ b/features/support/paths.rb @@ -63,7 +63,7 @@ def path_to(page_name) path_components = $1.split(/\s+/) self.send path_components.push("path").join("_") # :nocov: - rescue Object => e + rescue Object raise "Can't find mapping from \"#{page_name}\" to a path.\n" + "Now, go and add a mapping in #{__FILE__}" # :nocov: diff --git a/gemfiles/rails_70/Gemfile b/gemfiles/rails_70/Gemfile index 5df7659790f..e40f0dda1b6 100644 --- a/gemfiles/rails_70/Gemfile +++ b/gemfiles/rails_70/Gemfile @@ -17,6 +17,8 @@ group :development, :test do gem "cssbundling-rails" gem "importmap-rails" + gem "concurrent-ruby", "1.3.4" # Ref: rails/rails#54260 + # FIXME: relax this dependency when Ruby 3.1 support will be dropped gem "zeitwerk", "~> 2.6.18" end @@ -32,7 +34,7 @@ group :test do gem "cucumber" gem "database_cleaner-active_record" gem "launchy" - gem "parallel_tests" + gem "parallel_tests", "~> 4.9" # FIXME: relax this dependency when Ruby 3.1 support will be dropped gem "rspec-rails" gem "sqlite3", "~> 1.7", platform: :mri diff --git a/gemfiles/rails_70/Gemfile.lock b/gemfiles/rails_70/Gemfile.lock index 55e364913e5..a4e4b0aef41 100644 --- a/gemfiles/rails_70/Gemfile.lock +++ b/gemfiles/rails_70/Gemfile.lock @@ -4,8 +4,8 @@ PATH activeadmin (4.0.0.beta15) arbre (~> 2.0) csv - formtastic (>= 3.1) - formtastic_i18n (>= 0.4) + formtastic (>= 5.0) + formtastic_i18n (>= 0.7) inherited_resources (~> 2.0) kaminari (>= 1.2.1) railties (>= 7.0) @@ -14,82 +14,83 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (7.0.8.6) - actionpack (= 7.0.8.6) - activesupport (= 7.0.8.6) + actioncable (7.0.8.7) + actionpack (= 7.0.8.7) + activesupport (= 7.0.8.7) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.8.6) - actionpack (= 7.0.8.6) - activejob (= 7.0.8.6) - activerecord (= 7.0.8.6) - activestorage (= 7.0.8.6) - activesupport (= 7.0.8.6) + actionmailbox (7.0.8.7) + actionpack (= 7.0.8.7) + activejob (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.8.6) - actionpack (= 7.0.8.6) - actionview (= 7.0.8.6) - activejob (= 7.0.8.6) - activesupport (= 7.0.8.6) + actionmailer (7.0.8.7) + actionpack (= 7.0.8.7) + actionview (= 7.0.8.7) + activejob (= 7.0.8.7) + activesupport (= 7.0.8.7) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.8.6) - actionview (= 7.0.8.6) - activesupport (= 7.0.8.6) + actionpack (7.0.8.7) + actionview (= 7.0.8.7) + activesupport (= 7.0.8.7) rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.8.6) - actionpack (= 7.0.8.6) - activerecord (= 7.0.8.6) - activestorage (= 7.0.8.6) - activesupport (= 7.0.8.6) + actiontext (7.0.8.7) + actionpack (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.8.6) - activesupport (= 7.0.8.6) + actionview (7.0.8.7) + activesupport (= 7.0.8.7) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.8.6) - activesupport (= 7.0.8.6) + activejob (7.0.8.7) + activesupport (= 7.0.8.7) globalid (>= 0.3.6) - activemodel (7.0.8.6) - activesupport (= 7.0.8.6) + activemodel (7.0.8.7) + activesupport (= 7.0.8.7) activemodel-serializers-xml (1.0.3) activemodel (>= 5.0.0.a) activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (7.0.8.6) - activemodel (= 7.0.8.6) - activesupport (= 7.0.8.6) - activestorage (7.0.8.6) - actionpack (= 7.0.8.6) - activejob (= 7.0.8.6) - activerecord (= 7.0.8.6) - activesupport (= 7.0.8.6) + activerecord (7.0.8.7) + activemodel (= 7.0.8.7) + activesupport (= 7.0.8.7) + activestorage (7.0.8.7) + actionpack (= 7.0.8.7) + activejob (= 7.0.8.7) + activerecord (= 7.0.8.7) + activesupport (= 7.0.8.7) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.8.6) + activesupport (7.0.8.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - arbre (2.0.2) - activesupport (>= 3.0.0) - ast (2.4.2) + arbre (2.2.0) + activesupport (>= 7.0) + ast (2.4.3) + base64 (0.3.0) bcrypt (3.1.20) - bigdecimal (3.1.8) + bigdecimal (3.2.2) builder (3.3.0) cancancan (3.6.1) capybara (3.40.0) @@ -105,10 +106,10 @@ GEM logger (~> 1.5) concurrent-ruby (1.3.4) crass (1.0.6) - cssbundling-rails (1.4.1) + cssbundling-rails (1.4.3) railties (>= 6.0.0) - csv (3.3.0) - cucumber (9.2.0) + csv (3.3.5) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -129,18 +130,18 @@ GEM bigdecimal cucumber-gherkin (27.0.0) cucumber-messages (>= 19.1.4, < 23) - cucumber-html-formatter (21.7.0) - cucumber-messages (> 19, < 27) + cucumber-html-formatter (21.9.0) + cucumber-messages (> 19, < 28) cucumber-messages (22.0.0) - cucumber-rails (3.1.0) + cucumber-rails (3.1.1) capybara (>= 3.11, < 4) cucumber (>= 5, < 10) railties (>= 5.2, < 9) - cucumber-tag-expressions (6.1.1) - cuprite (0.15.1) + cucumber-tag-expressions (6.1.2) + cuprite (0.17) capybara (~> 3.0) - ferrum (~> 0.15.0) - database_cleaner-active_record (2.2.0) + ferrum (~> 0.17.0) + database_cleaner-active_record (2.2.1) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) @@ -151,24 +152,25 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - diff-lcs (1.5.1) + diff-lcs (1.6.2) docile (1.4.1) - draper (4.0.2) + draper (4.0.4) actionpack (>= 5.0) activemodel (>= 5.0) activemodel-serializers-xml (>= 1.0) activesupport (>= 5.0) request_store (>= 1.0) ruby2_keywords - erubi (1.13.0) - ferrum (0.15) + erubi (1.13.1) + ferrum (0.17.1) addressable (~> 2.5) + base64 (~> 0.2) concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (~> 0.7) - ffi (1.17.0) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.2) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-linux-gnu) formtastic (5.0.0) actionpack (>= 6.0.0) formtastic_i18n (0.7.0) @@ -177,13 +179,13 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.1) + highline (3.1.2) reline - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso - i18n-tasks (1.0.14) + i18n-tasks (1.0.15) activesupport (>= 4.0.2) ast (>= 2.1.0) erubi @@ -192,15 +194,16 @@ GEM parser (>= 3.2.2.1) rails-i18n rainbow (>= 2.2.2, < 4.0) + ruby-progressbar (~> 1.8, >= 1.8.1) terminal-table (>= 1.5.1) - importmap-rails (2.0.3) + importmap-rails (2.1.0) actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - inherited_resources (2.0.1) - actionpack (>= 6.0) + inherited_resources (2.1.0) + actionpack (>= 7.0) has_scope (>= 0.6) - railties (>= 6.0) + railties (>= 7.0) responders (>= 2) io-console (0.8.0) iso (0.4.0) @@ -217,11 +220,12 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) - launchy (3.0.1) + launchy (3.1.1) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.2) - loofah (2.23.1) + logger (~> 1.6) + logger (1.7.0) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -233,95 +237,95 @@ GEM matrix (0.4.2) method_source (1.1.0) mini_mime (1.1.5) - mini_portile2 (2.8.8) - minitest (5.25.2) + mini_portile2 (2.8.9) + minitest (5.25.5) multi_test (1.1.0) - net-imap (0.5.1) + net-imap (0.5.8) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol nio4r (2.7.4) - nokogiri (1.16.8) + nokogiri (1.18.8) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.8-arm64-darwin) + nokogiri (1.18.8-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.8-x86_64-linux) + nokogiri (1.18.8-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) - parallel (1.26.3) - parallel_tests (4.7.2) + parallel (1.27.0) + parallel_tests (4.10.1) parallel - parser (3.3.6.0) + parser (3.3.8.0) ast (~> 2.4.1) racc - public_suffix (6.0.1) - pundit (2.4.0) + public_suffix (6.0.2) + pundit (2.5.0) activesupport (>= 3.0.0) racc (1.8.1) - rack (2.2.10) - rack-test (2.1.0) + rack (2.2.17) + rack-test (2.2.0) rack (>= 1.3) - rails (7.0.8.6) - actioncable (= 7.0.8.6) - actionmailbox (= 7.0.8.6) - actionmailer (= 7.0.8.6) - actionpack (= 7.0.8.6) - actiontext (= 7.0.8.6) - actionview (= 7.0.8.6) - activejob (= 7.0.8.6) - activemodel (= 7.0.8.6) - activerecord (= 7.0.8.6) - activestorage (= 7.0.8.6) - activesupport (= 7.0.8.6) + rails (7.0.8.7) + actioncable (= 7.0.8.7) + actionmailbox (= 7.0.8.7) + actionmailer (= 7.0.8.7) + actionpack (= 7.0.8.7) + actiontext (= 7.0.8.7) + actionview (= 7.0.8.7) + activejob (= 7.0.8.7) + activemodel (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) bundler (>= 1.15.0) - railties (= 7.0.8.6) - rails-dom-testing (2.2.0) + railties (= 7.0.8.7) + rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.1) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) rails-i18n (7.0.10) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.0.8.6) - actionpack (= 7.0.8.6) - activesupport (= 7.0.8.6) + railties (7.0.8.7) + actionpack (= 7.0.8.7) + activesupport (= 7.0.8.7) method_source rake (>= 12.2) thor (~> 1.0) zeitwerk (~> 2.5) rainbow (3.1.1) - rake (13.2.1) - ransack (4.2.1) + rake (13.3.0) + ransack (4.3.0) activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - regexp_parser (2.9.3) - reline (0.5.12) + regexp_parser (2.10.0) + reline (0.6.1) io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.9) - rspec-core (3.13.2) + rexml (3.4.1) + rspec-core (3.13.4) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.2) + rspec-mocks (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.1.0) + rspec-rails (7.1.1) actionpack (>= 7.0) activesupport (>= 7.0) railties (>= 7.0) @@ -329,7 +333,8 @@ GEM rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.2) + rspec-support (3.13.4) + ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) simplecov (0.22.0) docile (~> 1.1) @@ -340,8 +345,9 @@ GEM simplecov (~> 0.19) simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) - sprockets (4.2.1) + sprockets (4.2.2) concurrent-ruby (~> 1.0) + logger rack (>= 2.2.4, < 4) sprockets-rails (3.5.2) actionpack (>= 6.1) @@ -353,17 +359,20 @@ GEM sqlite3 (1.7.3-x86_64-linux) sys-uname (1.3.1) ffi (~> 1.1) - terminal-table (3.0.2) - unicode-display_width (>= 1.1.1, < 3) + terminal-table (4.0.0) + unicode-display_width (>= 1.1.1, < 4) thor (1.3.2) - timeout (0.4.2) + timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.6.0) + unicode-display_width (3.1.4) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) warden (1.2.9) rack (>= 2.0.9) webrick (1.9.1) - websocket-driver (0.7.6) + websocket-driver (0.8.0) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) @@ -379,6 +388,7 @@ DEPENDENCIES activeadmin! cancancan capybara + concurrent-ruby (= 1.3.4) cssbundling-rails cucumber cucumber-rails @@ -390,7 +400,7 @@ DEPENDENCIES i18n-tasks importmap-rails launchy - parallel_tests + parallel_tests (~> 4.9) pundit rails (~> 7.0.0) rails-i18n @@ -404,4 +414,4 @@ DEPENDENCIES zeitwerk (~> 2.6.18) BUNDLED WITH - 2.5.22 + 2.6.9 diff --git a/gemfiles/rails_71/Gemfile b/gemfiles/rails_71/Gemfile index 608bcc8deb1..7f0f74fb842 100644 --- a/gemfiles/rails_71/Gemfile +++ b/gemfiles/rails_71/Gemfile @@ -19,6 +19,9 @@ group :development, :test do gem "cssbundling-rails" gem "importmap-rails" + # FIXME: remove this dependency when Ruby 3.1 support will be dropped + gem "erb", "~> 4.0" + # FIXME: relax this dependency when Ruby 3.1 support will be dropped gem "zeitwerk", "~> 2.6.18" end @@ -34,7 +37,7 @@ group :test do gem "cucumber" gem "database_cleaner-active_record" gem "launchy" - gem "parallel_tests" + gem "parallel_tests", "~> 4.9" # FIXME: relax this dependency when Ruby 3.1 support will be dropped gem "rspec-rails" gem "sqlite3", platform: :mri diff --git a/gemfiles/rails_71/Gemfile.lock b/gemfiles/rails_71/Gemfile.lock index 7833016308c..3bf6787f7b7 100644 --- a/gemfiles/rails_71/Gemfile.lock +++ b/gemfiles/rails_71/Gemfile.lock @@ -4,8 +4,8 @@ PATH activeadmin (4.0.0.beta15) arbre (~> 2.0) csv - formtastic (>= 3.1) - formtastic_i18n (>= 0.4) + formtastic (>= 5.0) + formtastic_i18n (>= 0.7) inherited_resources (~> 2.0) kaminari (>= 1.2.1) railties (>= 7.0) @@ -14,35 +14,35 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (7.1.5) - actionpack (= 7.1.5) - activesupport (= 7.1.5) + actioncable (7.1.5.1) + actionpack (= 7.1.5.1) + activesupport (= 7.1.5.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.5) - actionpack (= 7.1.5) - activejob (= 7.1.5) - activerecord (= 7.1.5) - activestorage (= 7.1.5) - activesupport (= 7.1.5) + actionmailbox (7.1.5.1) + actionpack (= 7.1.5.1) + activejob (= 7.1.5.1) + activerecord (= 7.1.5.1) + activestorage (= 7.1.5.1) + activesupport (= 7.1.5.1) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.5) - actionpack (= 7.1.5) - actionview (= 7.1.5) - activejob (= 7.1.5) - activesupport (= 7.1.5) + actionmailer (7.1.5.1) + actionpack (= 7.1.5.1) + actionview (= 7.1.5.1) + activejob (= 7.1.5.1) + activesupport (= 7.1.5.1) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.5) - actionview (= 7.1.5) - activesupport (= 7.1.5) + actionpack (7.1.5.1) + actionview (= 7.1.5.1) + activesupport (= 7.1.5.1) nokogiri (>= 1.8.5) racc rack (>= 2.2.4) @@ -50,39 +50,39 @@ GEM rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.5) - actionpack (= 7.1.5) - activerecord (= 7.1.5) - activestorage (= 7.1.5) - activesupport (= 7.1.5) + actiontext (7.1.5.1) + actionpack (= 7.1.5.1) + activerecord (= 7.1.5.1) + activestorage (= 7.1.5.1) + activesupport (= 7.1.5.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.5) - activesupport (= 7.1.5) + actionview (7.1.5.1) + activesupport (= 7.1.5.1) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.1.5) - activesupport (= 7.1.5) + activejob (7.1.5.1) + activesupport (= 7.1.5.1) globalid (>= 0.3.6) - activemodel (7.1.5) - activesupport (= 7.1.5) + activemodel (7.1.5.1) + activesupport (= 7.1.5.1) activemodel-serializers-xml (1.0.3) activemodel (>= 5.0.0.a) activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (7.1.5) - activemodel (= 7.1.5) - activesupport (= 7.1.5) + activerecord (7.1.5.1) + activemodel (= 7.1.5.1) + activesupport (= 7.1.5.1) timeout (>= 0.4.0) - activestorage (7.1.5) - actionpack (= 7.1.5) - activejob (= 7.1.5) - activerecord (= 7.1.5) - activesupport (= 7.1.5) + activestorage (7.1.5.1) + actionpack (= 7.1.5.1) + activejob (= 7.1.5.1) + activerecord (= 7.1.5.1) + activesupport (= 7.1.5.1) marcel (~> 1.0) - activesupport (7.1.5) + activesupport (7.1.5.1) base64 benchmark (>= 0.3) bigdecimal @@ -97,13 +97,13 @@ GEM tzinfo (~> 2.0) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - arbre (2.0.2) - activesupport (>= 3.0.0) - ast (2.4.2) - base64 (0.2.0) + arbre (2.2.0) + activesupport (>= 7.0) + ast (2.4.3) + base64 (0.3.0) bcrypt (3.1.20) - benchmark (0.4.0) - bigdecimal (3.1.8) + benchmark (0.4.1) + bigdecimal (3.2.2) builder (3.3.0) cancancan (3.6.1) capybara (3.40.0) @@ -115,15 +115,16 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) + cgi (0.5.0) childprocess (5.1.0) logger (~> 1.5) - concurrent-ruby (1.3.4) - connection_pool (2.4.1) + concurrent-ruby (1.3.5) + connection_pool (2.5.3) crass (1.0.6) - cssbundling-rails (1.4.1) + cssbundling-rails (1.4.3) railties (>= 6.0.0) - csv (3.3.0) - cucumber (9.2.0) + csv (3.3.5) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -144,18 +145,18 @@ GEM bigdecimal cucumber-gherkin (27.0.0) cucumber-messages (>= 19.1.4, < 23) - cucumber-html-formatter (21.7.0) - cucumber-messages (> 19, < 27) + cucumber-html-formatter (21.9.0) + cucumber-messages (> 19, < 28) cucumber-messages (22.0.0) - cucumber-rails (3.1.0) + cucumber-rails (3.1.1) capybara (>= 3.11, < 4) cucumber (>= 5, < 10) railties (>= 5.2, < 9) - cucumber-tag-expressions (6.1.1) - cuprite (0.15.1) + cucumber-tag-expressions (6.1.2) + cuprite (0.17) capybara (~> 3.0) - ferrum (~> 0.15.0) - database_cleaner-active_record (2.2.0) + ferrum (~> 0.17.0) + database_cleaner-active_record (2.2.1) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) @@ -166,25 +167,28 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - diff-lcs (1.5.1) + diff-lcs (1.6.2) docile (1.4.1) - draper (4.0.2) + draper (4.0.4) actionpack (>= 5.0) activemodel (>= 5.0) activemodel-serializers-xml (>= 1.0) activesupport (>= 5.0) request_store (>= 1.0) ruby2_keywords - drb (2.2.1) - erubi (1.13.0) - ferrum (0.15) + drb (2.2.3) + erb (4.0.4) + cgi (>= 0.3.3) + erubi (1.13.1) + ferrum (0.17.1) addressable (~> 2.5) + base64 (~> 0.2) concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (~> 0.7) - ffi (1.17.0) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.2) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-linux-gnu) formtastic (5.0.0) actionpack (>= 6.0.0) formtastic_i18n (0.7.0) @@ -193,13 +197,13 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.1) + highline (3.1.2) reline - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso - i18n-tasks (1.0.14) + i18n-tasks (1.0.15) activesupport (>= 4.0.2) ast (>= 2.1.0) erubi @@ -208,18 +212,20 @@ GEM parser (>= 3.2.2.1) rails-i18n rainbow (>= 2.2.2, < 4.0) + ruby-progressbar (~> 1.8, >= 1.8.1) terminal-table (>= 1.5.1) - importmap-rails (2.0.3) + importmap-rails (2.1.0) actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - inherited_resources (2.0.1) - actionpack (>= 6.0) + inherited_resources (2.1.0) + actionpack (>= 7.0) has_scope (>= 0.6) - railties (>= 6.0) + railties (>= 7.0) responders (>= 2) io-console (0.8.0) - irb (1.14.1) + irb (1.15.2) + pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) iso (0.4.0) @@ -236,11 +242,12 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) - launchy (3.0.1) + launchy (3.1.1) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.2) - loofah (2.23.1) + logger (~> 1.6) + logger (1.7.0) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -251,106 +258,111 @@ GEM marcel (1.0.4) matrix (0.4.2) mini_mime (1.1.5) - mini_portile2 (2.8.8) - minitest (5.25.2) + mini_portile2 (2.8.9) + minitest (5.25.5) multi_test (1.1.0) mutex_m (0.3.0) - net-imap (0.5.1) + net-imap (0.5.8) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol nio4r (2.7.4) - nokogiri (1.16.8) + nokogiri (1.18.8) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.8-arm64-darwin) + nokogiri (1.18.8-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.8-x86_64-linux) + nokogiri (1.18.8-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) - parallel (1.26.3) - parallel_tests (4.7.2) + parallel (1.27.0) + parallel_tests (4.10.1) parallel - parser (3.3.6.0) + parser (3.3.8.0) ast (~> 2.4.1) racc - psych (5.2.1) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + psych (5.2.6) date stringio - public_suffix (6.0.1) - pundit (2.4.0) + public_suffix (6.0.2) + pundit (2.5.0) activesupport (>= 3.0.0) racc (1.8.1) - rack (3.1.8) - rack-session (2.0.0) + rack (3.1.16) + rack-session (2.1.1) + base64 (>= 0.1.0) rack (>= 3.0.0) - rack-test (2.1.0) + rack-test (2.2.0) rack (>= 1.3) rackup (2.2.1) rack (>= 3) - rails (7.1.5) - actioncable (= 7.1.5) - actionmailbox (= 7.1.5) - actionmailer (= 7.1.5) - actionpack (= 7.1.5) - actiontext (= 7.1.5) - actionview (= 7.1.5) - activejob (= 7.1.5) - activemodel (= 7.1.5) - activerecord (= 7.1.5) - activestorage (= 7.1.5) - activesupport (= 7.1.5) + rails (7.1.5.1) + actioncable (= 7.1.5.1) + actionmailbox (= 7.1.5.1) + actionmailer (= 7.1.5.1) + actionpack (= 7.1.5.1) + actiontext (= 7.1.5.1) + actionview (= 7.1.5.1) + activejob (= 7.1.5.1) + activemodel (= 7.1.5.1) + activerecord (= 7.1.5.1) + activestorage (= 7.1.5.1) + activesupport (= 7.1.5.1) bundler (>= 1.15.0) - railties (= 7.1.5) - rails-dom-testing (2.2.0) + railties (= 7.1.5.1) + rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.1) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) rails-i18n (7.0.10) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.1.5) - actionpack (= 7.1.5) - activesupport (= 7.1.5) + railties (7.1.5.1) + actionpack (= 7.1.5.1) + activesupport (= 7.1.5.1) irb rackup (>= 1.0.0) rake (>= 12.2) thor (~> 1.0, >= 1.2.2) zeitwerk (~> 2.6) rainbow (3.1.1) - rake (13.2.1) - ransack (4.2.1) + rake (13.3.0) + ransack (4.3.0) activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - rdoc (6.8.1) + rdoc (6.14.0) + erb psych (>= 4.0.0) - regexp_parser (2.9.3) - reline (0.5.12) + regexp_parser (2.10.0) + reline (0.6.1) io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.9) - rspec-core (3.13.2) + rexml (3.4.1) + rspec-core (3.13.4) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.2) + rspec-mocks (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.1.0) + rspec-rails (7.1.1) actionpack (>= 7.0) activesupport (>= 7.0) railties (>= 7.0) @@ -358,9 +370,10 @@ GEM rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.2) + rspec-support (3.13.4) + ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) - securerandom (0.4.0) + securerandom (0.4.1) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -370,31 +383,35 @@ GEM simplecov (~> 0.19) simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) - sprockets (4.2.1) + sprockets (4.2.2) concurrent-ruby (~> 1.0) + logger rack (>= 2.2.4, < 4) sprockets-rails (3.5.2) actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - sqlite3 (2.3.1) + sqlite3 (2.6.0) mini_portile2 (~> 2.8.0) - sqlite3 (2.3.1-arm64-darwin) - sqlite3 (2.3.1-x86_64-linux-gnu) - stringio (3.1.2) + sqlite3 (2.6.0-arm64-darwin) + sqlite3 (2.6.0-x86_64-linux-gnu) + stringio (3.1.7) sys-uname (1.3.1) ffi (~> 1.1) - terminal-table (3.0.2) - unicode-display_width (>= 1.1.1, < 3) + terminal-table (4.0.0) + unicode-display_width (>= 1.1.1, < 4) thor (1.3.2) - timeout (0.4.2) + timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.6.0) + unicode-display_width (3.1.4) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) warden (1.2.9) rack (>= 2.0.9) webrick (1.9.1) - websocket-driver (0.7.6) + websocket-driver (0.8.0) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) @@ -417,12 +434,13 @@ DEPENDENCIES database_cleaner-active_record devise draper + erb (~> 4.0) formtastic (>= 5.0.0) i18n-spec i18n-tasks importmap-rails launchy - parallel_tests + parallel_tests (~> 4.9) pundit rails (~> 7.1.0) rails-i18n @@ -437,4 +455,4 @@ DEPENDENCIES zeitwerk (~> 2.6.18) BUNDLED WITH - 2.5.22 + 2.6.9 diff --git a/gemfiles/rails_72/Gemfile b/gemfiles/rails_72/Gemfile index 6665e5ad4ec..fb457a811e6 100644 --- a/gemfiles/rails_72/Gemfile +++ b/gemfiles/rails_72/Gemfile @@ -19,6 +19,9 @@ group :development, :test do gem "cssbundling-rails" gem "importmap-rails" + # FIXME: remove this dependency when Ruby 3.1 support will be dropped + gem "erb", "~> 4.0" + # FIXME: relax this dependency when Ruby 3.1 support will be dropped gem "zeitwerk", "~> 2.6.18" end @@ -34,7 +37,7 @@ group :test do gem "cucumber" gem "database_cleaner-active_record" gem "launchy" - gem "parallel_tests" + gem "parallel_tests", "~> 4.9" # FIXME: relax this dependency when Ruby 3.1 support will be dropped gem "rspec-rails" gem "sqlite3", platform: :mri diff --git a/gemfiles/rails_72/Gemfile.lock b/gemfiles/rails_72/Gemfile.lock index 79f72c0fb4d..b14fb230a63 100644 --- a/gemfiles/rails_72/Gemfile.lock +++ b/gemfiles/rails_72/Gemfile.lock @@ -4,8 +4,8 @@ PATH activeadmin (4.0.0.beta15) arbre (~> 2.0) csv - formtastic (>= 3.1) - formtastic_i18n (>= 0.4) + formtastic (>= 5.0) + formtastic_i18n (>= 0.7) inherited_resources (~> 2.0) kaminari (>= 1.2.1) railties (>= 7.0) @@ -14,29 +14,29 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (7.2.2) - actionpack (= 7.2.2) - activesupport (= 7.2.2) + actioncable (7.2.2.1) + actionpack (= 7.2.2.1) + activesupport (= 7.2.2.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.2.2) - actionpack (= 7.2.2) - activejob (= 7.2.2) - activerecord (= 7.2.2) - activestorage (= 7.2.2) - activesupport (= 7.2.2) + actionmailbox (7.2.2.1) + actionpack (= 7.2.2.1) + activejob (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) mail (>= 2.8.0) - actionmailer (7.2.2) - actionpack (= 7.2.2) - actionview (= 7.2.2) - activejob (= 7.2.2) - activesupport (= 7.2.2) + actionmailer (7.2.2.1) + actionpack (= 7.2.2.1) + actionview (= 7.2.2.1) + activejob (= 7.2.2.1) + activesupport (= 7.2.2.1) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (7.2.2) - actionview (= 7.2.2) - activesupport (= 7.2.2) + actionpack (7.2.2.1) + actionview (= 7.2.2.1) + activesupport (= 7.2.2.1) nokogiri (>= 1.8.5) racc rack (>= 2.2.4, < 3.2) @@ -45,39 +45,39 @@ GEM rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actiontext (7.2.2) - actionpack (= 7.2.2) - activerecord (= 7.2.2) - activestorage (= 7.2.2) - activesupport (= 7.2.2) + actiontext (7.2.2.1) + actionpack (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.2.2) - activesupport (= 7.2.2) + actionview (7.2.2.1) + activesupport (= 7.2.2.1) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.2.2) - activesupport (= 7.2.2) + activejob (7.2.2.1) + activesupport (= 7.2.2.1) globalid (>= 0.3.6) - activemodel (7.2.2) - activesupport (= 7.2.2) + activemodel (7.2.2.1) + activesupport (= 7.2.2.1) activemodel-serializers-xml (1.0.3) activemodel (>= 5.0.0.a) activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (7.2.2) - activemodel (= 7.2.2) - activesupport (= 7.2.2) + activerecord (7.2.2.1) + activemodel (= 7.2.2.1) + activesupport (= 7.2.2.1) timeout (>= 0.4.0) - activestorage (7.2.2) - actionpack (= 7.2.2) - activejob (= 7.2.2) - activerecord (= 7.2.2) - activesupport (= 7.2.2) + activestorage (7.2.2.1) + actionpack (= 7.2.2.1) + activejob (= 7.2.2.1) + activerecord (= 7.2.2.1) + activesupport (= 7.2.2.1) marcel (~> 1.0) - activesupport (7.2.2) + activesupport (7.2.2.1) base64 benchmark (>= 0.3) bigdecimal @@ -91,13 +91,13 @@ GEM tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - arbre (2.0.2) - activesupport (>= 3.0.0) - ast (2.4.2) - base64 (0.2.0) + arbre (2.2.0) + activesupport (>= 7.0) + ast (2.4.3) + base64 (0.3.0) bcrypt (3.1.20) - benchmark (0.4.0) - bigdecimal (3.1.8) + benchmark (0.4.1) + bigdecimal (3.2.2) builder (3.3.0) cancancan (3.6.1) capybara (3.40.0) @@ -109,15 +109,16 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) + cgi (0.5.0) childprocess (5.1.0) logger (~> 1.5) - concurrent-ruby (1.3.4) - connection_pool (2.4.1) + concurrent-ruby (1.3.5) + connection_pool (2.5.3) crass (1.0.6) - cssbundling-rails (1.4.1) + cssbundling-rails (1.4.3) railties (>= 6.0.0) - csv (3.3.0) - cucumber (9.2.0) + csv (3.3.5) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -138,18 +139,18 @@ GEM bigdecimal cucumber-gherkin (27.0.0) cucumber-messages (>= 19.1.4, < 23) - cucumber-html-formatter (21.7.0) - cucumber-messages (> 19, < 27) + cucumber-html-formatter (21.9.0) + cucumber-messages (> 19, < 28) cucumber-messages (22.0.0) - cucumber-rails (3.1.0) + cucumber-rails (3.1.1) capybara (>= 3.11, < 4) cucumber (>= 5, < 10) railties (>= 5.2, < 9) - cucumber-tag-expressions (6.1.1) - cuprite (0.15.1) + cucumber-tag-expressions (6.1.2) + cuprite (0.17) capybara (~> 3.0) - ferrum (~> 0.15.0) - database_cleaner-active_record (2.2.0) + ferrum (~> 0.17.0) + database_cleaner-active_record (2.2.1) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) @@ -160,25 +161,28 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - diff-lcs (1.5.1) + diff-lcs (1.6.2) docile (1.4.1) - draper (4.0.2) + draper (4.0.4) actionpack (>= 5.0) activemodel (>= 5.0) activemodel-serializers-xml (>= 1.0) activesupport (>= 5.0) request_store (>= 1.0) ruby2_keywords - drb (2.2.1) - erubi (1.13.0) - ferrum (0.15) + drb (2.2.3) + erb (4.0.4) + cgi (>= 0.3.3) + erubi (1.13.1) + ferrum (0.17.1) addressable (~> 2.5) + base64 (~> 0.2) concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (~> 0.7) - ffi (1.17.0) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.2) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-linux-gnu) formtastic (5.0.0) actionpack (>= 6.0.0) formtastic_i18n (0.7.0) @@ -187,13 +191,13 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.1) + highline (3.1.2) reline - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso - i18n-tasks (1.0.14) + i18n-tasks (1.0.15) activesupport (>= 4.0.2) ast (>= 2.1.0) erubi @@ -202,18 +206,20 @@ GEM parser (>= 3.2.2.1) rails-i18n rainbow (>= 2.2.2, < 4.0) + ruby-progressbar (~> 1.8, >= 1.8.1) terminal-table (>= 1.5.1) - importmap-rails (2.0.3) + importmap-rails (2.1.0) actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - inherited_resources (2.0.1) - actionpack (>= 6.0) + inherited_resources (2.1.0) + actionpack (>= 7.0) has_scope (>= 0.6) - railties (>= 6.0) + railties (>= 7.0) responders (>= 2) io-console (0.8.0) - irb (1.14.1) + irb (1.15.2) + pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) iso (0.4.0) @@ -230,11 +236,12 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) - launchy (3.0.1) + launchy (3.1.1) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.2) - loofah (2.23.1) + logger (~> 1.6) + logger (1.7.0) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -245,115 +252,121 @@ GEM marcel (1.0.4) matrix (0.4.2) mini_mime (1.1.5) - mini_portile2 (2.8.8) - minitest (5.25.2) + mini_portile2 (2.8.9) + minitest (5.25.5) multi_test (1.1.0) - net-imap (0.5.1) + net-imap (0.5.8) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol nio4r (2.7.4) - nokogiri (1.16.8) + nokogiri (1.18.8) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.8-arm64-darwin) + nokogiri (1.18.8-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.8-x86_64-linux) + nokogiri (1.18.8-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) - parallel (1.26.3) - parallel_tests (4.7.2) + parallel (1.27.0) + parallel_tests (4.10.1) parallel - parser (3.3.6.0) + parser (3.3.8.0) ast (~> 2.4.1) racc - psych (5.2.1) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + psych (5.2.6) date stringio - public_suffix (6.0.1) - pundit (2.4.0) + public_suffix (6.0.2) + pundit (2.5.0) activesupport (>= 3.0.0) racc (1.8.1) - rack (3.1.8) - rack-session (2.0.0) + rack (3.1.16) + rack-session (2.1.1) + base64 (>= 0.1.0) rack (>= 3.0.0) - rack-test (2.1.0) + rack-test (2.2.0) rack (>= 1.3) rackup (2.2.1) rack (>= 3) - rails (7.2.2) - actioncable (= 7.2.2) - actionmailbox (= 7.2.2) - actionmailer (= 7.2.2) - actionpack (= 7.2.2) - actiontext (= 7.2.2) - actionview (= 7.2.2) - activejob (= 7.2.2) - activemodel (= 7.2.2) - activerecord (= 7.2.2) - activestorage (= 7.2.2) - activesupport (= 7.2.2) + rails (7.2.2.1) + actioncable (= 7.2.2.1) + actionmailbox (= 7.2.2.1) + actionmailer (= 7.2.2.1) + actionpack (= 7.2.2.1) + actiontext (= 7.2.2.1) + actionview (= 7.2.2.1) + activejob (= 7.2.2.1) + activemodel (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) bundler (>= 1.15.0) - railties (= 7.2.2) - rails-dom-testing (2.2.0) + railties (= 7.2.2.1) + rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.1) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) rails-i18n (7.0.10) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.2.2) - actionpack (= 7.2.2) - activesupport (= 7.2.2) + railties (7.2.2.1) + actionpack (= 7.2.2.1) + activesupport (= 7.2.2.1) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) thor (~> 1.0, >= 1.2.2) zeitwerk (~> 2.6) rainbow (3.1.1) - rake (13.2.1) - ransack (4.2.1) + rake (13.3.0) + ransack (4.3.0) activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - rdoc (6.8.1) + rdoc (6.14.0) + erb psych (>= 4.0.0) - regexp_parser (2.9.3) - reline (0.5.12) + regexp_parser (2.10.0) + reline (0.6.1) io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.9) - rspec-core (3.13.2) + rexml (3.4.1) + rspec-core (3.13.4) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.2) + rspec-mocks (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.1.0) - actionpack (>= 7.0) - activesupport (>= 7.0) - railties (>= 7.0) + rspec-rails (8.0.0) + actionpack (>= 7.2) + activesupport (>= 7.2) + railties (>= 7.2) rspec-core (~> 3.13) rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.2) + rspec-support (3.13.4) + ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) - securerandom (0.4.0) + securerandom (0.4.1) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -363,32 +376,36 @@ GEM simplecov (~> 0.19) simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) - sprockets (4.2.1) + sprockets (4.2.2) concurrent-ruby (~> 1.0) + logger rack (>= 2.2.4, < 4) sprockets-rails (3.5.2) actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - sqlite3 (2.3.1) + sqlite3 (2.6.0) mini_portile2 (~> 2.8.0) - sqlite3 (2.3.1-arm64-darwin) - sqlite3 (2.3.1-x86_64-linux-gnu) - stringio (3.1.2) + sqlite3 (2.6.0-arm64-darwin) + sqlite3 (2.6.0-x86_64-linux-gnu) + stringio (3.1.7) sys-uname (1.3.1) ffi (~> 1.1) - terminal-table (3.0.2) - unicode-display_width (>= 1.1.1, < 3) + terminal-table (4.0.0) + unicode-display_width (>= 1.1.1, < 4) thor (1.3.2) - timeout (0.4.2) + timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.6.0) - useragent (0.16.10) + unicode-display_width (3.1.4) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) + useragent (0.16.11) warden (1.2.9) rack (>= 2.0.9) webrick (1.9.1) - websocket-driver (0.7.6) + websocket-driver (0.8.0) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) @@ -411,12 +428,13 @@ DEPENDENCIES database_cleaner-active_record devise draper + erb (~> 4.0) formtastic (>= 5.0.0) i18n-spec i18n-tasks importmap-rails launchy - parallel_tests + parallel_tests (~> 4.9) pundit rails (~> 7.2.0) rails-i18n @@ -431,4 +449,4 @@ DEPENDENCIES zeitwerk (~> 2.6.18) BUNDLED WITH - 2.5.22 + 2.6.9 diff --git a/lib/active_admin/application.rb b/lib/active_admin/application.rb index a4b8dfe8125..8be729c29bc 100644 --- a/lib/active_admin/application.rb +++ b/lib/active_admin/application.rb @@ -101,7 +101,7 @@ def loaded? # Removes all defined controllers from memory. Useful in # development, where they are reloaded on each request. def unload! - namespaces.each &:unload! + namespaces.each(&:unload!) @@loaded = false end @@ -155,7 +155,7 @@ def routes(rails_router) def controllers_for_filters controllers = [BaseController] - controllers.push *Devise.controllers_for_filters if Dependency.devise? + controllers.push(*Devise.controllers_for_filters) if Dependency.devise? controllers end diff --git a/lib/active_admin/batch_actions/resource_extension.rb b/lib/active_admin/batch_actions/resource_extension.rb index 1b4150a6798..a4b9b8f6636 100644 --- a/lib/active_admin/batch_actions/resource_extension.rb +++ b/lib/active_admin/batch_actions/resource_extension.rb @@ -69,7 +69,7 @@ def add_default_batch_action redirect_to active_admin_config.route_collection_path(params), notice: I18n.t( - "active_admin.batch_actions.succesfully_destroyed", + "active_admin.batch_actions.successfully_destroyed", count: selected_ids.count, model: active_admin_config.resource_label.downcase, plural_model: active_admin_config.plural_resource_label(count: selected_ids.count).downcase) diff --git a/lib/active_admin/csv_builder.rb b/lib/active_admin/csv_builder.rb index 688fb20527a..4122e34b944 100644 --- a/lib/active_admin/csv_builder.rb +++ b/lib/active_admin/csv_builder.rb @@ -64,7 +64,7 @@ def build(controller, csv) def exec_columns(view_context = nil) @view_context = view_context @columns = [] # we want to re-render these every instance - instance_exec &@block if @block.present? + instance_exec(&@block) if @block.present? columns end diff --git a/lib/active_admin/dsl.rb b/lib/active_admin/dsl.rb index bbe2f0899cb..cbe6a9de6c9 100644 --- a/lib/active_admin/dsl.rb +++ b/lib/active_admin/dsl.rb @@ -13,7 +13,7 @@ def initialize(config) # Runs the registration block inside this object def run_registration_block(&block) - instance_exec &block if block + instance_exec(&block) if block end # The instance of ActiveAdmin::Resource that's being registered diff --git a/lib/active_admin/filters/active.rb b/lib/active_admin/filters/active.rb index b3879b53db1..2d9bc43ad89 100644 --- a/lib/active_admin/filters/active.rb +++ b/lib/active_admin/filters/active.rb @@ -11,7 +11,7 @@ class Active # @param resource [ActiveAdmin::Resource] current resource # @param search [Ransack::Search] search object # - # @see ActiveAdmin::ResourceController::DataAcces#apply_filtering + # @see ActiveAdmin::ResourceController::DataAccess#apply_filtering def initialize(resource, search) @resource = resource @filters = build_filters(search.conditions) diff --git a/lib/active_admin/filters/active_filter.rb b/lib/active_admin/filters/active_filter.rb index 0b08c71be8a..a0e971f8f53 100644 --- a/lib/active_admin/filters/active_filter.rb +++ b/lib/active_admin/filters/active_filter.rb @@ -38,9 +38,7 @@ def label end def predicate_name - I18n.t( - "ransack.predicates.#{condition.predicate.name}", - default: ransack_predicate_name) + Ransack::Translate.predicate(condition.predicate.name) end def html_options @@ -78,10 +76,6 @@ def name condition_attribute.attr_name end - def ransack_predicate_name - Ransack::Translate.predicate(condition.predicate.name) - end - def find_class? ["eq", "in"].include? condition.predicate.arel_predicate end diff --git a/lib/active_admin/filters/forms.rb b/lib/active_admin/filters/forms.rb index 2c67d61fae0..7c71fdf74a4 100644 --- a/lib/active_admin/filters/forms.rb +++ b/lib/active_admin/filters/forms.rb @@ -7,9 +7,6 @@ class FormBuilder < ::ActiveAdmin::FormBuilder include ::ActiveAdmin::Filters::FormtasticAddons self.input_namespaces = [::Object, ::ActiveAdmin::Inputs::Filters, ::ActiveAdmin::Inputs, ::Formtastic::Inputs] - # TODO: remove input class finders after formtastic 4 (where it will be default) - self.input_class_finder = ::Formtastic::InputClassFinder - def filter(method, options = {}) if method.present? && options[:as] ||= default_input_type(method) template.concat input(method, options) diff --git a/lib/active_admin/filters/resource_extension.rb b/lib/active_admin/filters/resource_extension.rb index 70f564b3e46..1e73d0af880 100644 --- a/lib/active_admin/filters/resource_extension.rb +++ b/lib/active_admin/filters/resource_extension.rb @@ -146,7 +146,7 @@ def default_association_filters filters = poly.map(&:foreign_type) + low_arity.map(&:name) + high_arity end - filters.map &:to_sym + filters.map(&:to_sym) else [] end diff --git a/lib/active_admin/form_builder.rb b/lib/active_admin/form_builder.rb index 77e5a853d07..5b0e0525fea 100644 --- a/lib/active_admin/form_builder.rb +++ b/lib/active_admin/form_builder.rb @@ -17,10 +17,6 @@ class FormBuilder < ::Formtastic::FormBuilder self.input_namespaces = [::Object, ::ActiveAdmin::Inputs, ::Formtastic::Inputs] - # TODO: remove both class finders after formtastic 4 (where it will be default) - self.input_class_finder = ::Formtastic::InputClassFinder - self.action_class_finder = ::Formtastic::ActionClassFinder - def cancel_link(url = { action: "index" }, html_options = {}, li_attrs = {}) li_attrs[:class] ||= "action cancel" html_options[:class] ||= "cancel-link" diff --git a/lib/active_admin/helpers/optional_display.rb b/lib/active_admin/helpers/optional_display.rb index 2ec18d58d2a..92f2446b49f 100644 --- a/lib/active_admin/helpers/optional_display.rb +++ b/lib/active_admin/helpers/optional_display.rb @@ -23,7 +23,7 @@ def display_on?(action, render_context = self) when Symbol, String render_context.public_send condition when Proc - render_context.instance_exec &condition + render_context.instance_exec(&condition) else true end diff --git a/lib/active_admin/inputs/filters/base/search_method_select.rb b/lib/active_admin/inputs/filters/base/search_method_select.rb index 880b829db94..06046e54c42 100644 --- a/lib/active_admin/inputs/filters/base/search_method_select.rb +++ b/lib/active_admin/inputs/filters/base/search_method_select.rb @@ -26,7 +26,7 @@ module ClassMethods attr_reader :filters def filter(*filters) - (@filters ||= []).push *filters + (@filters ||= []).push(*filters) end end @@ -63,7 +63,7 @@ def current_filter def filter_options filters.collect do |filter| - [I18n.t("ransack.predicates.#{filter}").capitalize, "#{method}_#{filter}"] + [Ransack::Translate.predicate(filter).capitalize, "#{method}_#{filter}"] end end diff --git a/lib/active_admin/inputs/filters/select_input.rb b/lib/active_admin/inputs/filters/select_input.rb index c950f78afa9..23c9a041022 100644 --- a/lib/active_admin/inputs/filters/select_input.rb +++ b/lib/active_admin/inputs/filters/select_input.rb @@ -15,9 +15,7 @@ def searchable_method_name if searchable_has_many_through? "#{reflection.through_reflection.name}_#{reflection.foreign_key}" else - name = method.to_s - name.concat "_#{reflection.association_primary_key}" if reflection_searchable? - name + reflection_searchable? ? "#{method}_#{reflection.association_primary_key}" : method.to_s end end diff --git a/lib/active_admin/resource.rb b/lib/active_admin/resource.rb index 7ef4ed4ec5c..555545ddfc3 100644 --- a/lib/active_admin/resource.rb +++ b/lib/active_admin/resource.rb @@ -177,7 +177,7 @@ def create_another end def find_resource(id) - resource = resource_class.public_send *method_for_find(id) + resource = resource_class.public_send(*method_for_find(id)) (decorator_class && resource) ? decorator_class.new(resource) : resource end diff --git a/lib/active_admin/resource/action_items.rb b/lib/active_admin/resource/action_items.rb index 308af2f4457..0dc825392e0 100644 --- a/lib/active_admin/resource/action_items.rb +++ b/lib/active_admin/resource/action_items.rb @@ -59,7 +59,7 @@ def action_items? def add_default_action_items add_default_new_action_item add_default_edit_action_item - add_default_show_action_item + add_default_destroy_action_item end # Adds the default New link on index @@ -79,7 +79,7 @@ def add_default_edit_action_item end # Adds the default Destroy link on show - def add_default_show_action_item + def add_default_destroy_action_item add_action_item :destroy, only: :show, if: -> { destroy_action_authorized?(resource) } do localizer = ActiveAdmin::Localizers.resource(active_admin_config) link_to( diff --git a/lib/active_admin/resource/belongs_to.rb b/lib/active_admin/resource/belongs_to.rb index 4292b0fe4c6..b65503f6ba9 100644 --- a/lib/active_admin/resource/belongs_to.rb +++ b/lib/active_admin/resource/belongs_to.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative "../resource" module ActiveAdmin class Resource diff --git a/lib/active_admin/resource/naming.rb b/lib/active_admin/resource/naming.rb index e374807a805..5c0c8813350 100644 --- a/lib/active_admin/resource/naming.rb +++ b/lib/active_admin/resource/naming.rb @@ -5,7 +5,7 @@ class Resource module Naming def resource_name @resource_name ||= begin - as = @options[:as].gsub /\s/, "" if @options[:as] + as = @options[:as].gsub(/\s/, "") if @options[:as] if as || !resource_class.respond_to?(:model_name) Name.new resource_class, as diff --git a/lib/active_admin/resource_collection.rb b/lib/active_admin/resource_collection.rb index 9d66cfd828c..2b7dc334a30 100644 --- a/lib/active_admin/resource_collection.rb +++ b/lib/active_admin/resource_collection.rb @@ -22,7 +22,7 @@ def add(resource) # Changes `each` to pass in the value, instead of both the key and value. def each(&block) - values.each &block + values.each(&block) end def [](obj) diff --git a/lib/active_admin/resource_dsl.rb b/lib/active_admin/resource_dsl.rb index 07c175f48ad..a4da5c0f349 100644 --- a/lib/active_admin/resource_dsl.rb +++ b/lib/active_admin/resource_dsl.rb @@ -40,7 +40,7 @@ def scope(*args, &block) # Store relations that should be included def includes(*args) - config.includes.push *args + config.includes.push(*args) end # @@ -193,7 +193,7 @@ def decorate_with(decorator_class) standard_rails_filters = AbstractController::Callbacks::ClassMethods.public_instance_methods.select { |m| m.end_with?('_action') } - delegate *standard_rails_filters, to: :controller + delegate(*standard_rails_filters, to: :controller) # Specify which actions to create in the controller # diff --git a/lib/active_admin/view_helpers/method_or_proc_helper.rb b/lib/active_admin/view_helpers/method_or_proc_helper.rb index ffe98d29806..6dc9a0156bd 100644 --- a/lib/active_admin/view_helpers/method_or_proc_helper.rb +++ b/lib/active_admin/view_helpers/method_or_proc_helper.rb @@ -91,7 +91,7 @@ def render_in_context(context, obj, *args) context = self if context.nil? # default to `self` only when nil case obj when Proc - context.instance_exec *args, &obj + context.instance_exec(*args, &obj) when Symbol context.public_send obj, *args else diff --git a/lib/active_admin/views/components/table_for.rb b/lib/active_admin/views/components/table_for.rb index 080aedd0ee0..c67961ffcd5 100644 --- a/lib/active_admin/views/components/table_for.rb +++ b/lib/active_admin/views/components/table_for.rb @@ -94,7 +94,7 @@ def build_table_header(col) end def build_table_body - @tbody = tbody **(@tbody_html || {}) do + @tbody = tbody(**(@tbody_html || {})) do # Build enough rows for our collection @collection.each do |elem| html_options = @row_html&.call(elem) || {} diff --git a/lib/active_admin/views/index_as_table.rb b/lib/active_admin/views/index_as_table.rb index 4abbf617b6e..3b6a7ec1760 100644 --- a/lib/active_admin/views/index_as_table.rb +++ b/lib/active_admin/views/index_as_table.rb @@ -256,9 +256,14 @@ def selectable_column(**options) end # Display a column for the id - def id_column + def id_column(*args) raise "#{resource_class.name} has no primary_key!" unless resource_class.primary_key - column(resource_class.human_attribute_name(resource_class.primary_key), sortable: resource_class.primary_key) do |resource| + + options = args.extract_options! + title = args[0].presence || resource_class.human_attribute_name(resource_class.primary_key) + sortable = options.fetch(:sortable, resource_class.primary_key) + + column(title, sortable: sortable) do |resource| if controller.action_methods.include?("show") link_to resource.id, resource_path(resource) elsif controller.action_methods.include?("edit") diff --git a/package.json b/package.json index 42a65f7cd02..3f7f22aafde 100644 --- a/package.json +++ b/package.json @@ -26,11 +26,11 @@ "homepage": "https://activeadmin.info", "devDependencies": { "@rollup/plugin-alias": "^5.1.0", - "eslint": "^9.8.0", + "eslint": "^9.28.0", "gherkin-lint": "^4.2.2", - "rollup": "^4.19.2", - "tailwindcss": "^3.3.5", - "vitepress": "^1.4.0" + "rollup": "^4.41.1", + "tailwindcss": "^3.4.17", + "vitepress": "^1.6.3" }, "scripts": { "gherkin-lint": "gherkin-lint", @@ -43,7 +43,7 @@ "docs:preview": "vitepress preview docs" }, "dependencies": { - "@rails/ujs": "7.1.400", - "flowbite": "2.3.0" + "@rails/ujs": "7.1.501", + "flowbite": "3.1.2" } } diff --git a/spec/helpers/display_helper_spec.rb b/spec/helpers/display_helper_spec.rb index 9860435d109..9792d20437c 100644 --- a/spec/helpers/display_helper_spec.rb +++ b/spec/helpers/display_helper_spec.rb @@ -204,7 +204,7 @@ class ThisModel value = helper.format_attribute post, :author - expect(value).to match /User \#\d+<\/a>/ + expect(value).to match(/User \#\d+<\/a>/) end it "auto-links ActiveRecord records & uses a display_name method" do @@ -212,7 +212,7 @@ class ThisModel value = helper.format_attribute post, :author - expect(value).to match /A B<\/a>/ + expect(value).to match(/A B<\/a>/) end it "calls status_tag for boolean values" do diff --git a/spec/helpers/filter_form_helper_spec.rb b/spec/helpers/filter_form_helper_spec.rb index 91b5f61e55a..1cf27aa7b89 100644 --- a/spec/helpers/filter_form_helper_spec.rb +++ b/spec/helpers/filter_form_helper_spec.rb @@ -8,7 +8,7 @@ def render_filter(search, filters) render_arbre_component({ filter_args: [search, filters] }, helper) do args = assigns[:filter_args] kwargs = args.pop if args.last.is_a?(Hash) - text_node active_admin_filters_form_for *args, **kwargs + text_node active_admin_filters_form_for(*args, **kwargs) end.to_s end diff --git a/spec/locales/i18n_spec.rb b/spec/locales/i18n_spec.rb index 03e44de781b..14a7c210af8 100644 --- a/spec/locales/i18n_spec.rb +++ b/spec/locales/i18n_spec.rb @@ -28,6 +28,12 @@ "#{inconsistent_interpolation_key_count} inconsistent interpolations, run `bin/i18n-tasks check-consistent-interpolations` to show them" end + let(:non_normalized_paths) { i18n.non_normalized_paths } + let(:non_normalized_paths_count) { non_normalized_paths.size } + let(:non_normalized_paths_failure_msg) do + "#{non_normalized_paths_count} non-normalized paths, run `bin/i18n-tasks check-normalized` to show them" + end + it "does not have unused keys" do expect(unused_keys).to be_empty, unused_key_failure_msg end @@ -35,4 +41,8 @@ it "does not have inconsistent interpolations" do expect(inconsistent_interpolations).to be_empty, inconsistent_interpolation_failure_msg end + + it "does not have non-normalized paths" do + expect(non_normalized_paths).to be_empty, non_normalized_paths_failure_msg + end end diff --git a/spec/unit/comments_spec.rb b/spec/unit/comments_spec.rb index f12653c7929..42fbc8228e9 100644 --- a/spec/unit/comments_spec.rb +++ b/spec/unit/comments_spec.rb @@ -166,7 +166,7 @@ let(:namespace_name) { "admin" } it "should assign child class as commented resource" do - comment = ActiveAdmin::Comment.create!( + ActiveAdmin::Comment.create!( author: user, resource: publisher, body: "Lorem Ipsum", diff --git a/spec/unit/form_builder_spec.rb b/spec/unit/form_builder_spec.rb index 3f2362699a3..a4d6201b9de 100644 --- a/spec/unit/form_builder_spec.rb +++ b/spec/unit/form_builder_spec.rb @@ -33,7 +33,7 @@ def view.action_name def form_html(options = {}, form_object = Post.new, &block) options = { url: helpers.posts_path }.merge(options) - form = render_arbre_component({ form_object: form_object, form_options: options, form_block: block }, helpers) do + render_arbre_component({ form_object: form_object, form_options: options, form_block: block }, helpers) do active_admin_form_for(assigns[:form_object], assigns[:form_options], &assigns[:form_block]) end.to_s end diff --git a/spec/unit/namespace/register_resource_spec.rb b/spec/unit/namespace/register_resource_spec.rb index 559ed971eea..c97cc181c39 100644 --- a/spec/unit/namespace/register_resource_spec.rb +++ b/spec/unit/namespace/register_resource_spec.rb @@ -78,7 +78,7 @@ module ::Mock; class Resource; def self.has_many(arg1, arg2); end; end; end end it "should return the resource if it and it's parent were registered" do - user = namespace.register User + namespace.register User publisher = namespace.register Publisher expect(namespace.resource_for(Publisher)).to eq publisher end diff --git a/spec/unit/resource_controller_spec.rb b/spec/unit/resource_controller_spec.rb index 2413dfe1ed6..d9f9db924e9 100644 --- a/spec/unit/resource_controller_spec.rb +++ b/spec/unit/resource_controller_spec.rb @@ -273,7 +273,7 @@ def call_after_destroy(obj); end end describe "performing batch_action" do - let(:batch_action) { ActiveAdmin::BatchAction.new *batch_action_args, &batch_action_block } + let(:batch_action) { ActiveAdmin::BatchAction.new(*batch_action_args, &batch_action_block) } let(:batch_action_block) { proc { self.instance_variable_set :@block_context, self.class } } let(:params) { ActionController::Parameters.new(http_params) } diff --git a/spec/unit/views/components/attributes_table_spec.rb b/spec/unit/views/components/attributes_table_spec.rb index 3b54cc19082..2291daa486b 100644 --- a/spec/unit/views/components/attributes_table_spec.rb +++ b/spec/unit/views/components/attributes_table_spec.rb @@ -65,9 +65,9 @@ end end }, - }.each do |context_title, table_decleration| + }.each do |context_title, table_declaration| context context_title do - let(:table) { instance_eval &table_decleration } + let(:table) { instance_eval(&table_declaration) } it "should render a div wrapper with the class '.attributes-table'" do expect(table.tag_name).to eq "div" diff --git a/spec/unit/views/components/index_table_for_spec.rb b/spec/unit/views/components/index_table_for_spec.rb index 4585ddb15df..9ab6ba25240 100644 --- a/spec/unit/views/components/index_table_for_spec.rb +++ b/spec/unit/views/components/index_table_for_spec.rb @@ -15,7 +15,8 @@ let(:assigns) do { collection: collection, - active_admin_config: active_admin_config + active_admin_config: active_admin_config, + resource_class: User, } end let(:helpers) { mock_action_view } @@ -43,5 +44,54 @@ end end end + + context "when creating an id column" do + before { allow(helpers).to receive(:url_target) { 'routing_stub' } } + + def build_index_table(&block) + render_arbre_component assigns, helpers do + insert_tag(ActiveAdmin::Views::IndexAsTable::IndexTableFor, collection, { sortable: true }) do + instance_exec(&block) + end + end + end + + it "use primary key as title by default" do + table = build_index_table { id_column } + header = table.find_by_tag("th").first + expect(header.content).to include("id") + end + + it "supports title customization" do + table = build_index_table { id_column 'Res. Id' } + header = table.find_by_tag("th").first + expect(header.content).to include("Res. Id") + end + + it "is sortable by default" do + table = build_index_table { id_column } + header = table.find_by_tag("th").first + expect(header.attributes).to include("data-sortable": "") + end + + it "supports sortable: false" do + table = build_index_table { id_column sortable: false } + header = table.find_by_tag("th").first + expect(header.attributes).not_to include("data-sortable": "") + end + + it "supports sortable column names" do + table = build_index_table { id_column sortable: :created_at } + header = table.find_by_tag("th").first + expect(header.attributes).to include("data-sortable": "") + end + + it 'supports title customization and options' do + table = build_index_table { id_column 'Res. Id', sortable: :created_at } + header = table.find_by_tag("th").first + expect(header.content).to include("Res. Id") + expect(header.attributes).to include("data-sortable": "") + end + end end end diff --git a/tasks/release.rake b/tasks/release.rake index 5f0bd22e3fa..119f0be502a 100644 --- a/tasks/release.rake +++ b/tasks/release.rake @@ -4,7 +4,7 @@ require "open3" namespace :release do desc "Publish npm package" task :npm_push do - npm_version, error, status = Open3.capture3("npm pkg get version") + npm_version, _error, _status = Open3.capture3("npm pkg get version") npm_tag = npm_version.include?("-") ? "pre" : "latest" system "npm", "publish", "--tag", npm_tag, exception: true end diff --git a/tasks/test_application.rb b/tasks/test_application.rb index 28e3c87fe5c..f78970dc068 100644 --- a/tasks/test_application.rb +++ b/tasks/test_application.rb @@ -23,6 +23,16 @@ def soft_generate Kernel.system("yarn add @activeadmin/activeadmin") Kernel.system('npm pkg set scripts.build:css="tailwindcss -i ./app/assets/stylesheets/active_admin.css -o ./app/assets/builds/active_admin.css --minify -c tailwind-active_admin.config.js"') Kernel.system("yarn install") + + # Temporary workaround: Downgrade Tailwind CSS to v3. + # The `css:install:tailwind` task installs Tailwind CSS v4 by default, + # which is suitable for new applications. + # Related issues: + # - activeadmin/activeadmin#8611 + # - rails/cssbundling-rails#163 + # TODO: Remove this workaround once Tailwind CSS v4 is supported. + Kernel.system('yarn upgrade "tailwindcss@^3.4.17"') + Kernel.system("yarn build:css") end end diff --git a/vendor/javascript/flowbite.js b/vendor/javascript/flowbite.js index 04f33b938a9..5024f70bfa0 100644 --- a/vendor/javascript/flowbite.js +++ b/vendor/javascript/flowbite.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("Flowbite",[],e):"object"==typeof exports?exports.Flowbite=e():t.Flowbite=e()}(self,(function(){return function(){"use strict";var t={647:function(t,e,i){i.r(e)},853:function(t,e,i){i.r(e),i.d(e,{afterMain:function(){return w},afterRead:function(){return y},afterWrite:function(){return O},applyStyles:function(){return P},arrow:function(){return Q},auto:function(){return a},basePlacements:function(){return c},beforeMain:function(){return b},beforeRead:function(){return _},beforeWrite:function(){return L},bottom:function(){return o},clippingParents:function(){return u},computeStyles:function(){return it},createPopper:function(){return Pt},createPopperBase:function(){return Ht},createPopperLite:function(){return St},detectOverflow:function(){return mt},end:function(){return l},eventListeners:function(){return ot},flip:function(){return yt},hide:function(){return wt},left:function(){return s},main:function(){return E},modifierPhases:function(){return k},offset:function(){return Lt},placements:function(){return g},popper:function(){return h},popperGenerator:function(){return Tt},popperOffsets:function(){return It},preventOverflow:function(){return Ot},read:function(){return m},reference:function(){return f},right:function(){return r},start:function(){return d},top:function(){return n},variationPlacements:function(){return v},viewport:function(){return p},write:function(){return I}});var n="top",o="bottom",r="right",s="left",a="auto",c=[n,o,r,s],d="start",l="end",u="clippingParents",p="viewport",h="popper",f="reference",v=c.reduce((function(t,e){return t.concat([e+"-"+d,e+"-"+l])}),[]),g=[].concat(c,[a]).reduce((function(t,e){return t.concat([e,e+"-"+d,e+"-"+l])}),[]),_="beforeRead",m="read",y="afterRead",b="beforeMain",E="main",w="afterMain",L="beforeWrite",I="write",O="afterWrite",k=[_,m,y,b,E,w,L,I,O];function x(t){return t?(t.nodeName||"").toLowerCase():null}function A(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function C(t){return t instanceof A(t).Element||t instanceof Element}function T(t){return t instanceof A(t).HTMLElement||t instanceof HTMLElement}function H(t){return"undefined"!=typeof ShadowRoot&&(t instanceof A(t).ShadowRoot||t instanceof ShadowRoot)}var P={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},o=e.elements[t];T(o)&&x(o)&&(Object.assign(o.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?o.removeAttribute(t):o.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],o=e.attributes[t]||{},r=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});T(n)&&x(n)&&(Object.assign(n.style,r),Object.keys(o).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function S(t){return t.split("-")[0]}var j=Math.max,D=Math.min,z=Math.round;function M(){var t=navigator.userAgentData;return null!=t&&t.brands?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function q(){return!/^((?!chrome|android).)*safari/i.test(M())}function V(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),o=1,r=1;e&&T(t)&&(o=t.offsetWidth>0&&z(n.width)/t.offsetWidth||1,r=t.offsetHeight>0&&z(n.height)/t.offsetHeight||1);var s=(C(t)?A(t):window).visualViewport,a=!q()&&i,c=(n.left+(a&&s?s.offsetLeft:0))/o,d=(n.top+(a&&s?s.offsetTop:0))/r,l=n.width/o,u=n.height/r;return{width:l,height:u,top:d,right:c+l,bottom:d+u,left:c,x:c,y:d}}function B(t){var e=V(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function R(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&H(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function W(t){return A(t).getComputedStyle(t)}function F(t){return["table","td","th"].indexOf(x(t))>=0}function K(t){return((C(t)?t.ownerDocument:t.document)||window.document).documentElement}function N(t){return"html"===x(t)?t:t.assignedSlot||t.parentNode||(H(t)?t.host:null)||K(t)}function U(t){return T(t)&&"fixed"!==W(t).position?t.offsetParent:null}function X(t){for(var e=A(t),i=U(t);i&&F(i)&&"static"===W(i).position;)i=U(i);return i&&("html"===x(i)||"body"===x(i)&&"static"===W(i).position)?e:i||function(t){var e=/firefox/i.test(M());if(/Trident/i.test(M())&&T(t)&&"fixed"===W(t).position)return null;var i=N(t);for(H(i)&&(i=i.host);T(i)&&["html","body"].indexOf(x(i))<0;){var n=W(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Y(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function G(t,e,i){return j(t,D(e,i))}function $(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function J(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var Q={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,a=t.name,d=t.options,l=i.elements.arrow,u=i.modifiersData.popperOffsets,p=S(i.placement),h=Y(p),f=[s,r].indexOf(p)>=0?"height":"width";if(l&&u){var v=function(t,e){return $("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:J(t,c))}(d.padding,i),g=B(l),_="y"===h?n:s,m="y"===h?o:r,y=i.rects.reference[f]+i.rects.reference[h]-u[h]-i.rects.popper[f],b=u[h]-i.rects.reference[h],E=X(l),w=E?"y"===h?E.clientHeight||0:E.clientWidth||0:0,L=y/2-b/2,I=v[_],O=w-g[f]-v[m],k=w/2-g[f]/2+L,x=G(I,k,O),A=h;i.modifiersData[a]=((e={})[A]=x,e.centerOffset=x-k,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&R(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Z(t){return t.split("-")[1]}var tt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function et(t){var e,i=t.popper,a=t.popperRect,c=t.placement,d=t.variation,u=t.offsets,p=t.position,h=t.gpuAcceleration,f=t.adaptive,v=t.roundOffsets,g=t.isFixed,_=u.x,m=void 0===_?0:_,y=u.y,b=void 0===y?0:y,E="function"==typeof v?v({x:m,y:b}):{x:m,y:b};m=E.x,b=E.y;var w=u.hasOwnProperty("x"),L=u.hasOwnProperty("y"),I=s,O=n,k=window;if(f){var x=X(i),C="clientHeight",T="clientWidth";if(x===A(i)&&"static"!==W(x=K(i)).position&&"absolute"===p&&(C="scrollHeight",T="scrollWidth"),c===n||(c===s||c===r)&&d===l)O=o,b-=(g&&x===k&&k.visualViewport?k.visualViewport.height:x[C])-a.height,b*=h?1:-1;if(c===s||(c===n||c===o)&&d===l)I=r,m-=(g&&x===k&&k.visualViewport?k.visualViewport.width:x[T])-a.width,m*=h?1:-1}var H,P=Object.assign({position:p},f&&tt),S=!0===v?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:z(e*n)/n||0,y:z(i*n)/n||0}}({x:m,y:b}):{x:m,y:b};return m=S.x,b=S.y,h?Object.assign({},P,((H={})[O]=L?"0":"",H[I]=w?"0":"",H.transform=(k.devicePixelRatio||1)<=1?"translate("+m+"px, "+b+"px)":"translate3d("+m+"px, "+b+"px, 0)",H)):Object.assign({},P,((e={})[O]=L?b+"px":"",e[I]=w?m+"px":"",e.transform="",e))}var it={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,o=void 0===n||n,r=i.adaptive,s=void 0===r||r,a=i.roundOffsets,c=void 0===a||a,d={placement:S(e.placement),variation:Z(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,et(Object.assign({},d,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:s,roundOffsets:c})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,et(Object.assign({},d,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},nt={passive:!0};var ot={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,o=n.scroll,r=void 0===o||o,s=n.resize,a=void 0===s||s,c=A(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return r&&d.forEach((function(t){t.addEventListener("scroll",i.update,nt)})),a&&c.addEventListener("resize",i.update,nt),function(){r&&d.forEach((function(t){t.removeEventListener("scroll",i.update,nt)})),a&&c.removeEventListener("resize",i.update,nt)}},data:{}},rt={left:"right",right:"left",bottom:"top",top:"bottom"};function st(t){return t.replace(/left|right|bottom|top/g,(function(t){return rt[t]}))}var at={start:"end",end:"start"};function ct(t){return t.replace(/start|end/g,(function(t){return at[t]}))}function dt(t){var e=A(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function lt(t){return V(K(t)).left+dt(t).scrollLeft}function ut(t){var e=W(t),i=e.overflow,n=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+o+n)}function pt(t){return["html","body","#document"].indexOf(x(t))>=0?t.ownerDocument.body:T(t)&&ut(t)?t:pt(N(t))}function ht(t,e){var i;void 0===e&&(e=[]);var n=pt(t),o=n===(null==(i=t.ownerDocument)?void 0:i.body),r=A(n),s=o?[r].concat(r.visualViewport||[],ut(n)?n:[]):n,a=e.concat(s);return o?a:a.concat(ht(N(s)))}function ft(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function vt(t,e,i){return e===p?ft(function(t,e){var i=A(t),n=K(t),o=i.visualViewport,r=n.clientWidth,s=n.clientHeight,a=0,c=0;if(o){r=o.width,s=o.height;var d=q();(d||!d&&"fixed"===e)&&(a=o.offsetLeft,c=o.offsetTop)}return{width:r,height:s,x:a+lt(t),y:c}}(t,i)):C(e)?function(t,e){var i=V(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):ft(function(t){var e,i=K(t),n=dt(t),o=null==(e=t.ownerDocument)?void 0:e.body,r=j(i.scrollWidth,i.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=j(i.scrollHeight,i.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),a=-n.scrollLeft+lt(t),c=-n.scrollTop;return"rtl"===W(o||i).direction&&(a+=j(i.clientWidth,o?o.clientWidth:0)-r),{width:r,height:s,x:a,y:c}}(K(t)))}function gt(t,e,i,n){var o="clippingParents"===e?function(t){var e=ht(N(t)),i=["absolute","fixed"].indexOf(W(t).position)>=0&&T(t)?X(t):t;return C(i)?e.filter((function(t){return C(t)&&R(t,i)&&"body"!==x(t)})):[]}(t):[].concat(e),r=[].concat(o,[i]),s=r[0],a=r.reduce((function(e,i){var o=vt(t,i,n);return e.top=j(o.top,e.top),e.right=D(o.right,e.right),e.bottom=D(o.bottom,e.bottom),e.left=j(o.left,e.left),e}),vt(t,s,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function _t(t){var e,i=t.reference,a=t.element,c=t.placement,u=c?S(c):null,p=c?Z(c):null,h=i.x+i.width/2-a.width/2,f=i.y+i.height/2-a.height/2;switch(u){case n:e={x:h,y:i.y-a.height};break;case o:e={x:h,y:i.y+i.height};break;case r:e={x:i.x+i.width,y:f};break;case s:e={x:i.x-a.width,y:f};break;default:e={x:i.x,y:i.y}}var v=u?Y(u):null;if(null!=v){var g="y"===v?"height":"width";switch(p){case d:e[v]=e[v]-(i[g]/2-a[g]/2);break;case l:e[v]=e[v]+(i[g]/2-a[g]/2)}}return e}function mt(t,e){void 0===e&&(e={});var i=e,s=i.placement,a=void 0===s?t.placement:s,d=i.strategy,l=void 0===d?t.strategy:d,v=i.boundary,g=void 0===v?u:v,_=i.rootBoundary,m=void 0===_?p:_,y=i.elementContext,b=void 0===y?h:y,E=i.altBoundary,w=void 0!==E&&E,L=i.padding,I=void 0===L?0:L,O=$("number"!=typeof I?I:J(I,c)),k=b===h?f:h,x=t.rects.popper,A=t.elements[w?k:b],T=gt(C(A)?A:A.contextElement||K(t.elements.popper),g,m,l),H=V(t.elements.reference),P=_t({reference:H,element:x,strategy:"absolute",placement:a}),S=ft(Object.assign({},x,P)),j=b===h?S:H,D={top:T.top-j.top+O.top,bottom:j.bottom-T.bottom+O.bottom,left:T.left-j.left+O.left,right:j.right-T.right+O.right},z=t.modifiersData.offset;if(b===h&&z){var M=z[a];Object.keys(D).forEach((function(t){var e=[r,o].indexOf(t)>=0?1:-1,i=[n,o].indexOf(t)>=0?"y":"x";D[t]+=M[i]*e}))}return D}var yt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,l=t.name;if(!e.modifiersData[l]._skip){for(var u=i.mainAxis,p=void 0===u||u,h=i.altAxis,f=void 0===h||h,_=i.fallbackPlacements,m=i.padding,y=i.boundary,b=i.rootBoundary,E=i.altBoundary,w=i.flipVariations,L=void 0===w||w,I=i.allowedAutoPlacements,O=e.options.placement,k=S(O),x=_||(k===O||!L?[st(O)]:function(t){if(S(t)===a)return[];var e=st(t);return[ct(t),e,ct(e)]}(O)),A=[O].concat(x).reduce((function(t,i){return t.concat(S(i)===a?function(t,e){void 0===e&&(e={});var i=e,n=i.placement,o=i.boundary,r=i.rootBoundary,s=i.padding,a=i.flipVariations,d=i.allowedAutoPlacements,l=void 0===d?g:d,u=Z(n),p=u?a?v:v.filter((function(t){return Z(t)===u})):c,h=p.filter((function(t){return l.indexOf(t)>=0}));0===h.length&&(h=p);var f=h.reduce((function(e,i){return e[i]=mt(t,{placement:i,boundary:o,rootBoundary:r,padding:s})[S(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}(e,{placement:i,boundary:y,rootBoundary:b,padding:m,flipVariations:L,allowedAutoPlacements:I}):i)}),[]),C=e.rects.reference,T=e.rects.popper,H=new Map,P=!0,j=A[0],D=0;D=0,B=V?"width":"height",R=mt(e,{placement:z,boundary:y,rootBoundary:b,altBoundary:E,padding:m}),W=V?q?r:s:q?o:n;C[B]>T[B]&&(W=st(W));var F=st(W),K=[];if(p&&K.push(R[M]<=0),f&&K.push(R[W]<=0,R[F]<=0),K.every((function(t){return t}))){j=z,P=!1;break}H.set(z,K)}if(P)for(var N=function(t){var e=A.find((function(e){var i=H.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return j=e,"break"},U=L?3:1;U>0;U--){if("break"===N(U))break}e.placement!==j&&(e.modifiersData[l]._skip=!0,e.placement=j,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function bt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Et(t){return[n,r,o,s].some((function(e){return t[e]>=0}))}var wt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,o=e.rects.popper,r=e.modifiersData.preventOverflow,s=mt(e,{elementContext:"reference"}),a=mt(e,{altBoundary:!0}),c=bt(s,n),d=bt(a,o,r),l=Et(c),u=Et(d);e.modifiersData[i]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:l,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":l,"data-popper-escaped":u})}};var Lt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,o=t.name,a=i.offset,c=void 0===a?[0,0]:a,d=g.reduce((function(t,i){return t[i]=function(t,e,i){var o=S(t),a=[s,n].indexOf(o)>=0?-1:1,c="function"==typeof i?i(Object.assign({},e,{placement:t})):i,d=c[0],l=c[1];return d=d||0,l=(l||0)*a,[s,r].indexOf(o)>=0?{x:l,y:d}:{x:d,y:l}}(i,e.rects,c),t}),{}),l=d[e.placement],u=l.x,p=l.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=u,e.modifiersData.popperOffsets.y+=p),e.modifiersData[o]=d}};var It={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=_t({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}};var Ot={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,a=t.name,c=i.mainAxis,l=void 0===c||c,u=i.altAxis,p=void 0!==u&&u,h=i.boundary,f=i.rootBoundary,v=i.altBoundary,g=i.padding,_=i.tether,m=void 0===_||_,y=i.tetherOffset,b=void 0===y?0:y,E=mt(e,{boundary:h,rootBoundary:f,padding:g,altBoundary:v}),w=S(e.placement),L=Z(e.placement),I=!L,O=Y(w),k="x"===O?"y":"x",x=e.modifiersData.popperOffsets,A=e.rects.reference,C=e.rects.popper,T="function"==typeof b?b(Object.assign({},e.rects,{placement:e.placement})):b,H="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),P=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,z={x:0,y:0};if(x){if(l){var M,q="y"===O?n:s,V="y"===O?o:r,R="y"===O?"height":"width",W=x[O],F=W+E[q],K=W-E[V],N=m?-C[R]/2:0,U=L===d?A[R]:C[R],$=L===d?-C[R]:-A[R],J=e.elements.arrow,Q=m&&J?B(J):{width:0,height:0},tt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[q],it=tt[V],nt=G(0,A[R],Q[R]),ot=I?A[R]/2-N-nt-et-H.mainAxis:U-nt-et-H.mainAxis,rt=I?-A[R]/2+N+nt+it+H.mainAxis:$+nt+it+H.mainAxis,st=e.elements.arrow&&X(e.elements.arrow),at=st?"y"===O?st.clientTop||0:st.clientLeft||0:0,ct=null!=(M=null==P?void 0:P[O])?M:0,dt=W+rt-ct,lt=G(m?D(F,W+ot-ct-at):F,W,m?j(K,dt):K);x[O]=lt,z[O]=lt-W}if(p){var ut,pt="x"===O?n:s,ht="x"===O?o:r,ft=x[k],vt="y"===k?"height":"width",gt=ft+E[pt],_t=ft-E[ht],yt=-1!==[n,s].indexOf(w),bt=null!=(ut=null==P?void 0:P[k])?ut:0,Et=yt?gt:ft-A[vt]-C[vt]-bt+H.altAxis,wt=yt?ft+A[vt]+C[vt]-bt-H.altAxis:_t,Lt=m&&yt?function(t,e,i){var n=G(t,e,i);return n>i?i:n}(Et,ft,wt):G(m?Et:gt,ft,m?wt:_t);x[k]=Lt,z[k]=Lt-ft}e.modifiersData[a]=z}},requiresIfExists:["offset"]};function kt(t,e,i){void 0===i&&(i=!1);var n,o,r=T(e),s=T(e)&&function(t){var e=t.getBoundingClientRect(),i=z(e.width)/t.offsetWidth||1,n=z(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=K(e),c=V(t,s,i),d={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!i)&&(("body"!==x(e)||ut(a))&&(d=(n=e)!==A(n)&&T(n)?{scrollLeft:(o=n).scrollLeft,scrollTop:o.scrollTop}:dt(n)),T(e)?((l=V(e,!0)).x+=e.clientLeft,l.y+=e.clientTop):a&&(l.x=lt(a))),{x:c.left+d.scrollLeft-l.x,y:c.top+d.scrollTop-l.y,width:c.width,height:c.height}}function xt(t){var e=new Map,i=new Set,n=[];function o(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&o(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||o(t)})),n}var At={placement:"bottom",modifiers:[],strategy:"absolute"};function Ct(){for(var t=arguments.length,e=new Array(t),i=0;it._options.maxValue&&(i.value=t._options.maxValue.toString()),null!==t._options.minValue&&parseInt(i.value)=this._options.maxValue||(this._targetEl.value=(this.getCurrentValue()+1).toString(),this._options.onIncrement(this))},t.prototype.decrement=function(){null!==this._options.minValue&&this.getCurrentValue()<=this._options.minValue||(this._targetEl.value=(this.getCurrentValue()-1).toString(),this._options.onDecrement(this))},t.prototype.updateOnIncrement=function(t){this._options.onIncrement=t},t.prototype.updateOnDecrement=function(t){this._options.onDecrement=t},t}();function c(){document.querySelectorAll("[data-input-counter]").forEach((function(t){var e=t.id,i=document.querySelector('[data-input-counter-increment="'+e+'"]'),n=document.querySelector('[data-input-counter-decrement="'+e+'"]'),r=t.getAttribute("data-input-counter-min"),s=t.getAttribute("data-input-counter-max");t?o.default.instanceExists("InputCounter",t.getAttribute("id"))||new a(t,i||null,n||null,{minValue:r?parseInt(r):null,maxValue:s?parseInt(s):null}):console.error('The target element with id "'.concat(e,'" does not exist. Please check the data-input-counter attribute.'))}))}e.initInputCounters=c,"undefined"!=typeof window&&(window.InputCounter=a,window.initInputCounters=c),e.default=a},16:function(t,e,i){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0&&j(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&j(n.height)/t.offsetHeight||1);var a=(A(t)?I(t):window).visualViewport,s=!B()&&i,d=(n.left+(s&&a?a.offsetLeft:0))/r,c=(n.top+(s&&a?a.offsetTop:0))/o,l=n.width/r,u=n.height/o;return{width:l,height:u,top:c,right:d+l,bottom:c+u,left:d,x:d,y:c}}function F(t){var e=z(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function N(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&S(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function W(t){return I(t).getComputedStyle(t)}function q(t){return["table","td","th"].indexOf(L(t))>=0}function R(t){return((A(t)?t.ownerDocument:t.document)||window.document).documentElement}function Y(t){return"html"===L(t)?t:t.assignedSlot||t.parentNode||(S(t)?t.host:null)||R(t)}function K(t){return C(t)&&"fixed"!==W(t).position?t.offsetParent:null}function U(t){for(var e=I(t),i=K(t);i&&q(i)&&"static"===W(i).position;)i=K(i);return i&&("html"===L(i)||"body"===L(i)&&"static"===W(i).position)?e:i||function(t){var e=/firefox/i.test(V());if(/Trident/i.test(V())&&C(t)&&"fixed"===W(t).position)return null;var i=Y(t);for(S(i)&&(i=i.host);C(i)&&["html","body"].indexOf(L(i))<0;){var n=W(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function J(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function X(t,e,i){return H(t,P(e,i))}function $(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function G(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var Q={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,s=t.name,c=t.options,l=i.elements.arrow,u=i.modifiersData.popperOffsets,h=M(i.placement),p=J(h),f=[a,o].indexOf(h)>=0?"height":"width";if(l&&u){var g=function(t,e){return $("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:G(t,d))}(c.padding,i),v=F(l),y="y"===p?n:a,m="y"===p?r:o,b=i.rects.reference[f]+i.rects.reference[p]-u[p]-i.rects.popper[f],_=u[p]-i.rects.reference[p],w=U(l),k=w?"y"===p?w.clientHeight||0:w.clientWidth||0:0,E=b/2-_/2,x=g[y],D=k-v[f]-g[m],O=k/2-v[f]/2+E,L=X(x,O,D),I=p;i.modifiersData[s]=((e={})[I]=L,e.centerOffset=L-O,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&N(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Z(t){return t.split("-")[1]}var tt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function et(t){var e,i=t.popper,s=t.popperRect,d=t.placement,c=t.variation,u=t.offsets,h=t.position,p=t.gpuAcceleration,f=t.adaptive,g=t.roundOffsets,v=t.isFixed,y=u.x,m=void 0===y?0:y,b=u.y,_=void 0===b?0:b,w="function"==typeof g?g({x:m,y:_}):{x:m,y:_};m=w.x,_=w.y;var k=u.hasOwnProperty("x"),E=u.hasOwnProperty("y"),x=a,D=n,O=window;if(f){var L=U(i),A="clientHeight",C="clientWidth";if(L===I(i)&&"static"!==W(L=R(i)).position&&"absolute"===h&&(A="scrollHeight",C="scrollWidth"),d===n||(d===a||d===o)&&c===l)D=r,_-=(v&&L===O&&O.visualViewport?O.visualViewport.height:L[A])-s.height,_*=p?1:-1;if(d===a||(d===n||d===r)&&c===l)x=o,m-=(v&&L===O&&O.visualViewport?O.visualViewport.width:L[C])-s.width,m*=p?1:-1}var S,T=Object.assign({position:h},f&&tt),M=!0===g?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:j(e*n)/n||0,y:j(i*n)/n||0}}({x:m,y:_}):{x:m,y:_};return m=M.x,_=M.y,p?Object.assign({},T,((S={})[D]=E?"0":"",S[x]=k?"0":"",S.transform=(O.devicePixelRatio||1)<=1?"translate("+m+"px, "+_+"px)":"translate3d("+m+"px, "+_+"px, 0)",S)):Object.assign({},T,((e={})[D]=E?_+"px":"",e[x]=k?m+"px":"",e.transform="",e))}var it={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,r=void 0===n||n,o=i.adaptive,a=void 0===o||o,s=i.roundOffsets,d=void 0===s||s,c={placement:M(e.placement),variation:Z(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:r,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,et(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:d})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,et(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},nt={passive:!0};var rt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,r=n.scroll,o=void 0===r||r,a=n.resize,s=void 0===a||a,d=I(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,nt)})),s&&d.addEventListener("resize",i.update,nt),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,nt)})),s&&d.removeEventListener("resize",i.update,nt)}},data:{}},ot={left:"right",right:"left",bottom:"top",top:"bottom"};function at(t){return t.replace(/left|right|bottom|top/g,(function(t){return ot[t]}))}var st={start:"end",end:"start"};function dt(t){return t.replace(/start|end/g,(function(t){return st[t]}))}function ct(t){var e=I(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function lt(t){return z(R(t)).left+ct(t).scrollLeft}function ut(t){var e=W(t),i=e.overflow,n=e.overflowX,r=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+r+n)}function ht(t){return["html","body","#document"].indexOf(L(t))>=0?t.ownerDocument.body:C(t)&&ut(t)?t:ht(Y(t))}function pt(t,e){var i;void 0===e&&(e=[]);var n=ht(t),r=n===(null==(i=t.ownerDocument)?void 0:i.body),o=I(n),a=r?[o].concat(o.visualViewport||[],ut(n)?n:[]):n,s=e.concat(a);return r?s:s.concat(pt(Y(a)))}function ft(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function gt(t,e,i){return e===h?ft(function(t,e){var i=I(t),n=R(t),r=i.visualViewport,o=n.clientWidth,a=n.clientHeight,s=0,d=0;if(r){o=r.width,a=r.height;var c=B();(c||!c&&"fixed"===e)&&(s=r.offsetLeft,d=r.offsetTop)}return{width:o,height:a,x:s+lt(t),y:d}}(t,i)):A(e)?function(t,e){var i=z(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):ft(function(t){var e,i=R(t),n=ct(t),r=null==(e=t.ownerDocument)?void 0:e.body,o=H(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=H(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),s=-n.scrollLeft+lt(t),d=-n.scrollTop;return"rtl"===W(r||i).direction&&(s+=H(i.clientWidth,r?r.clientWidth:0)-o),{width:o,height:a,x:s,y:d}}(R(t)))}function vt(t,e,i,n){var r="clippingParents"===e?function(t){var e=pt(Y(t)),i=["absolute","fixed"].indexOf(W(t).position)>=0&&C(t)?U(t):t;return A(i)?e.filter((function(t){return A(t)&&N(t,i)&&"body"!==L(t)})):[]}(t):[].concat(e),o=[].concat(r,[i]),a=o[0],s=o.reduce((function(e,i){var r=gt(t,i,n);return e.top=H(r.top,e.top),e.right=P(r.right,e.right),e.bottom=P(r.bottom,e.bottom),e.left=H(r.left,e.left),e}),gt(t,a,n));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function yt(t){var e,i=t.reference,s=t.element,d=t.placement,u=d?M(d):null,h=d?Z(d):null,p=i.x+i.width/2-s.width/2,f=i.y+i.height/2-s.height/2;switch(u){case n:e={x:p,y:i.y-s.height};break;case r:e={x:p,y:i.y+i.height};break;case o:e={x:i.x+i.width,y:f};break;case a:e={x:i.x-s.width,y:f};break;default:e={x:i.x,y:i.y}}var g=u?J(u):null;if(null!=g){var v="y"===g?"height":"width";switch(h){case c:e[g]=e[g]-(i[v]/2-s[v]/2);break;case l:e[g]=e[g]+(i[v]/2-s[v]/2)}}return e}function mt(t,e){void 0===e&&(e={});var i=e,a=i.placement,s=void 0===a?t.placement:a,c=i.strategy,l=void 0===c?t.strategy:c,g=i.boundary,v=void 0===g?u:g,y=i.rootBoundary,m=void 0===y?h:y,b=i.elementContext,_=void 0===b?p:b,w=i.altBoundary,k=void 0!==w&&w,E=i.padding,x=void 0===E?0:E,D=$("number"!=typeof x?x:G(x,d)),O=_===p?f:p,L=t.rects.popper,I=t.elements[k?O:_],C=vt(A(I)?I:I.contextElement||R(t.elements.popper),v,m,l),S=z(t.elements.reference),T=yt({reference:S,element:L,strategy:"absolute",placement:s}),M=ft(Object.assign({},L,T)),H=_===p?M:S,P={top:C.top-H.top+D.top,bottom:H.bottom-C.bottom+D.bottom,left:C.left-H.left+D.left,right:H.right-C.right+D.right},j=t.modifiersData.offset;if(_===p&&j){var V=j[s];Object.keys(P).forEach((function(t){var e=[o,r].indexOf(t)>=0?1:-1,i=[n,r].indexOf(t)>=0?"y":"x";P[t]+=V[i]*e}))}return P}var bt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,l=t.name;if(!e.modifiersData[l]._skip){for(var u=i.mainAxis,h=void 0===u||u,p=i.altAxis,f=void 0===p||p,y=i.fallbackPlacements,m=i.padding,b=i.boundary,_=i.rootBoundary,w=i.altBoundary,k=i.flipVariations,E=void 0===k||k,x=i.allowedAutoPlacements,D=e.options.placement,O=M(D),L=y||(O===D||!E?[at(D)]:function(t){if(M(t)===s)return[];var e=at(t);return[dt(t),e,dt(e)]}(D)),I=[D].concat(L).reduce((function(t,i){return t.concat(M(i)===s?function(t,e){void 0===e&&(e={});var i=e,n=i.placement,r=i.boundary,o=i.rootBoundary,a=i.padding,s=i.flipVariations,c=i.allowedAutoPlacements,l=void 0===c?v:c,u=Z(n),h=u?s?g:g.filter((function(t){return Z(t)===u})):d,p=h.filter((function(t){return l.indexOf(t)>=0}));0===p.length&&(p=h);var f=p.reduce((function(e,i){return e[i]=mt(t,{placement:i,boundary:r,rootBoundary:o,padding:a})[M(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}(e,{placement:i,boundary:b,rootBoundary:_,padding:m,flipVariations:E,allowedAutoPlacements:x}):i)}),[]),A=e.rects.reference,C=e.rects.popper,S=new Map,T=!0,H=I[0],P=0;P=0,F=z?"width":"height",N=mt(e,{placement:j,boundary:b,rootBoundary:_,altBoundary:w,padding:m}),W=z?B?o:a:B?r:n;A[F]>C[F]&&(W=at(W));var q=at(W),R=[];if(h&&R.push(N[V]<=0),f&&R.push(N[W]<=0,N[q]<=0),R.every((function(t){return t}))){H=j,T=!1;break}S.set(j,R)}if(T)for(var Y=function(t){var e=I.find((function(e){var i=S.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return H=e,"break"},K=E?3:1;K>0;K--){if("break"===Y(K))break}e.placement!==H&&(e.modifiersData[l]._skip=!0,e.placement=H,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function _t(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function wt(t){return[n,o,r,a].some((function(e){return t[e]>=0}))}var kt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,r=e.rects.popper,o=e.modifiersData.preventOverflow,a=mt(e,{elementContext:"reference"}),s=mt(e,{altBoundary:!0}),d=_t(a,n),c=_t(s,r,o),l=wt(d),u=wt(c);e.modifiersData[i]={referenceClippingOffsets:d,popperEscapeOffsets:c,isReferenceHidden:l,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":l,"data-popper-escaped":u})}};var Et={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,r=t.name,s=i.offset,d=void 0===s?[0,0]:s,c=v.reduce((function(t,i){return t[i]=function(t,e,i){var r=M(t),s=[a,n].indexOf(r)>=0?-1:1,d="function"==typeof i?i(Object.assign({},e,{placement:t})):i,c=d[0],l=d[1];return c=c||0,l=(l||0)*s,[a,o].indexOf(r)>=0?{x:l,y:c}:{x:c,y:l}}(i,e.rects,d),t}),{}),l=c[e.placement],u=l.x,h=l.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=u,e.modifiersData.popperOffsets.y+=h),e.modifiersData[r]=c}};var xt={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=yt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}};var Dt={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,s=t.name,d=i.mainAxis,l=void 0===d||d,u=i.altAxis,h=void 0!==u&&u,p=i.boundary,f=i.rootBoundary,g=i.altBoundary,v=i.padding,y=i.tether,m=void 0===y||y,b=i.tetherOffset,_=void 0===b?0:b,w=mt(e,{boundary:p,rootBoundary:f,padding:v,altBoundary:g}),k=M(e.placement),E=Z(e.placement),x=!E,D=J(k),O="x"===D?"y":"x",L=e.modifiersData.popperOffsets,I=e.rects.reference,A=e.rects.popper,C="function"==typeof _?_(Object.assign({},e.rects,{placement:e.placement})):_,S="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),T=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,j={x:0,y:0};if(L){if(l){var V,B="y"===D?n:a,z="y"===D?r:o,N="y"===D?"height":"width",W=L[D],q=W+w[B],R=W-w[z],Y=m?-A[N]/2:0,K=E===c?I[N]:A[N],$=E===c?-A[N]:-I[N],G=e.elements.arrow,Q=m&&G?F(G):{width:0,height:0},tt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[B],it=tt[z],nt=X(0,I[N],Q[N]),rt=x?I[N]/2-Y-nt-et-S.mainAxis:K-nt-et-S.mainAxis,ot=x?-I[N]/2+Y+nt+it+S.mainAxis:$+nt+it+S.mainAxis,at=e.elements.arrow&&U(e.elements.arrow),st=at?"y"===D?at.clientTop||0:at.clientLeft||0:0,dt=null!=(V=null==T?void 0:T[D])?V:0,ct=W+ot-dt,lt=X(m?P(q,W+rt-dt-st):q,W,m?H(R,ct):R);L[D]=lt,j[D]=lt-W}if(h){var ut,ht="x"===D?n:a,pt="x"===D?r:o,ft=L[O],gt="y"===O?"height":"width",vt=ft+w[ht],yt=ft-w[pt],bt=-1!==[n,a].indexOf(k),_t=null!=(ut=null==T?void 0:T[O])?ut:0,wt=bt?vt:ft-I[gt]-A[gt]-_t+S.altAxis,kt=bt?ft+I[gt]+A[gt]-_t-S.altAxis:yt,Et=m&&bt?function(t,e,i){var n=X(t,e,i);return n>i?i:n}(wt,ft,kt):X(m?wt:vt,ft,m?kt:yt);L[O]=Et,j[O]=Et-ft}e.modifiersData[s]=j}},requiresIfExists:["offset"]};function Ot(t,e,i){void 0===i&&(i=!1);var n,r,o=C(e),a=C(e)&&function(t){var e=t.getBoundingClientRect(),i=j(e.width)/t.offsetWidth||1,n=j(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),s=R(e),d=z(t,a,i),c={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!i)&&(("body"!==L(e)||ut(s))&&(c=(n=e)!==I(n)&&C(n)?{scrollLeft:(r=n).scrollLeft,scrollTop:r.scrollTop}:ct(n)),C(e)?((l=z(e,!0)).x+=e.clientLeft,l.y+=e.clientTop):s&&(l.x=lt(s))),{x:d.left+c.scrollLeft-l.x,y:d.top+c.scrollTop-l.y,width:d.width,height:d.height}}function Lt(t){var e=new Map,i=new Set,n=[];function r(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&r(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||r(t)})),n}var It={placement:"bottom",modifiers:[],strategy:"absolute"};function At(){for(var t=arguments.length,e=new Array(t),i=0;it.length)&&(e=t.length);for(var i=0,n=Array(e);i1?e-1:0),n=1;n=e)&&(void 0===i||t<=i)}function E(t,e,i){return ti?i:t}function x(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=Object.keys(i).reduce((function(t,e){var r=i[e];return"function"==typeof r&&(r=r(n)),"".concat(t," ").concat(e,'="').concat(r,'"')}),t);r+="<".concat(o,">");var a=n+1;return a\s+/g,">").replace(/\s+2&&void 0!==arguments[2]?arguments[2]:0,n=new Date(t).getDay();return A(t,T(e,i)-T(n,i))}function H(t,e){var i=new Date(t).getFullYear();return Math.floor(i/e)*e}Object.defineProperty(e,"__esModule",{value:!0});var P=/dd?|DD?|mm?|MM?|yy?(?:yy)?/,j=/[\s!-/:-@[-`{-~年月日]+/,V={},B={y:function(t,e){return new Date(t).setFullYear(parseInt(e,10))},m:function(t,e,i){var n=new Date(t),r=parseInt(e,10)-1;if(isNaN(r)){if(!e)return NaN;var o=e.toLowerCase(),a=function(t){return t.toLowerCase().startsWith(o)};if((r=i.monthsShort.findIndex(a))<0&&(r=i.months.findIndex(a)),r<0)return NaN}return n.setMonth(r),n.getMonth()!==F(r)?n.setDate(0):n.getTime()},d:function(t,e){return new Date(t).setDate(parseInt(e,10))}},z={d:function(t){return t.getDate()},dd:function(t){return N(t.getDate(),2)},D:function(t,e){return e.daysShort[t.getDay()]},DD:function(t,e){return e.days[t.getDay()]},m:function(t){return t.getMonth()+1},mm:function(t){return N(t.getMonth()+1,2)},M:function(t,e){return e.monthsShort[t.getMonth()]},MM:function(t,e){return e.months[t.getMonth()]},y:function(t){return t.getFullYear()},yy:function(t){return N(t.getFullYear(),2).slice(-2)},yyyy:function(t){return N(t.getFullYear(),4)}};function F(t){return t>-1?t%12:F(t+12)}function N(t,e){return t.toString().padStart(e,"0")}function W(t){if("string"!=typeof t)throw new Error("Invalid date format.");if(t in V)return V[t];var e=t.split(P),i=t.match(new RegExp(P,"g"));if(0===e.length||!i)throw new Error("Invalid date format.");var n=i.map((function(t){return z[t]})),r=Object.keys(B).reduce((function(t,e){return i.find((function(t){return"D"!==t[0]&&t[0].toLowerCase()===e}))&&t.push(e),t}),[]);return V[t]={parser:function(t,e){var n=t.split(j).reduce((function(t,e,n){if(e.length>0&&i[n]){var r=i[n][0];"M"===r?t.m=e:"D"!==r&&(t[r]=e)}return t}),{});return r.reduce((function(t,i){var r=B[i](t,n[i],e);return isNaN(r)?t:r}),L())},formatter:function(t,i){return n.reduce((function(n,r,o){return n+"".concat(e[o]).concat(r(t,i))}),"")+b(e)}}}function q(t,e,i){if(t instanceof Date||"number"==typeof t){var n=O(t);return isNaN(n)?void 0:n}if(t){if("today"===t)return L();if(e&&e.toValue){var r=e.toValue(t,e,i);return isNaN(r)?void 0:O(r)}return W(e).parser(t,i)}}function R(t,e,i){if(isNaN(t)||!t&&0!==t)return"";var n="number"==typeof t?new Date(t):t;return e.toDisplay?e.toDisplay(n,e,i):W(e).formatter(n,i)}var Y=new WeakMap,K=EventTarget.prototype,U=K.addEventListener,J=K.removeEventListener;function X(t,e){var i=Y.get(t);i||(i=[],Y.set(t,i)),e.forEach((function(t){U.call.apply(U,f(t)),i.push(t)}))}function $(t){var e=Y.get(t);e&&(e.forEach((function(t){J.call.apply(J,f(t))})),Y.delete(t))}if(!Event.prototype.composedPath){var G=function t(e){var i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return n.push(e),e.parentNode?i=e.parentNode:e.host?i=e.host:e.defaultView&&(i=e.defaultView),i?t(i,n):n};Event.prototype.composedPath=function(){return G(this.target)}}function Q(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=t[n];return e(r)?r:r!==i&&r.parentElement?Q(t,e,i,n+1):void 0}function Z(t,e){var i="function"==typeof e?e:function(t){return t.matches(e)};return Q(t.composedPath(),i,t.currentTarget)}var tt={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM y"}},et={autohide:!1,beforeShowDay:null,beforeShowDecade:null,beforeShowMonth:null,beforeShowYear:null,calendarWeeks:!1,clearBtn:!1,dateDelimiter:",",datesDisabled:[],daysOfWeekDisabled:[],daysOfWeekHighlighted:[],defaultViewDate:void 0,disableTouchKeyboard:!1,format:"mm/dd/yyyy",language:"en",maxDate:null,maxNumberOfDates:1,maxView:3,minDate:null,nextArrow:'',orientation:"auto",pickLevel:0,prevArrow:'',showDaysOfWeek:!0,showOnClick:!0,showOnFocus:!0,startView:0,title:"",todayBtn:!1,todayBtnMode:0,todayHighlight:!1,updateOnBlur:!0,weekStart:0},it=null;function nt(t){return null==it&&(it=document.createRange()),it.createContextualFragment(t)}function rt(t){"none"!==t.style.display&&(t.style.display&&(t.dataset.styleDisplay=t.style.display),t.style.display="none")}function ot(t){"none"===t.style.display&&(t.dataset.styleDisplay?(t.style.display=t.dataset.styleDisplay,delete t.dataset.styleDisplay):t.style.display="")}function at(t){t.firstChild&&(t.removeChild(t.firstChild),at(t))}var st=et.language,dt=et.format,ct=et.weekStart;function lt(t,e){return t.length<6&&e>=0&&e<7?_(t,e):t}function ut(t){return(t+6)%7}function ht(t,e,i,n){var r=q(t,e,i);return void 0!==r?r:n}function pt(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,n=parseInt(t,10);return n>=0&&n<=i?n:e}function ft(t,e){var i,n=Object.assign({},t),r={},o=e.constructor.locales,a=e.config||{},s=a.format,d=a.language,c=a.locale,l=a.maxDate,u=a.maxView,h=a.minDate,p=a.pickLevel,f=a.startView,g=a.weekStart;if(n.language&&(n.language!==d&&(o[n.language]?i=n.language:void 0===o[i=n.language.split("-")[0]]&&(i=!1)),delete n.language,i)){d=r.language=i;var v=c||o[st];c=Object.assign({format:dt,weekStart:ct},o[st]),d!==st&&Object.assign(c,o[d]),r.locale=c,s===v.format&&(s=r.format=c.format),g===v.weekStart&&(g=r.weekStart=c.weekStart,r.weekEnd=ut(c.weekStart))}if(n.format){var y="function"==typeof n.format.toDisplay,b="function"==typeof n.format.toValue,w=P.test(n.format);(y&&b||w)&&(s=r.format=n.format),delete n.format}var k=h,E=l;if(void 0!==n.minDate&&(k=null===n.minDate?I(0,0,1):ht(n.minDate,s,c,k),delete n.minDate),void 0!==n.maxDate&&(E=null===n.maxDate?void 0:ht(n.maxDate,s,c,E),delete n.maxDate),E=0&&(r.maxNumberOfDates=O,r.multidate=1!==O),delete n.maxNumberOfDates}n.dateDelimiter&&(r.dateDelimiter=String(n.dateDelimiter),delete n.dateDelimiter);var L=p;void 0!==n.pickLevel&&(L=pt(n.pickLevel,2),delete n.pickLevel),L!==p&&(p=r.pickLevel=L);var A=u;void 0!==n.maxView&&(A=pt(n.maxView,u),delete n.maxView),(A=p>A?p:A)!==u&&(u=r.maxView=A);var C=f;if(void 0!==n.startView&&(C=pt(n.startView,C),delete n.startView),Cu&&(C=u),C!==f&&(r.startView=C),n.prevArrow){var S=nt(n.prevArrow);S.childNodes.length>0&&(r.prevArrow=S.childNodes),delete n.prevArrow}if(n.nextArrow){var T=nt(n.nextArrow);T.childNodes.length>0&&(r.nextArrow=T.childNodes),delete n.nextArrow}if(void 0!==n.disableTouchKeyboard&&(r.disableTouchKeyboard="ontouchstart"in document&&!!n.disableTouchKeyboard,delete n.disableTouchKeyboard),n.orientation){var M=n.orientation.toLowerCase().split(/\s+/g);r.orientation={x:M.find((function(t){return"left"===t||"right"===t}))||"auto",y:M.find((function(t){return"top"===t||"bottom"===t}))||"auto"},delete n.orientation}if(void 0!==n.todayBtnMode){switch(n.todayBtnMode){case 0:case 1:r.todayBtnMode=n.todayBtnMode}delete n.todayBtnMode}return Object.keys(n).forEach((function(t){void 0!==n[t]&&m(et,t)&&(r[t]=n[t])})),r}var gt=D(''),vt=D('
\n
'.concat(x("span",7,{class:"dow block flex-1 leading-9 border-0 rounded-lg cursor-default text-center text-gray-900 font-semibold text-sm"}),'
\n
').concat(x("span",42,{class:"block flex-1 leading-9 border-0 rounded-lg cursor-default text-center text-gray-900 font-semibold text-sm h-6 leading-6 text-sm font-medium text-gray-500 dark:text-gray-400"}),"
\n
")),yt=D('
\n
\n
'.concat(x("span",6,{class:"week block flex-1 leading-9 border-0 rounded-lg cursor-default text-center text-gray-900 font-semibold text-sm"}),"
\n
")),mt=function(){return a((function t(e,i){r(this,t),Object.assign(this,i,{picker:e,element:nt('
').firstChild,selected:[]}),this.init(this.picker.datepicker.config)}),[{key:"init",value:function(t){void 0!==t.pickLevel&&(this.isMinView=this.id===t.pickLevel),this.setOptions(t),this.updateFocus(),this.updateSelection()}},{key:"performBeforeHook",value:function(t,e,i){var n=this.beforeShow(new Date(i));switch(v(n)){case"boolean":n={enabled:n};break;case"string":n={classes:n}}if(n){if(!1===n.enabled&&(t.classList.add("disabled"),_(this.disabled,e)),n.classes){var r,o=n.classes.split(/\s+/);(r=t.classList).add.apply(r,f(o)),o.includes("disabled")&&_(this.disabled,e)}n.content&&function(t,e){at(t),e instanceof DocumentFragment?t.appendChild(e):"string"==typeof e?t.appendChild(nt(e)):"function"==typeof e.forEach&&e.forEach((function(e){t.appendChild(e)}))}(t,n.content)}}}])}(),bt=function(t){function e(t){return r(this,e),n(this,e,[t,{id:0,name:"days",cellClass:"day"}])}return c(e,t),a(e,[{key:"init",value:function(t){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(i){var n=nt(vt).firstChild;this.dow=n.firstChild,this.grid=n.lastChild,this.element.appendChild(n)}s(d(e.prototype),"init",this).call(this,t)}},{key:"setOptions",value:function(t){var e,i=this;if(m(t,"minDate")&&(this.minDate=t.minDate),m(t,"maxDate")&&(this.maxDate=t.maxDate),t.datesDisabled&&(this.datesDisabled=t.datesDisabled),t.daysOfWeekDisabled&&(this.daysOfWeekDisabled=t.daysOfWeekDisabled,e=!0),t.daysOfWeekHighlighted&&(this.daysOfWeekHighlighted=t.daysOfWeekHighlighted),void 0!==t.todayHighlight&&(this.todayHighlight=t.todayHighlight),void 0!==t.weekStart&&(this.weekStart=t.weekStart,this.weekEnd=t.weekEnd,e=!0),t.locale){var n=this.locale=t.locale;this.dayNames=n.daysMin,this.switchLabelFormat=n.titleFormat,e=!0}if(void 0!==t.beforeShowDay&&(this.beforeShow="function"==typeof t.beforeShowDay?t.beforeShowDay:void 0),void 0!==t.calendarWeeks)if(t.calendarWeeks&&!this.calendarWeeks){var r=nt(yt).firstChild;this.calendarWeeks={element:r,dow:r.firstChild,weeks:r.lastChild},this.element.insertBefore(r,this.element.firstChild)}else this.calendarWeeks&&!t.calendarWeeks&&(this.element.removeChild(this.calendarWeeks.element),this.calendarWeeks=null);void 0!==t.showDaysOfWeek&&(t.showDaysOfWeek?(ot(this.dow),this.calendarWeeks&&ot(this.calendarWeeks.dow)):(rt(this.dow),this.calendarWeeks&&rt(this.calendarWeeks.dow))),e&&Array.from(this.dow.children).forEach((function(t,e){var n=(i.weekStart+e)%7;t.textContent=i.dayNames[n],t.className=i.daysOfWeekDisabled.includes(n)?"dow disabled text-center h-6 leading-6 text-sm font-medium text-gray-500 dark:text-gray-400 cursor-not-allowed":"dow text-center h-6 leading-6 text-sm font-medium text-gray-500 dark:text-gray-400"}))}},{key:"updateFocus",value:function(){var t=new Date(this.picker.viewDate),e=t.getFullYear(),i=t.getMonth(),n=I(e,i,1),r=M(n,this.weekStart,this.weekStart);this.first=n,this.last=I(e,i+1,0),this.start=r,this.focused=this.picker.viewDate}},{key:"updateSelection",value:function(){var t=this.picker.datepicker,e=t.dates,i=t.rangepicker;this.selected=e,i&&(this.range=i.dates)}},{key:"render",value:function(){var t=this;this.today=this.todayHighlight?L():void 0,this.disabled=f(this.datesDisabled);var e=R(this.focused,this.switchLabelFormat,this.locale);if(this.picker.setViewSwitchLabel(e),this.picker.setPrevBtnDisabled(this.first<=this.minDate),this.picker.setNextBtnDisabled(this.last>=this.maxDate),this.calendarWeeks){var i=M(this.first,1,1);Array.from(this.calendarWeeks.weeks.children).forEach((function(t,e){t.textContent=function(t){var e=M(t,4,1),i=M(new Date(e).setMonth(0,4),4,1);return Math.round((e-i)/6048e5)+1}(A(i,7*e))}))}Array.from(this.grid.children).forEach((function(e,i){var n=e.classList,r=A(t.start,i),o=new Date(r),a=o.getDay();if(e.className="datepicker-cell hover:bg-gray-100 dark:hover:bg-gray-600 block flex-1 leading-9 border-0 rounded-lg cursor-pointer text-center text-gray-900 dark:text-white font-semibold text-sm ".concat(t.cellClass),e.dataset.date=r,e.textContent=o.getDate(),rt.last&&n.add("next","text-gray-500","dark:text-white"),t.today===r&&n.add("today","bg-gray-100","dark:bg-gray-600"),(rt.maxDate||t.disabled.includes(r))&&(n.add("disabled","cursor-not-allowed","text-gray-400","dark:text-gray-500"),n.remove("hover:bg-gray-100","dark:hover:bg-gray-600","text-gray-900","dark:text-white","cursor-pointer")),t.daysOfWeekDisabled.includes(a)&&(n.add("disabled","cursor-not-allowed","text-gray-400","dark:text-gray-500"),n.remove("hover:bg-gray-100","dark:hover:bg-gray-600","text-gray-900","dark:text-white","cursor-pointer"),_(t.disabled,r)),t.daysOfWeekHighlighted.includes(a)&&n.add("highlighted"),t.range){var s=h(t.range,2),d=s[0],c=s[1];r>d&&ri&&re||s1&&void 0!==arguments[1])||arguments[1];i&&(this.grid=this.element,this.element.classList.add("months","datepicker-grid","w-64","grid","grid-cols-4"),this.grid.appendChild(nt(x("span",12,{"data-month":function(t){return t}})))),s(d(e.prototype),"init",this).call(this,t)}},{key:"setOptions",value:function(t){if(t.locale&&(this.monthNames=t.locale.monthsShort),m(t,"minDate"))if(void 0===t.minDate)this.minYear=this.minMonth=this.minDate=void 0;else{var e=new Date(t.minDate);this.minYear=e.getFullYear(),this.minMonth=e.getMonth(),this.minDate=e.setDate(1)}if(m(t,"maxDate"))if(void 0===t.maxDate)this.maxYear=this.maxMonth=this.maxDate=void 0;else{var i=new Date(t.maxDate);this.maxYear=i.getFullYear(),this.maxMonth=i.getMonth(),this.maxDate=I(this.maxYear,this.maxMonth+1,0)}void 0!==t.beforeShowMonth&&(this.beforeShow="function"==typeof t.beforeShowMonth?t.beforeShowMonth:void 0)}},{key:"updateFocus",value:function(){var t=new Date(this.picker.viewDate);this.year=t.getFullYear(),this.focused=t.getMonth()}},{key:"updateSelection",value:function(){var t=this.picker.datepicker,e=t.dates,i=t.rangepicker;this.selected=e.reduce((function(t,e){var i=new Date(e),n=i.getFullYear(),r=i.getMonth();return void 0===t[n]?t[n]=[r]:_(t[n],r),t}),{}),i&&i.dates&&(this.range=i.dates.map((function(t){var e=new Date(t);return isNaN(e)?void 0:[e.getFullYear(),e.getMonth()]})))}},{key:"render",value:function(){var t=this;this.disabled=[],this.picker.setViewSwitchLabel(this.year),this.picker.setPrevBtnDisabled(this.year<=this.minYear),this.picker.setNextBtnDisabled(this.year>=this.maxYear);var e=this.selected[this.year]||[],i=this.yearthis.maxYear,n=this.year===this.minYear,r=this.year===this.maxYear,o=_t(this.range,this.year);Array.from(this.grid.children).forEach((function(a,s){var d=a.classList,c=I(t.year,s,1);if(a.className="datepicker-cell hover:bg-gray-100 dark:hover:bg-gray-600 block flex-1 leading-9 border-0 rounded-lg cursor-pointer text-center text-gray-900 dark:text-white font-semibold text-sm ".concat(t.cellClass),t.isMinView&&(a.dataset.date=c),a.textContent=t.monthNames[s],(i||n&&st.maxMonth)&&d.add("disabled"),o){var l=h(o,2),u=l[0],p=l[1];s>u&&sn&&o1&&void 0!==arguments[1])||arguments[1];i&&(this.navStep=10*this.step,this.beforeShowOption="beforeShow".concat(kt(this.cellClass)),this.grid=this.element,this.element.classList.add(this.name,"datepicker-grid","w-64","grid","grid-cols-4"),this.grid.appendChild(nt(x("span",12)))),s(d(e.prototype),"init",this).call(this,t)}},{key:"setOptions",value:function(t){if(m(t,"minDate")&&(void 0===t.minDate?this.minYear=this.minDate=void 0:(this.minYear=H(t.minDate,this.step),this.minDate=I(this.minYear,0,1))),m(t,"maxDate")&&(void 0===t.maxDate?this.maxYear=this.maxDate=void 0:(this.maxYear=H(t.maxDate,this.step),this.maxDate=I(this.maxYear,11,31))),void 0!==t[this.beforeShowOption]){var e=t[this.beforeShowOption];this.beforeShow="function"==typeof e?e:void 0}}},{key:"updateFocus",value:function(){var t=new Date(this.picker.viewDate),e=H(t,this.navStep),i=e+9*this.step;this.first=e,this.last=i,this.start=e-this.step,this.focused=H(t,this.step)}},{key:"updateSelection",value:function(){var t=this,e=this.picker.datepicker,i=e.dates,n=e.rangepicker;this.selected=i.reduce((function(e,i){return _(e,H(i,t.step))}),[]),n&&n.dates&&(this.range=n.dates.map((function(e){if(void 0!==e)return H(e,t.step)})))}},{key:"render",value:function(){var t=this;this.disabled=[],this.picker.setViewSwitchLabel("".concat(this.first,"-").concat(this.last)),this.picker.setPrevBtnDisabled(this.first<=this.minYear),this.picker.setNextBtnDisabled(this.last>=this.maxYear),Array.from(this.grid.children).forEach((function(e,i){var n=e.classList,r=t.start+i*t.step,o=I(r,0,1);if(e.className="datepicker-cell hover:bg-gray-100 dark:hover:bg-gray-600 block flex-1 leading-9 border-0 rounded-lg cursor-pointer text-center text-gray-900 dark:text-white font-semibold text-sm ".concat(t.cellClass),t.isMinView&&(e.dataset.date=o),e.textContent=e.dataset.year=r,0===i?n.add("prev"):11===i&&n.add("next"),(rt.maxYear)&&n.add("disabled"),t.range){var a=h(t.range,2),s=a[0],d=a[1];r>s&&ri&&r0?b(e):i.defaultViewDate,i.minDate,i.maxDate)}function Bt(t,e){var i=new Date(t.viewDate),n=new Date(e),r=t.currentView,o=r.id,a=r.year,s=r.first,d=r.last,c=n.getFullYear();switch(t.viewDate=e,c!==i.getFullYear()&&xt(t.datepicker,"changeYear"),n.getMonth()!==i.getMonth()&&xt(t.datepicker,"changeMonth"),o){case 0:return ed;case 1:return c!==a;default:return cd}}function zt(t){return window.getComputedStyle(t).direction}var Ft=function(){return a((function t(e){r(this,t),this.datepicker=e;var i=gt.replace(/%buttonClass%/g,e.config.buttonClass),n=this.element=nt(i).firstChild,o=h(n.firstChild.children,3),a=o[0],s=o[1],d=o[2],c=a.firstElementChild,l=h(a.lastElementChild.children,3),u=l[0],p=l[1],f=l[2],g=h(d.firstChild.children,2),v={title:c,prevBtn:u,viewSwitch:p,nextBtn:f,todayBtn:g[0],clearBtn:g[1]};this.main=s,this.controls=v;var y=e.inline?"inline":"dropdown";n.classList.add("datepicker-".concat(y)),"dropdown"===y&&n.classList.add("dropdown","absolute","top-0","left-0","z-50","pt-2"),jt(this,e.config),this.viewDate=Vt(e),X(e,[[n,"click",Pt.bind(null,e),{capture:!0}],[s,"click",Ht.bind(null,e)],[v.viewSwitch,"click",St.bind(null,e)],[v.prevBtn,"click",Tt.bind(null,e)],[v.nextBtn,"click",Mt.bind(null,e)],[v.todayBtn,"click",At.bind(null,e)],[v.clearBtn,"click",Ct.bind(null,e)]]),this.views=[new bt(this),new wt(this),new Et(this,{id:2,name:"years",cellClass:"year",step:1}),new Et(this,{id:3,name:"decades",cellClass:"decade",step:10})],this.currentView=this.views[e.config.startView],this.currentView.render(),this.main.appendChild(this.currentView.element),e.config.container.appendChild(this.element)}),[{key:"setOptions",value:function(t){jt(this,t),this.views.forEach((function(e){e.init(t,!1)})),this.currentView.render()}},{key:"detach",value:function(){this.datepicker.config.container.removeChild(this.element)}},{key:"show",value:function(){if(!this.active){this.element.classList.add("active","block"),this.element.classList.remove("hidden"),this.active=!0;var t=this.datepicker;if(!t.inline){var e=zt(t.inputField);e!==zt(t.config.container)?this.element.dir=e:this.element.dir&&this.element.removeAttribute("dir"),this.place(),t.config.disableTouchKeyboard&&t.inputField.blur()}xt(t,"show")}}},{key:"hide",value:function(){this.active&&(this.datepicker.exitEditMode(),this.element.classList.remove("active","block"),this.element.classList.add("active","block","hidden"),this.active=!1,xt(this.datepicker,"hide"))}},{key:"place",value:function(){var t,e,i,n=this.element,r=n.classList,o=n.style,a=this.datepicker,s=a.config,d=a.inputField,c=s.container,l=this.element.getBoundingClientRect(),u=l.width,h=l.height,p=c.getBoundingClientRect(),f=p.left,g=p.top,v=p.width,y=d.getBoundingClientRect(),m=y.left,b=y.top,_=y.width,w=y.height,k=s.orientation,E=k.x,x=k.y;c===document.body?(t=window.scrollY,e=m+window.scrollX,i=b+t):(e=m-f,i=b-g+(t=c.scrollTop)),"auto"===E&&(e<0?(E="left",e=10):E=e+u>v||"rtl"===zt(d)?"right":"left"),"right"===E&&(e-=u-_),"auto"===x&&(x=i-h0&&void 0!==arguments[0])||arguments[0],e=t&&this._renderMethod||"render";delete this._renderMethod,this.currentView[e]()}}])}();function Nt(t,e,i,n,r,o){if(k(t,r,o))return n(t)?Nt(e(t,i),e,i,n,r,o):t}function Wt(t,e,i,n){var r,o,a=t.picker,s=a.currentView,d=s.step||1,c=a.viewDate;switch(s.id){case 0:c=n?A(c,7*i):e.ctrlKey||e.metaKey?S(c,i):A(c,i),r=A,o=function(t){return s.disabled.includes(t)};break;case 1:c=C(c,n?4*i:i),r=C,o=function(t){var e=new Date(t),i=s.year,n=s.disabled;return e.getFullYear()===i&&n.includes(e.getMonth())};break;default:c=S(c,i*(n?4:1)*d),r=S,o=function(t){return s.disabled.includes(H(t,d))}}void 0!==(c=Nt(c,r,i<0?-d:d,o,s.minDate,s.maxDate))&&a.changeFocus(c).render()}function qt(t,e){if("Tab"!==e.key){var i=t.picker,n=i.currentView,r=n.id,o=n.isMinView;if(i.active)if(t.editMode)switch(e.key){case"Escape":i.hide();break;case"Enter":t.exitEditMode({update:!0,autohide:t.config.autohide});break;default:return}else switch(e.key){case"Escape":i.hide();break;case"ArrowLeft":if(e.ctrlKey||e.metaKey)Dt(t,-1);else{if(e.shiftKey)return void t.enterEditMode();Wt(t,e,-1,!1)}break;case"ArrowRight":if(e.ctrlKey||e.metaKey)Dt(t,1);else{if(e.shiftKey)return void t.enterEditMode();Wt(t,e,1,!1)}break;case"ArrowUp":if(e.ctrlKey||e.metaKey)Ot(t);else{if(e.shiftKey)return void t.enterEditMode();Wt(t,e,-1,!0)}break;case"ArrowDown":if(e.shiftKey&&!e.ctrlKey&&!e.metaKey)return void t.enterEditMode();Wt(t,e,1,!0);break;case"Enter":o?t.setDate(i.viewDate):i.changeView(r-1).render();break;case"Backspace":case"Delete":return void t.enterEditMode();default:return void(1!==e.key.length||e.ctrlKey||e.metaKey||t.enterEditMode())}else switch(e.key){case"ArrowDown":case"Escape":i.show();break;case"Enter":t.update();break;default:return}e.preventDefault(),e.stopPropagation()}else Lt(t)}function Rt(t){t.config.showOnFocus&&!t._showing&&t.show()}function Yt(t,e){var i=e.target;(t.picker.active||t.config.showOnClick)&&(i._active=i===document.activeElement,i._clicking=setTimeout((function(){delete i._active,delete i._clicking}),2e3))}function Kt(t,e){var i=e.target;i._clicking&&(clearTimeout(i._clicking),delete i._clicking,i._active&&t.enterEditMode(),delete i._active,t.config.showOnClick&&t.show())}function Ut(t,e){e.clipboardData.types.includes("text/plain")&&t.enterEditMode()}function Jt(t,e){var i=t.element;if(i===document.activeElement){var n=t.picker.element;Z(e,(function(t){return t===i||t===n}))||Lt(t)}}function Xt(t,e){return t.map((function(t){return R(t,e.format,e.locale)})).join(e.dateDelimiter)}function $t(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=t.config,r=t.dates,o=t.rangepicker;if(0===e.length)return i?[]:void 0;var a=o&&t===o.datepickers[1],s=e.reduce((function(t,e){var i=q(e,n.format,n.locale);if(void 0===i)return t;if(n.pickLevel>0){var r=new Date(i);i=1===n.pickLevel?a?r.setMonth(r.getMonth()+1,0):r.setDate(1):a?r.setFullYear(r.getFullYear()+1,0,0):r.setMonth(0,1)}return!k(i,n.minDate,n.maxDate)||t.includes(i)||n.datesDisabled.includes(i)||n.daysOfWeekDisabled.includes(new Date(i).getDay())||t.push(i),t}),[]);return 0!==s.length?(n.multidate&&!i&&(s=s.reduce((function(t,e){return r.includes(e)||t.push(e),t}),r.filter((function(t){return!s.includes(t)})))),n.maxNumberOfDates&&s.length>n.maxNumberOfDates?s.slice(-1*n.maxNumberOfDates):s):void 0}function Gt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=t.config,r=t.picker,o=t.inputField;if(2&e){var a=r.active?n.pickLevel:n.startView;r.update().changeView(a).render(i)}1&e&&o&&(o.value=Xt(t.dates,n))}function Qt(t,e,i){var n=i.clear,r=i.render,o=i.autohide;void 0===r&&(r=!0),r?void 0===o&&(o=t.config.autohide):o=!1;var a=$t(t,e,n);a&&(a.toString()!==t.dates.toString()?(t.dates=a,Gt(t,r?3:1),xt(t,"changeDate")):Gt(t,1),o&&t.hide())}var Zt=function(){return a((function t(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;r(this,t),e.datepicker=this,this.element=e;var o=this.config=Object.assign({buttonClass:i.buttonClass&&String(i.buttonClass)||"button",container:document.body,defaultViewDate:L(),maxDate:void 0,minDate:void 0},ft(et,this));this._options=i,Object.assign(o,ft(i,this));var a,s,d=this.inline="INPUT"!==e.tagName;if(d)o.container=e,s=w(e.dataset.date,o.dateDelimiter),delete e.dataset.date;else{var c=i.container?document.querySelector(i.container):null;c&&(o.container=c),(a=this.inputField=e).classList.add("datepicker-input"),s=w(a.value,o.dateDelimiter)}if(n){var l=n.inputs.indexOf(a),u=n.datepickers;if(l<0||l>1||!Array.isArray(u))throw Error("Invalid rangepicker object.");u[l]=this,Object.defineProperty(this,"rangepicker",{get:function(){return n}})}this.dates=[];var h=$t(this,s);h&&h.length>0&&(this.dates=h),a&&(a.value=Xt(this.dates,o));var p=this.picker=new Ft(this);if(d)this.show();else{var f=Jt.bind(null,this),g=[[a,"keydown",qt.bind(null,this)],[a,"focus",Rt.bind(null,this)],[a,"mousedown",Yt.bind(null,this)],[a,"click",Kt.bind(null,this)],[a,"paste",Ut.bind(null,this)],[document,"mousedown",f],[document,"touchstart",f],[window,"resize",p.place.bind(p)]];X(this,g)}}),[{key:"active",get:function(){return!(!this.picker||!this.picker.active)}},{key:"pickerElement",get:function(){return this.picker?this.picker.element:void 0}},{key:"setOptions",value:function(t){var e=this.picker,i=ft(t,this);Object.assign(this._options,t),Object.assign(this.config,i),e.setOptions(i),Gt(this,3)}},{key:"show",value:function(){if(this.inputField){if(this.inputField.disabled)return;this.inputField!==document.activeElement&&(this._showing=!0,this.inputField.focus(),delete this._showing)}this.picker.show()}},{key:"hide",value:function(){this.inline||(this.picker.hide(),this.picker.update().changeView(this.config.startView).render())}},{key:"destroy",value:function(){return this.hide(),$(this),this.picker.detach(),this.inline||this.inputField.classList.remove("datepicker-input"),delete this.element.datepicker,this}},{key:"getDate",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,i=e?function(i){return R(i,e,t.config.locale)}:function(t){return new Date(t)};return this.config.multidate?this.dates.map(i):this.dates.length>0?i(this.dates[0]):void 0}},{key:"setDate",value:function(){for(var t=arguments.length,e=new Array(t),i=0;i0&&void 0!==arguments[0]?arguments[0]:void 0;if(!this.inline){var e={clear:!0,autohide:!(!t||!t.autohide)},i=w(this.inputField.value,this.config.dateDelimiter);Qt(this,i,e)}}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t&&"string"!=typeof t&&(e=t,t=void 0),Gt(this,"picker"===t?2:"input"===t?1:3,!e)}},{key:"enterEditMode",value:function(){this.inline||!this.picker.active||this.editMode||(this.editMode=!0,this.inputField.classList.add("in-edit","border-blue-700","!border-primary-700"))}},{key:"exitEditMode",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;if(!this.inline&&this.editMode){var e=Object.assign({update:!1},t);delete this.editMode,this.inputField.classList.remove("in-edit","border-blue-700","!border-primary-700"),e.update&&this.update(e)}}}],[{key:"formatDate",value:function(t,e,i){return R(t,e,i&&tt[i]||tt.en)}},{key:"parseDate",value:function(t,e,i){return q(t,e,i&&tt[i]||tt.en)}},{key:"locales",get:function(){return tt}}])}();function te(t){var e=Object.assign({},t);return delete e.inputs,delete e.allowOneSidedRange,delete e.maxNumberOfDates,e}function ee(t,e,i,n){X(t,[[i,"changeDate",e]]),new Zt(i,n,t)}function ie(t,e){if(!t._updating){t._updating=!0;var i=e.target;if(void 0!==i.datepicker){var n=t.datepickers,r={render:!1},o=t.inputs.indexOf(i),a=0===o?1:0,s=n[o].dates[0],d=n[a].dates[0];void 0!==s&&void 0!==d?0===o&&s>d?(n[0].setDate(d,r),n[1].setDate(s,r)):1===o&&s1&&void 0!==arguments[1]?arguments[1]:{};r(this,t);var n=Array.isArray(i.inputs)?i.inputs:Array.from(e.querySelectorAll("input"));if(!(n.length<2)){e.rangepicker=this,this.element=e,this.inputs=n.slice(0,2),this.allowOneSidedRange=!!i.allowOneSidedRange;var o=ie.bind(null,this),a=te(i),s=[];Object.defineProperty(this,"datepickers",{get:function(){return s}}),ee(this,o,this.inputs[0],a),ee(this,o,this.inputs[1],a),Object.freeze(s),s[0].dates.length>0?ie(this,{target:this.inputs[0]}):s[1].dates.length>0&&ie(this,{target:this.inputs[1]})}}),[{key:"dates",get:function(){return 2===this.datepickers.length?[this.datepickers[0].dates[0],this.datepickers[1].dates[0]]:void 0}},{key:"setOptions",value:function(t){this.allowOneSidedRange=!!t.allowOneSidedRange;var e=te(t);this.datepickers[0].setOptions(e),this.datepickers[1].setOptions(e)}},{key:"destroy",value:function(){this.datepickers[0].destroy(),this.datepickers[1].destroy(),$(this),delete this.element.rangepicker}},{key:"getDates",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,i=e?function(i){return R(i,e,t.datepickers[0].config.locale)}:function(t){return new Date(t)};return this.dates.map((function(t){return void 0===t?t:i(t)}))}},{key:"setDates",value:function(t,e){var i=h(this.datepickers,2),n=i[0],r=i[1],o=this.dates;this._updating=!0,n.setDate(t),r.setDate(e),delete this._updating,r.dates[0]!==o[1]?ie(this,{target:this.inputs[1]}):n.dates[0]!==o[0]&&ie(this,{target:this.inputs[0]})}}])}();e.DateRangePicker=ne,e.Datepicker=Zt},902:function(t,e,i){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,i=1,n=arguments.length;it._options.maxValue&&(i.value=t._options.maxValue.toString()),null!==t._options.minValue&&parseInt(i.value)=this._options.maxValue||(this._targetEl.value=(this.getCurrentValue()+1).toString(),this._options.onIncrement(this))},t.prototype.decrement=function(){null!==this._options.minValue&&this.getCurrentValue()<=this._options.minValue||(this._targetEl.value=(this.getCurrentValue()-1).toString(),this._options.onDecrement(this))},t.prototype.updateOnIncrement=function(t){this._options.onIncrement=t},t.prototype.updateOnDecrement=function(t){this._options.onDecrement=t},t}();function d(){document.querySelectorAll("[data-input-counter]").forEach((function(t){var e=t.id,i=document.querySelector('[data-input-counter-increment="'+e+'"]'),n=document.querySelector('[data-input-counter-decrement="'+e+'"]'),o=t.getAttribute("data-input-counter-min"),a=t.getAttribute("data-input-counter-max");t?r.default.instanceExists("InputCounter",t.getAttribute("id"))||new s(t,i||null,n||null,{minValue:o?parseInt(o):null,maxValue:a?parseInt(a):null}):console.error('The target element with id "'.concat(e,'" does not exist. Please check the data-input-counter attribute.'))}))}e.initInputCounters=d,"undefined"!=typeof window&&(window.InputCounter=s,window.initInputCounters=d),e.default=s},16:function(t,e,i){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=13.7.0": - version "20.11.20" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.20.tgz#f0a2aee575215149a62784210ad88b3a34843659" - integrity sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg== + version "22.15.29" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.29.tgz#c75999124a8224a3f79dd8b6ccfb37d74098f678" + integrity sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ== dependencies: - undici-types "~5.26.4" + undici-types "~6.21.0" + +"@types/resolve@1.20.2": + version "1.20.2" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" + integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== "@types/unist@*", "@types/unist@^3.0.0": version "3.0.3" @@ -763,158 +810,158 @@ resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-3.4.13.tgz#fe890e517fb840620be284ee213e81d702b1f76b" integrity sha512-pAeZeUbLE4Z9Vi9wsWV2bYPTweEHeJJy0G4pEjOA/FSvy1Ad5U5Km8iDV6TKre1mjBiVNfAdVHKruP8bAh4Q5A== -"@types/web-bluetooth@^0.0.20": - version "0.0.20" - resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz#f066abfcd1cbe66267cdbbf0de010d8a41b41597" - integrity sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow== +"@types/web-bluetooth@^0.0.21": + version "0.0.21" + resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz#525433c784aed9b457aaa0ee3d92aeb71f346b63" + integrity sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA== "@ungap/structured-clone@^1.0.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + version "1.3.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" + integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== -"@vitejs/plugin-vue@^5.1.4": - version "5.1.4" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.1.4.tgz#72b8b705cfce36b00b59af196195146e356500c4" - integrity sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A== +"@vitejs/plugin-vue@^5.2.1": + version "5.2.4" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz#9e8a512eb174bfc2a333ba959bbf9de428d89ad8" + integrity sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA== -"@vue/compiler-core@3.5.12": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.12.tgz#bd70b7dabd12b0b6f31bc53418ba3da77994c437" - integrity sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw== +"@vue/compiler-core@3.5.16": + version "3.5.16" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.16.tgz#2f95f4f17c16c09c57bbf64399075b921506630b" + integrity sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ== dependencies: - "@babel/parser" "^7.25.3" - "@vue/shared" "3.5.12" + "@babel/parser" "^7.27.2" + "@vue/shared" "3.5.16" entities "^4.5.0" estree-walker "^2.0.2" - source-map-js "^1.2.0" - -"@vue/compiler-dom@3.5.12": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz#456d631d11102535b7ee6fd954cf2c93158d0354" - integrity sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg== - dependencies: - "@vue/compiler-core" "3.5.12" - "@vue/shared" "3.5.12" - -"@vue/compiler-sfc@3.5.12": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz#6688120d905fcf22f7e44d3cb90f8dabc4dd3cc8" - integrity sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw== - dependencies: - "@babel/parser" "^7.25.3" - "@vue/compiler-core" "3.5.12" - "@vue/compiler-dom" "3.5.12" - "@vue/compiler-ssr" "3.5.12" - "@vue/shared" "3.5.12" + source-map-js "^1.2.1" + +"@vue/compiler-dom@3.5.16": + version "3.5.16" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.16.tgz#151d8390252975c0b1a773029220fdfcfaa2d743" + integrity sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ== + dependencies: + "@vue/compiler-core" "3.5.16" + "@vue/shared" "3.5.16" + +"@vue/compiler-sfc@3.5.16": + version "3.5.16" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.16.tgz#577f7fd42a46fac8357ffed46e8fb34d32698419" + integrity sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw== + dependencies: + "@babel/parser" "^7.27.2" + "@vue/compiler-core" "3.5.16" + "@vue/compiler-dom" "3.5.16" + "@vue/compiler-ssr" "3.5.16" + "@vue/shared" "3.5.16" estree-walker "^2.0.2" - magic-string "^0.30.11" - postcss "^8.4.47" - source-map-js "^1.2.0" + magic-string "^0.30.17" + postcss "^8.5.3" + source-map-js "^1.2.1" -"@vue/compiler-ssr@3.5.12": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz#5f1a3fbd5c44b79a6dbe88729f7801d9c9218bde" - integrity sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA== +"@vue/compiler-ssr@3.5.16": + version "3.5.16" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.5.16.tgz#3b7874dff771ab2f85fb09be71f6c76a75fcc5ac" + integrity sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A== dependencies: - "@vue/compiler-dom" "3.5.12" - "@vue/shared" "3.5.12" + "@vue/compiler-dom" "3.5.16" + "@vue/shared" "3.5.16" -"@vue/devtools-api@^7.5.4": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-7.6.2.tgz#9beb95e3faba24aa89b8237f4ac713210a28b6f7" - integrity sha512-NCT0ujqlwAhoFvCsAG7G5qS8w/A/dhvFSt2BhmNxyqgpYDrf9CG1zYyWLQkE3dsZ+5lCT6ULUic2VKNaE07Vzg== +"@vue/devtools-api@^7.7.0": + version "7.7.6" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-7.7.6.tgz#4af5dbc77bcc8543f0a8e6f029f598ed978d6c7d" + integrity sha512-b2Xx0KvXZObePpXPYHvBRRJLDQn5nhKjXh7vUhMEtWxz1AYNFOVIsh5+HLP8xDGL7sy+Q7hXeUxPHB/KgbtsPw== dependencies: - "@vue/devtools-kit" "^7.6.2" + "@vue/devtools-kit" "^7.7.6" -"@vue/devtools-kit@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@vue/devtools-kit/-/devtools-kit-7.6.2.tgz#17f1584c74c0e30fa2086a89e65acbce3fc47945" - integrity sha512-k61BxHRmcTtIQZFouF9QWt9nCCNtSdw12lhg8VNtHq5/XOBGD+ewiK27a40UJ8UPYoCJvi80hbvbYr5E/Zeu1g== +"@vue/devtools-kit@^7.7.6": + version "7.7.6" + resolved "https://registry.yarnpkg.com/@vue/devtools-kit/-/devtools-kit-7.7.6.tgz#3d9cbe2378a65ed7c4baa77ecc0f7ecdfd185fbb" + integrity sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA== dependencies: - "@vue/devtools-shared" "^7.6.2" - birpc "^0.2.19" + "@vue/devtools-shared" "^7.7.6" + birpc "^2.3.0" hookable "^5.5.3" mitt "^3.0.1" perfect-debounce "^1.0.0" speakingurl "^14.0.1" - superjson "^2.2.1" + superjson "^2.2.2" -"@vue/devtools-shared@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@vue/devtools-shared/-/devtools-shared-7.6.2.tgz#585769040c3a84a641087fb722377a526b70b59d" - integrity sha512-lcjyJ7hCC0W0kNwnCGMLVTMvDLoZgjcq9BvboPgS+6jQyDul7fpzRSKTGtGhCHoxrDox7qBAKGbAl2Rcf7GE1A== +"@vue/devtools-shared@^7.7.6": + version "7.7.6" + resolved "https://registry.yarnpkg.com/@vue/devtools-shared/-/devtools-shared-7.7.6.tgz#5da2218df61b605b7b88e725241fc6640df0e4b5" + integrity sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA== dependencies: rfdc "^1.4.1" -"@vue/reactivity@3.5.12": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.5.12.tgz#a2815d91842ed7b9e7e7936c851923caf6b6e603" - integrity sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg== +"@vue/reactivity@3.5.16": + version "3.5.16" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.5.16.tgz#528c535a088b3c1b67f285f1f2211be79425b962" + integrity sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA== dependencies: - "@vue/shared" "3.5.12" + "@vue/shared" "3.5.16" -"@vue/runtime-core@3.5.12": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.5.12.tgz#849207f203d0fd82971f19574d30dbe7134c78c7" - integrity sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw== +"@vue/runtime-core@3.5.16": + version "3.5.16" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.5.16.tgz#0a828c322224ada26f81a2e227c3d4aebcb72c7a" + integrity sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ== dependencies: - "@vue/reactivity" "3.5.12" - "@vue/shared" "3.5.12" + "@vue/reactivity" "3.5.16" + "@vue/shared" "3.5.16" -"@vue/runtime-dom@3.5.12": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.5.12.tgz#6d4de3df49a90a460b311b1100baa5e2d0d1c8c9" - integrity sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA== +"@vue/runtime-dom@3.5.16": + version "3.5.16" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.5.16.tgz#c1bcbcca862b77186f81c92edd5176e74670f078" + integrity sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww== dependencies: - "@vue/reactivity" "3.5.12" - "@vue/runtime-core" "3.5.12" - "@vue/shared" "3.5.12" + "@vue/reactivity" "3.5.16" + "@vue/runtime-core" "3.5.16" + "@vue/shared" "3.5.16" csstype "^3.1.3" -"@vue/server-renderer@3.5.12": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.5.12.tgz#79c6bc3860e4e4ef80d85653c5d03fd94b26574e" - integrity sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg== +"@vue/server-renderer@3.5.16": + version "3.5.16" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.5.16.tgz#5a68cd1d423d843f74c9e6b37133850abab07c13" + integrity sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg== dependencies: - "@vue/compiler-ssr" "3.5.12" - "@vue/shared" "3.5.12" + "@vue/compiler-ssr" "3.5.16" + "@vue/shared" "3.5.16" -"@vue/shared@3.5.12", "@vue/shared@^3.5.12": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.5.12.tgz#f9e45b7f63f2c3f40d84237b1194b7f67de192e3" - integrity sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg== +"@vue/shared@3.5.16", "@vue/shared@^3.5.13": + version "3.5.16" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.5.16.tgz#d5ea7671182742192938a4b4cbf86ef12bef7418" + integrity sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg== -"@vueuse/core@11.1.0", "@vueuse/core@^11.1.0": - version "11.1.0" - resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-11.1.0.tgz#a104f33c899a15f3b28d3eb7b20738501a3a5035" - integrity sha512-P6dk79QYA6sKQnghrUz/1tHi0n9mrb/iO1WTMk/ElLmTyNqgDeSZ3wcDf6fRBGzRJbeG1dxzEOvLENMjr+E3fg== +"@vueuse/core@12.8.2", "@vueuse/core@^12.4.0": + version "12.8.2" + resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-12.8.2.tgz#007c6dd29a7d1f6933e916e7a2f8ef3c3f968eaa" + integrity sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ== dependencies: - "@types/web-bluetooth" "^0.0.20" - "@vueuse/metadata" "11.1.0" - "@vueuse/shared" "11.1.0" - vue-demi ">=0.14.10" + "@types/web-bluetooth" "^0.0.21" + "@vueuse/metadata" "12.8.2" + "@vueuse/shared" "12.8.2" + vue "^3.5.13" -"@vueuse/integrations@^11.1.0": - version "11.1.0" - resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-11.1.0.tgz#1e2c1d43b2d389fc4b4d0a7ee08091665698b9ad" - integrity sha512-O2ZgrAGPy0qAjpoI2YR3egNgyEqwG85fxfwmA9BshRIGjV4G6yu6CfOPpMHAOoCD+UfsIl7Vb1bXJ6ifrHYDDA== +"@vueuse/integrations@^12.4.0": + version "12.8.2" + resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-12.8.2.tgz#d04f33d86fe985c9a27c98addcfde9f30f2db1df" + integrity sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g== dependencies: - "@vueuse/core" "11.1.0" - "@vueuse/shared" "11.1.0" - vue-demi ">=0.14.10" + "@vueuse/core" "12.8.2" + "@vueuse/shared" "12.8.2" + vue "^3.5.13" -"@vueuse/metadata@11.1.0": - version "11.1.0" - resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-11.1.0.tgz#ad367d2a51d985129724425923b3cf95f0faf27b" - integrity sha512-l9Q502TBTaPYGanl1G+hPgd3QX5s4CGnpXriVBR5fEZ/goI6fvDaVmIl3Td8oKFurOxTmbXvBPSsgrd6eu6HYg== +"@vueuse/metadata@12.8.2": + version "12.8.2" + resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-12.8.2.tgz#6cb3a4e97cdcf528329eebc1bda73cd7f64318d3" + integrity sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A== -"@vueuse/shared@11.1.0": - version "11.1.0" - resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-11.1.0.tgz#3bfc3aa555c2a456c21945ec7f127d71938d12e8" - integrity sha512-YUtIpY122q7osj+zsNMFAfMTubGz0sn5QzE5gPzAIiCmtt2ha3uQUY1+JPyL4gRCTsLPX82Y9brNbo/aqlA91w== +"@vueuse/shared@12.8.2": + version "12.8.2" + resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-12.8.2.tgz#b9e4611d0603629c8e151f982459da394e22f930" + integrity sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w== dependencies: - vue-demi ">=0.14.10" + vue "^3.5.13" acorn-jsx@^5.3.2: version "5.3.2" @@ -922,9 +969,9 @@ acorn-jsx@^5.3.2: integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^8.14.0: - version "8.14.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" - integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== ajv@^6.12.4: version "6.12.6" @@ -936,26 +983,24 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -algoliasearch@^4.19.1: - version "4.24.0" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.24.0.tgz#b953b3e2309ef8f25da9de311b95b994ac918275" - integrity sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g== - dependencies: - "@algolia/cache-browser-local-storage" "4.24.0" - "@algolia/cache-common" "4.24.0" - "@algolia/cache-in-memory" "4.24.0" - "@algolia/client-account" "4.24.0" - "@algolia/client-analytics" "4.24.0" - "@algolia/client-common" "4.24.0" - "@algolia/client-personalization" "4.24.0" - "@algolia/client-search" "4.24.0" - "@algolia/logger-common" "4.24.0" - "@algolia/logger-console" "4.24.0" - "@algolia/recommend" "4.24.0" - "@algolia/requester-browser-xhr" "4.24.0" - "@algolia/requester-common" "4.24.0" - "@algolia/requester-node-http" "4.24.0" - "@algolia/transporter" "4.24.0" +algoliasearch@^5.14.2: + version "5.26.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.26.0.tgz#f428304c19ed714c02413eb4100c1557194146f9" + integrity sha512-iriwDyAqedYgi9YTpVwJbE/TQJwelclpVFfDgNBfhdIhIzAdKo+Kitwinn+krx9tjDsnzRt3tqTQdbJ0E6OwNw== + dependencies: + "@algolia/client-abtesting" "5.26.0" + "@algolia/client-analytics" "5.26.0" + "@algolia/client-common" "5.26.0" + "@algolia/client-insights" "5.26.0" + "@algolia/client-personalization" "5.26.0" + "@algolia/client-query-suggestions" "5.26.0" + "@algolia/client-search" "5.26.0" + "@algolia/ingestion" "1.26.0" + "@algolia/monitoring" "1.26.0" + "@algolia/recommend" "5.26.0" + "@algolia/requester-browser-xhr" "5.26.0" + "@algolia/requester-fetch" "5.26.0" + "@algolia/requester-node-http" "5.26.0" ansi-regex@^5.0.1: version "5.0.1" @@ -963,9 +1008,9 @@ ansi-regex@^5.0.1: integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" @@ -1008,14 +1053,14 @@ balanced-match@^1.0.0: integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -birpc@^0.2.19: - version "0.2.19" - resolved "https://registry.yarnpkg.com/birpc/-/birpc-0.2.19.tgz#cdd183a4a70ba103127d49765b4a71349da5a0ca" - integrity sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ== +birpc@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/birpc/-/birpc-2.3.0.tgz#e5a402dc785ef952a2383ef3cfc075e0842f3e8c" + integrity sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g== brace-expansion@^1.1.7: version "1.1.11" @@ -1136,7 +1181,7 @@ core-js@3.33.1: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.1.tgz#ef3766cfa382482d0a2c2bc5cb52c6d88805da52" integrity sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q== -cross-spawn@^7.0.0, cross-spawn@^7.0.5: +cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -1165,17 +1210,22 @@ cucumber-messages@8.0.0: uuid "^3.3.3" debug@^4.3.1, debug@^4.3.2: - version "4.3.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" - integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== dependencies: - ms "2.1.2" + ms "^2.1.3" deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + dequal@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" @@ -1203,6 +1253,11 @@ eastasianwidth@^0.2.0: resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== +emoji-regex-xs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz#e8af22e5d9dbd7f7f22d280af3d19d2aab5b0724" + integrity sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -1252,15 +1307,15 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-scope@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442" - integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A== +eslint-scope@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.3.0.tgz#10cd3a918ffdd722f5f3f7b5b83db9b23c87340d" + integrity sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-visitor-keys@^3.3.0: +eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== @@ -1270,29 +1325,30 @@ eslint-visitor-keys@^4.2.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== -eslint@^9.8.0: - version "9.16.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.16.0.tgz#66832e66258922ac0a626f803a9273e37747f2a6" - integrity sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA== +eslint@^9.28.0: + version "9.28.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.28.0.tgz#b0bcbe82a16945a40906924bea75e8b4980ced7d" + integrity sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.19.0" - "@eslint/core" "^0.9.0" - "@eslint/eslintrc" "^3.2.0" - "@eslint/js" "9.16.0" - "@eslint/plugin-kit" "^0.2.3" + "@eslint/config-array" "^0.20.0" + "@eslint/config-helpers" "^0.2.1" + "@eslint/core" "^0.14.0" + "@eslint/eslintrc" "^3.3.1" + "@eslint/js" "9.28.0" + "@eslint/plugin-kit" "^0.3.1" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.1" + "@humanwhocodes/retry" "^0.4.2" "@types/estree" "^1.0.6" "@types/json-schema" "^7.0.15" ajv "^6.12.4" chalk "^4.0.0" - cross-spawn "^7.0.5" + cross-spawn "^7.0.6" debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^8.2.0" + eslint-scope "^8.3.0" eslint-visitor-keys "^4.2.0" espree "^10.3.0" esquery "^1.5.0" @@ -1354,15 +1410,15 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -1375,9 +1431,9 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== dependencies: reusify "^1.0.4" @@ -1412,31 +1468,50 @@ flat-cache@^4.0.0: keyv "^4.5.4" flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + version "3.3.3" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== -flowbite@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/flowbite/-/flowbite-2.3.0.tgz#0730e35d8b0d1dcdea26bb27d848bd9c0141cde1" - integrity sha512-pm3JRo8OIJHGfFYWgaGpPv8E+UdWy0Z3gEAGufw+G/1dusaU/P1zoBLiQpf2/+bYAi+GBQtPVG86KYlV0W+AFQ== +flowbite-datepicker@^1.3.0, flowbite-datepicker@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/flowbite-datepicker/-/flowbite-datepicker-1.3.2.tgz#ad830d73f923344fb5614978f0d87e790cc69c4b" + integrity sha512-6Nfm0MCVX3mpaR7YSCjmEO2GO8CDt6CX8ZpQnGdeu03WUCWtEPQ/uy0PUiNtIJjJZWnX0Cm3H55MOhbD1g+E/g== + dependencies: + "@rollup/plugin-node-resolve" "^15.2.3" + flowbite "^2.0.0" + +flowbite@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/flowbite/-/flowbite-3.1.2.tgz#a3223462b608119e8388af6579d05642e553a5db" + integrity sha512-MkwSgbbybCYgMC+go6Da5idEKUFfMqc/AmSjm/2ZbdmvoKf5frLPq/eIhXc9P+rC8t9boZtUXzHDgt5whZ6A/Q== + dependencies: + "@popperjs/core" "^2.9.3" + flowbite-datepicker "^1.3.1" + mini-svg-data-uri "^1.4.3" + postcss "^8.5.1" + +flowbite@^2.0.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/flowbite/-/flowbite-2.5.2.tgz#4a14b87ad3f2abd8bcd7b0fb52a6b06fd7a74685" + integrity sha512-kwFD3n8/YW4EG8GlY3Od9IoKND97kitO+/ejISHSqpn3vw2i5K/+ZI8Jm2V+KC4fGdnfi0XZ+TzYqQb4Q1LshA== dependencies: "@popperjs/core" "^2.9.3" + flowbite-datepicker "^1.3.0" mini-svg-data-uri "^1.4.3" -focus-trap@^7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.6.0.tgz#7f3edab8135eaca92ab59b6e963eb5cc42ded715" - integrity sha512-1td0l3pMkWJLFipobUcGaf+5DTY4PLDDrcqoSaKP8ediO/CoWCCYk/fT/Y2A4e6TNB+Sh6clRJCjOPPnKoNHnQ== +focus-trap@^7.6.4: + version "7.6.5" + resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.6.5.tgz#56f0814286d43c1a2688e9bc4f31f17ae047fb76" + integrity sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg== dependencies: tabbable "^6.2.0" foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + version "3.3.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" + integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== dependencies: - cross-spawn "^7.0.0" + cross-spawn "^7.0.6" signal-exit "^4.0.1" fs.realpath@^1.0.0: @@ -1503,15 +1578,16 @@ glob@7.1.6: path-is-absolute "^1.0.0" glob@^10.3.10: - version "10.3.10" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== dependencies: foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" globals@^14.0.0: version "14.0.0" @@ -1523,17 +1599,17 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -hasown@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" - integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" -hast-util-to-html@^9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz#a9999a0ba6b4919576a9105129fead85d37f302b" - integrity sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg== +hast-util-to-html@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz#ccc673a55bb8e85775b08ac28380f72d47167005" + integrity sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw== dependencies: "@types/hast" "^3.0.0" "@types/unist" "^3.0.0" @@ -1542,7 +1618,7 @@ hast-util-to-html@^9.0.3: hast-util-whitespace "^3.0.0" html-void-elements "^3.0.0" mdast-util-to-hast "^13.0.0" - property-information "^6.0.0" + property-information "^7.0.0" space-separated-tokens "^2.0.0" stringify-entities "^4.0.0" zwitch "^2.0.4" @@ -1565,14 +1641,14 @@ html-void-elements@^3.0.0: integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== ignore@^5.2.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -1602,12 +1678,12 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" is-extglob@^2.1.1: version "2.1.1" @@ -1626,6 +1702,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== + is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -1641,19 +1722,19 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -jackspeak@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== dependencies: "@isaacs/cliui" "^8.0.2" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" jiti@^1.21.6: - version "1.21.6" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" - integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== + version "1.21.7" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9" + integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== js-yaml@^4.1.0: version "4.1.0" @@ -1692,15 +1773,10 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -lilconfig@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" - integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== +lilconfig@^3.0.0, lilconfig@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" + integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== lines-and-columns@^1.1.6: version "1.2.4" @@ -1729,15 +1805,15 @@ long@^4.0.0: resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== -"lru-cache@^9.1.1 || ^10.0.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== -magic-string@^0.30.11: - version "0.30.11" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.11.tgz#301a6f93b3e8c2cb13ac1a7a673492c0dfd12954" - integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== +magic-string@^0.30.17: + version "0.30.17" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" + integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" @@ -1767,38 +1843,38 @@ merge2@^1.3.0: integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromark-util-character@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.0.tgz#31320ace16b4644316f6bf057531689c71e2aee1" - integrity sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" + integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== dependencies: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" micromark-util-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz#0921ac7953dc3f1fd281e3d1932decfdb9382ab1" - integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" + integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== micromark-util-sanitize-uri@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz#ec8fbf0258e9e6d8f13d9e4770f9be64342673de" - integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" + integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== dependencies: micromark-util-character "^2.0.0" micromark-util-encode "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-symbol@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz#12225c8f95edf8b17254e47080ce0862d5db8044" - integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" + integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== micromark-util-types@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.0.tgz#63b4b7ffeb35d3ecf50d1ca20e68fc7caa36d95e" - integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" + integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== -micromatch@^4.0.4, micromatch@^4.0.8: +micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -1818,32 +1894,32 @@ minimatch@^3.0.4, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^9.0.1: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== dependencies: brace-expansion "^2.0.1" -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== -minisearch@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-7.1.0.tgz#f5830e9109b5919ee7b291c29a304f381aa68770" - integrity sha512-tv7c/uefWdEhcu6hvrfTihflgeEi2tN6VV7HJnCjK6VxM75QQJh4t9FwJCsA2EsRS8LCnu3W87CuGPWMocOLCA== +minisearch@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-7.1.2.tgz#296ee8d1906cc378f7e57a3a71f07e5205a75df5" + integrity sha512-R1Pd9eF+MD5JYDDSPAp/q1ougKglm14uEkPMvQ/05RGmx6G9wvmLTrTI/Q5iPNJLYqNdsDQ7qTGIcNWR+FrHmA== mitt@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1" integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== mz@^2.7.0: version "2.7.0" @@ -1854,10 +1930,10 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== +nanoid@^3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== natural-compare@^1.4.0: version "1.4.0" @@ -1886,12 +1962,14 @@ once@^1.3.0: dependencies: wrappy "1" -oniguruma-to-js@0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/oniguruma-to-js/-/oniguruma-to-js-0.4.3.tgz#8d899714c21f5c7d59a3c0008ca50e848086d740" - integrity sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ== +oniguruma-to-es@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz#480e4bac4d3bc9439ac0d2124f0725e7a0d76d17" + integrity sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ== dependencies: - regex "^4.3.2" + emoji-regex-xs "^1.0.0" + regex "^6.0.1" + regex-recursion "^6.0.2" optionator@^0.9.3: version "0.9.4" @@ -1919,6 +1997,11 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -1946,12 +2029,12 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: - lru-cache "^9.1.1 || ^10.0.0" + lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" perfect-debounce@^1.0.0: @@ -1959,7 +2042,7 @@ perfect-debounce@^1.0.0: resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a" integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== -picocolors@^1.1.0, picocolors@^1.1.1: +picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -1969,15 +2052,20 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== + pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pirates@^4.0.1: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + version "4.0.7" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" + integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== postcss-import@^15.1.0: version "15.1.0" @@ -2023,29 +2111,29 @@ postcss-value-parser@^4.0.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.43, postcss@^8.4.47: - version "8.4.47" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" - integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== +postcss@^8.4.43, postcss@^8.4.47, postcss@^8.5.1, postcss@^8.5.3: + version "8.5.4" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.4.tgz#d61014ac00e11d5f58458ed7247d899bd65f99c0" + integrity sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w== dependencies: - nanoid "^3.3.7" - picocolors "^1.1.0" + nanoid "^3.3.11" + picocolors "^1.1.1" source-map-js "^1.2.1" preact@^10.0.0: - version "10.24.2" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.24.2.tgz#42179771d3b06e7adb884e3f8127ddd3d99b78f6" - integrity sha512-1cSoF0aCC8uaARATfrlz4VCBqE8LwZwRfLgkxJOQwAlQt6ayTmi0D9OF7nXid1POI5SZidFuG9CnlXbDfLqY/Q== + version "10.26.8" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.26.8.tgz#aa0cf2eae578e42eb58ae025e0bf85c4cfc91cc6" + integrity sha512-1nMfdFjucm5hKvq0IClqZwK4FJkGXhRrQstOQ3P4vp8HxKrJEMFcY6RdBRVTdfQS/UlnX6gfbPuTvaqx/bDoeQ== prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -property-information@^6.0.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" - integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== +property-information@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d" + integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ== protobufjs@^6.8.8: version "6.11.4" @@ -2090,60 +2178,76 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -regex@^4.3.2: - version "4.3.3" - resolved "https://registry.yarnpkg.com/regex/-/regex-4.3.3.tgz#8cda73ccbdfa7c5691881d02f9bb142dba9daa6a" - integrity sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg== +regex-recursion@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/regex-recursion/-/regex-recursion-6.0.2.tgz#a0b1977a74c87f073377b938dbedfab2ea582b33" + integrity sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg== + dependencies: + regex-utilities "^2.3.0" + +regex-utilities@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/regex-utilities/-/regex-utilities-2.3.0.tgz#87163512a15dce2908cf079c8960d5158ff43280" + integrity sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng== + +regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/regex/-/regex-6.0.1.tgz#282fa4435d0c700b09c0eb0982b602e05ab6a34f" + integrity sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA== + dependencies: + regex-utilities "^2.3.0" resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.1.7, resolve@^1.22.8: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== +resolve@^1.1.7, resolve@^1.22.1, resolve@^1.22.8: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== rfdc@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== -rollup@^4.19.2, rollup@^4.20.0: - version "4.28.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.28.0.tgz#eb8d28ed43ef60a18f21d0734d230ee79dd0de77" - integrity sha512-G9GOrmgWHBma4YfCcX8PjH0qhXSdH8B4HDE2o4/jaxj93S4DPCIDoLcXz99eWMji4hB29UFCEd7B2gwGJDR9cQ== +rollup@^4.20.0, rollup@^4.41.1: + version "4.41.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.41.1.tgz#46ddc1b33cf1b0baa99320d3b0b4973dc2253b6a" + integrity sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw== dependencies: - "@types/estree" "1.0.6" + "@types/estree" "1.0.7" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.28.0" - "@rollup/rollup-android-arm64" "4.28.0" - "@rollup/rollup-darwin-arm64" "4.28.0" - "@rollup/rollup-darwin-x64" "4.28.0" - "@rollup/rollup-freebsd-arm64" "4.28.0" - "@rollup/rollup-freebsd-x64" "4.28.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.28.0" - "@rollup/rollup-linux-arm-musleabihf" "4.28.0" - "@rollup/rollup-linux-arm64-gnu" "4.28.0" - "@rollup/rollup-linux-arm64-musl" "4.28.0" - "@rollup/rollup-linux-powerpc64le-gnu" "4.28.0" - "@rollup/rollup-linux-riscv64-gnu" "4.28.0" - "@rollup/rollup-linux-s390x-gnu" "4.28.0" - "@rollup/rollup-linux-x64-gnu" "4.28.0" - "@rollup/rollup-linux-x64-musl" "4.28.0" - "@rollup/rollup-win32-arm64-msvc" "4.28.0" - "@rollup/rollup-win32-ia32-msvc" "4.28.0" - "@rollup/rollup-win32-x64-msvc" "4.28.0" + "@rollup/rollup-android-arm-eabi" "4.41.1" + "@rollup/rollup-android-arm64" "4.41.1" + "@rollup/rollup-darwin-arm64" "4.41.1" + "@rollup/rollup-darwin-x64" "4.41.1" + "@rollup/rollup-freebsd-arm64" "4.41.1" + "@rollup/rollup-freebsd-x64" "4.41.1" + "@rollup/rollup-linux-arm-gnueabihf" "4.41.1" + "@rollup/rollup-linux-arm-musleabihf" "4.41.1" + "@rollup/rollup-linux-arm64-gnu" "4.41.1" + "@rollup/rollup-linux-arm64-musl" "4.41.1" + "@rollup/rollup-linux-loongarch64-gnu" "4.41.1" + "@rollup/rollup-linux-powerpc64le-gnu" "4.41.1" + "@rollup/rollup-linux-riscv64-gnu" "4.41.1" + "@rollup/rollup-linux-riscv64-musl" "4.41.1" + "@rollup/rollup-linux-s390x-gnu" "4.41.1" + "@rollup/rollup-linux-x64-gnu" "4.41.1" + "@rollup/rollup-linux-x64-musl" "4.41.1" + "@rollup/rollup-win32-arm64-msvc" "4.41.1" + "@rollup/rollup-win32-ia32-msvc" "4.41.1" + "@rollup/rollup-win32-x64-msvc" "4.41.1" fsevents "~2.3.2" run-parallel@^1.1.9: @@ -2154,9 +2258,9 @@ run-parallel@^1.1.9: queue-microtask "^1.2.2" sax@^1.2.4: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== shebang-command@^2.0.0: version "2.0.0" @@ -2170,16 +2274,18 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shiki@1.22.2, shiki@^1.22.2: - version "1.22.2" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-1.22.2.tgz#ed109a3d0850504ad5a1edf8496470a2121c5b7b" - integrity sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA== - dependencies: - "@shikijs/core" "1.22.2" - "@shikijs/engine-javascript" "1.22.2" - "@shikijs/engine-oniguruma" "1.22.2" - "@shikijs/types" "1.22.2" - "@shikijs/vscode-textmate" "^9.3.0" +shiki@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-2.5.0.tgz#09d01ebf3b0b06580431ce3ddc023320442cf223" + integrity sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ== + dependencies: + "@shikijs/core" "2.5.0" + "@shikijs/engine-javascript" "2.5.0" + "@shikijs/engine-oniguruma" "2.5.0" + "@shikijs/langs" "2.5.0" + "@shikijs/themes" "2.5.0" + "@shikijs/types" "2.5.0" + "@shikijs/vscode-textmate" "^10.0.2" "@types/hast" "^3.0.4" signal-exit@^4.0.1: @@ -2187,7 +2293,7 @@ signal-exit@^4.0.1: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -source-map-js@^1.2.0, source-map-js@^1.2.1: +source-map-js@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== @@ -2294,10 +2400,10 @@ sucrase@^3.35.0: pirates "^4.0.1" ts-interface-checker "^0.1.9" -superjson@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/superjson/-/superjson-2.2.1.tgz#9377a7fa80fedb10c851c9dbffd942d4bcf79733" - integrity sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA== +superjson@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/superjson/-/superjson-2.2.2.tgz#9d52bf0bf6b5751a3c3472f1292e714782ba3173" + integrity sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q== dependencies: copy-anything "^3.0.2" @@ -2318,10 +2424,10 @@ tabbable@^6.2.0: resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== -tailwindcss@^3.3.5: - version "3.4.15" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.15.tgz#04808bf4bf1424b105047d19e7d4bfab368044a9" - integrity sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw== +tailwindcss@^3.4.17: + version "3.4.17" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.17.tgz#ae8406c0f96696a631c790768ff319d46d5e5a63" + integrity sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og== dependencies: "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" @@ -2332,7 +2438,7 @@ tailwindcss@^3.3.5: glob-parent "^6.0.2" is-glob "^4.0.3" jiti "^1.21.6" - lilconfig "^2.1.0" + lilconfig "^3.1.3" micromatch "^4.0.8" normalize-path "^3.0.0" object-hash "^3.0.0" @@ -2360,11 +2466,6 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -2389,10 +2490,10 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== unist-util-is@^6.0.0: version "6.0.0" @@ -2465,10 +2566,10 @@ vfile@^6.0.0: "@types/unist" "^3.0.0" vfile-message "^4.0.0" -vite@^5.4.10: - version "5.4.10" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.10.tgz#d358a7bd8beda6cf0f3b7a450a8c7693a4f80c18" - integrity sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ== +vite@^5.4.14: + version "5.4.19" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.19.tgz#20efd060410044b3ed555049418a5e7d1998f959" + integrity sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA== dependencies: esbuild "^0.21.3" postcss "^8.4.43" @@ -2476,45 +2577,40 @@ vite@^5.4.10: optionalDependencies: fsevents "~2.3.3" -vitepress@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.5.0.tgz#61870b27dc9a580e46cea92989f64cdcb550dc23" - integrity sha512-q4Q/G2zjvynvizdB3/bupdYkCJe2umSAMv9Ju4d92E6/NXJ59z70xB0q5p/4lpRyAwflDsbwy1mLV9Q5+nlB+g== - dependencies: - "@docsearch/css" "^3.6.2" - "@docsearch/js" "^3.6.2" - "@iconify-json/simple-icons" "^1.2.10" - "@shikijs/core" "^1.22.2" - "@shikijs/transformers" "^1.22.2" - "@shikijs/types" "^1.22.2" +vitepress@^1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.6.3.tgz#4e4662ce2ad55ef64604ecf4f96231a8da2fe9ba" + integrity sha512-fCkfdOk8yRZT8GD9BFqusW3+GggWYZ/rYncOfmgcDtP3ualNHCAg+Robxp2/6xfH1WwPHtGpPwv7mbA3qomtBw== + dependencies: + "@docsearch/css" "3.8.2" + "@docsearch/js" "3.8.2" + "@iconify-json/simple-icons" "^1.2.21" + "@shikijs/core" "^2.1.0" + "@shikijs/transformers" "^2.1.0" + "@shikijs/types" "^2.1.0" "@types/markdown-it" "^14.1.2" - "@vitejs/plugin-vue" "^5.1.4" - "@vue/devtools-api" "^7.5.4" - "@vue/shared" "^3.5.12" - "@vueuse/core" "^11.1.0" - "@vueuse/integrations" "^11.1.0" - focus-trap "^7.6.0" + "@vitejs/plugin-vue" "^5.2.1" + "@vue/devtools-api" "^7.7.0" + "@vue/shared" "^3.5.13" + "@vueuse/core" "^12.4.0" + "@vueuse/integrations" "^12.4.0" + focus-trap "^7.6.4" mark.js "8.11.1" - minisearch "^7.1.0" - shiki "^1.22.2" - vite "^5.4.10" - vue "^3.5.12" - -vue-demi@>=0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.10.tgz#afc78de3d6f9e11bf78c55e8510ee12814522f04" - integrity sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg== - -vue@^3.5.12: - version "3.5.12" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.5.12.tgz#e08421c601b3617ea2c9ef0413afcc747130b36c" - integrity sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg== - dependencies: - "@vue/compiler-dom" "3.5.12" - "@vue/compiler-sfc" "3.5.12" - "@vue/runtime-dom" "3.5.12" - "@vue/server-renderer" "3.5.12" - "@vue/shared" "3.5.12" + minisearch "^7.1.1" + shiki "^2.1.0" + vite "^5.4.14" + vue "^3.5.13" + +vue@^3.5.13: + version "3.5.16" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.5.16.tgz#f0cde88c2688354f00ff2d77eb295c26440f8c7a" + integrity sha512-rjOV2ecxMd5SiAmof2xzh2WxntRcigkX/He4YFJ6WdRvVUrbt6DxC1Iujh10XLl8xCDRDtGKMeO3D+pRQ1PP9w== + dependencies: + "@vue/compiler-dom" "3.5.16" + "@vue/compiler-sfc" "3.5.16" + "@vue/runtime-dom" "3.5.16" + "@vue/server-renderer" "3.5.16" + "@vue/shared" "3.5.16" which@^2.0.1: version "2.0.2" @@ -2559,9 +2655,9 @@ xml-js@^1.6.11: sax "^1.2.4" yaml@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.0.tgz#2376db1083d157f4b3a452995803dbcf43b08140" - integrity sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ== + version "2.8.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.0.tgz#15f8c9866211bdc2d3781a0890e44d4fa1a5fff6" + integrity sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ== yocto-queue@^0.1.0: version "0.1.0"