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 2413d225e3a..c3004176fdc 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -19,30 +19,34 @@ jobs:
fail-fast: false
matrix:
ruby:
+ - "3.4"
- "3.3"
- "3.2"
- "3.1"
os:
- ubuntu-latest
rails:
+ - rails_80
- rails_72
- rails_71
- rails_70
- - rails_61
- include:
- - ruby: '3.0'
+ exclude:
+ - ruby: '3.1'
os: ubuntu-latest
- rails: rails_71
+ rails: rails_80
+ - ruby: '3.4'
+ os: ubuntu-latest
+ rails: rails_70
steps:
- uses: actions/checkout@v4
- name: Configure bundler (default)
run: |
echo "BUNDLE_GEMFILE=Gemfile" >> "$GITHUB_ENV"
- if: matrix.rails == 'rails_72'
+ if: matrix.rails == 'rails_80'
- name: Configure bundler (alternative)
run: |
echo "BUNDLE_GEMFILE=gemfiles/${{ matrix.rails }}/Gemfile" >> "$GITHUB_ENV"
- if: matrix.rails != 'rails_72'
+ if: matrix.rails != 'rails_80'
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
@@ -84,6 +88,8 @@ jobs:
upload_coverage:
name: Upload Coverage
runs-on: ubuntu-latest
+ # Do not run on forks
+ if: ${{ github.repository_owner == 'activeadmin' }}
needs: [test]
steps:
- uses: actions/checkout@v4
@@ -92,8 +98,30 @@ jobs:
path: coverage
pattern: coverage-ruby-*
merge-multiple: true
- - uses: codecov/codecov-action@v4
+ - uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: coverage
fail_ci_if_error: true
+
+ test_docs_build:
+ name: Build docs
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: tj-actions/changed-files@v46
+ id: changed-files
+ with:
+ files: |
+ docs/**
+ package*.json
+ yarn.lock
+ - uses: actions/setup-node@v4
+ if: steps.changed-files.outputs.any_changed == 'true'
+ with:
+ node-version: 22
+ cache: yarn
+ - run: yarn install
+ if: steps.changed-files.outputs.any_changed == 'true'
+ - run: yarn docs:build
+ if: steps.changed-files.outputs.any_changed == 'true'
diff --git a/.github/workflows/docs-deployment.yml b/.github/workflows/docs-deployment.yml
new file mode 100644
index 00000000000..50a4c9ae49b
--- /dev/null
+++ b/.github/workflows/docs-deployment.yml
@@ -0,0 +1,47 @@
+name: Docs Deployment
+
+on:
+ release:
+ types:
+ - published
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
+concurrency:
+ group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: false
+
+jobs:
+ build_docs:
+ name: Build docs
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 22
+ cache: yarn
+ - uses: actions/configure-pages@v5
+ - run: yarn install
+ - run: yarn docs:build
+ - uses: actions/upload-pages-artifact@v3
+ with:
+ path: docs/.vitepress/dist
+
+ deploy_docs:
+ name: Deploy docs site
+ runs-on: ubuntu-latest
+ needs: build_docs
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ steps:
+ - uses: actions/deploy-pages@v4
+ id: deployment
diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml
index aee31461632..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: |
@@ -29,5 +29,5 @@ jobs:
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
filter_mode: nofilter # added (default), diff_context, file, nofilter
- fail_on_error: true
+ fail_level: any
reporter: github-pr-check
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 83e6458c61d..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: |
@@ -18,7 +18,7 @@ jobs:
- uses: reviewdog/action-actionlint@v1
if: steps.changed-files.outputs.any_changed == 'true'
with:
- fail_on_error: true
+ 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/lint.yml b/.github/workflows/lint.yml
deleted file mode 100644
index ce3d0cefa1a..00000000000
--- a/.github/workflows/lint.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-name: General Lint
-
-on:
- pull_request:
-
-env:
- RUBY_VERSION: 3.3
-
-jobs:
- lint:
- name: lint
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: ruby/setup-ruby@v1
- with:
- ruby-version: ${{ env.RUBY_VERSION }}
- bundler-cache: true
- - name: Generate docs
- run: bin/rake docs:build
diff --git a/.github/workflows/markdown-lint.yml b/.github/workflows/markdown-lint.yml
index 66200ba71db..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: |
@@ -24,6 +24,6 @@ jobs:
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
filter_mode: nofilter # added (default), diff_context, file, nofilter
- fail_on_error: true
+ fail_level: any
markdownlint_flags: ${{ env.MARKDOWNLINT_FLAGS }}
reporter: github-pr-check
diff --git a/.github/workflows/rubocop.yml b/.github/workflows/rubocop.yml
index 7030c403d84..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: |
@@ -24,7 +24,6 @@ jobs:
**.rake
**.arb
bin/*
- docs/Gemfile
gemfiles/**/Gemfile
Gemfile*
Rakefile
@@ -38,7 +37,7 @@ jobs:
- uses: reviewdog/action-rubocop@v2
if: steps.changed-files.outputs.any_changed == 'true'
with:
- fail_on_error: true
+ fail_level: any
filter_mode: nofilter # added (default), diff_context, file, nofilter
github_token: ${{ secrets.GITHUB_TOKEN }}
skip_install: true
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 30930e84187..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: |
@@ -18,7 +18,7 @@ jobs:
- uses: reviewdog/action-yamllint@v1
if: steps.changed-files.outputs.any_changed == 'true'
with:
- fail_on_error: true
+ fail_level: any
filter_mode: nofilter # added (default), diff_context, file, nofilter
github_token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-pr-check
diff --git a/.gitignore b/.gitignore
index 0a2ba67dace..e26ea760672 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,5 @@
/vendor/bundle
/rails_70
/dist
+docs/.vitepress/cache
+docs/.vitepress/dist
diff --git a/.rubocop.yml b/.rubocop.yml
index 13df9963651..415c9e6a11a 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -4,7 +4,7 @@ inherit_mode:
merge:
- Include
-require:
+plugins:
- rubocop-capybara
- rubocop-packaging
- rubocop-performance
@@ -13,7 +13,8 @@ require:
AllCops:
DisabledByDefault: true
- TargetRubyVersion: 3.0
+ TargetRubyVersion: 3.1
+ TargetRailsVersion: 7.0
Exclude:
- .git/**/*
@@ -41,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
@@ -74,9 +81,6 @@ Layout/EndAlignment:
Layout/HashAlignment:
Enabled: true
-Lint/ParenthesesAsGroupedExpression:
- Enabled: true
-
Layout/AccessModifierIndentation:
Enabled: true
@@ -129,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
@@ -287,6 +306,9 @@ Performance/StringInclude:
Performance/StringReplacement:
Enabled: true
+Performance/StringBytesize:
+ Enabled: true
+
Performance/Sum:
Enabled: false
@@ -299,6 +321,9 @@ Performance/UnfreezeString:
Performance/UriDefaultParser:
Enabled: true
+Performance/ZipWithoutBlock:
+ Enabled: true
+
Rails/FilePath:
Enabled: true
EnforcedStyle: slashes
@@ -330,6 +355,7 @@ Style/FrozenStringLiteralComment:
Style/HashSyntax:
Enabled: true
+ EnforcedShorthandSyntax: never
Style/ParallelAssignment:
Enabled: true
@@ -389,6 +415,3 @@ Layout/SpaceInsideHashLiteralBraces:
Layout/SpaceInsideParens:
Enabled: true
-
-Lint/UselessAccessModifier:
- Enabled: true
diff --git a/.yardopts b/.yardopts
deleted file mode 100644
index fe65f43518e..00000000000
--- a/.yardopts
+++ /dev/null
@@ -1,7 +0,0 @@
-lib/**/*.rb
---protected
---no-private
--
-README.md
-CHANGELOG.md
-docs/**/*.md
diff --git a/Gemfile b/Gemfile
index 26cbaa8041c..2ee6627530e 100644
--- a/Gemfile
+++ b/Gemfile
@@ -10,7 +10,7 @@ group :development, :test do
gem "draper"
gem "devise"
- gem "rails", "~> 7.2.0"
+ gem "rails", "~> 8.0.0"
gem "sprockets-rails"
gem "ransack", ">= 4.2.0"
@@ -50,9 +50,4 @@ group :rubocop do
gem "rubocop-rails"
end
-group :docs do
- gem "yard" # Documentation generator
- gem "kramdown" # Markdown implementation (for yard)
-end
-
gemspec path: "."
diff --git a/Gemfile.lock b/Gemfile.lock
index e1dc87a506c..4bb69eed4db 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,84 +1,84 @@
PATH
remote: .
specs:
- activeadmin (4.0.0.beta12)
+ 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 (>= 6.1)
+ railties (>= 7.0)
ransack (>= 4.0)
GEM
remote: https://rubygems.org/
specs:
- actioncable (7.2.1)
- actionpack (= 7.2.1)
- activesupport (= 7.2.1)
+ actioncable (8.0.2)
+ actionpack (= 8.0.2)
+ activesupport (= 8.0.2)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
zeitwerk (~> 2.6)
- actionmailbox (7.2.1)
- actionpack (= 7.2.1)
- activejob (= 7.2.1)
- activerecord (= 7.2.1)
- activestorage (= 7.2.1)
- activesupport (= 7.2.1)
+ 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 (7.2.1)
- actionpack (= 7.2.1)
- actionview (= 7.2.1)
- activejob (= 7.2.1)
- activesupport (= 7.2.1)
+ 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 (7.2.1)
- actionview (= 7.2.1)
- activesupport (= 7.2.1)
+ actionpack (8.0.2)
+ actionview (= 8.0.2)
+ activesupport (= 8.0.2)
nokogiri (>= 1.8.5)
- racc
- rack (>= 2.2.4, < 3.2)
+ rack (>= 2.2.4)
rack-session (>= 1.0.1)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
useragent (~> 0.16)
- actiontext (7.2.1)
- actionpack (= 7.2.1)
- activerecord (= 7.2.1)
- activestorage (= 7.2.1)
- activesupport (= 7.2.1)
+ 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 (7.2.1)
- activesupport (= 7.2.1)
+ 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 (7.2.1)
- activesupport (= 7.2.1)
+ activejob (8.0.2)
+ activesupport (= 8.0.2)
globalid (>= 0.3.6)
- activemodel (7.2.1)
- activesupport (= 7.2.1)
- activemodel-serializers-xml (1.0.2)
- activemodel (> 5.x)
- activesupport (> 5.x)
+ 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 (7.2.1)
- activemodel (= 7.2.1)
- activesupport (= 7.2.1)
+ activerecord (8.0.2)
+ activemodel (= 8.0.2)
+ activesupport (= 8.0.2)
timeout (>= 0.4.0)
- activestorage (7.2.1)
- actionpack (= 7.2.1)
- activejob (= 7.2.1)
- activerecord (= 7.2.1)
- activesupport (= 7.2.1)
+ activestorage (8.0.2)
+ actionpack (= 8.0.2)
+ activejob (= 8.0.2)
+ activerecord (= 8.0.2)
+ activesupport (= 8.0.2)
marcel (~> 1.0)
- activesupport (7.2.1)
+ activesupport (8.0.2)
base64
+ benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
@@ -88,14 +88,16 @@ GEM
minitest (>= 5.1)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
+ uri (>= 0.13.1)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
- arbre (2.0.1)
- activesupport (>= 3.0.0)
- ast (2.4.2)
+ arbre (2.2.0)
+ activesupport (>= 7.0)
+ ast (2.4.3)
base64 (0.2.0)
bcrypt (3.1.20)
- bigdecimal (3.1.8)
+ benchmark (0.4.0)
+ bigdecimal (3.1.9)
builder (3.3.0)
cancancan (3.6.1)
capybara (3.40.0)
@@ -109,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.4)
+ cucumber (9.2.1)
builder (~> 3.2)
cucumber-ci-environment (> 9, < 11)
cucumber-core (> 13, < 14)
@@ -136,48 +138,50 @@ 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.0.0)
+ cucumber-rails (3.1.1)
capybara (>= 3.11, < 4)
cucumber (>= 5, < 10)
- railties (>= 5.2, < 8)
- cucumber-tag-expressions (6.1.0)
- cuprite (0.15.1)
+ railties (>= 5.2, < 9)
+ 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)
- date (3.3.4)
+ date (3.4.1)
devise (4.9.4)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
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)
@@ -186,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.5)
+ 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
@@ -201,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.1)
+ importmap-rails (2.1.0)
actionpack (>= 6.0.0)
activesupport (>= 6.0.0)
railties (>= 6.0.0)
- inherited_resources (2.0.0)
- 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.7.2)
- irb (1.14.0)
+ io-console (0.8.0)
+ irb (1.15.2)
+ pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
iso (0.4.0)
i18n
- json (2.7.2)
+ json (2.12.0)
kaminari (1.2.2)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.2.2)
@@ -230,14 +236,14 @@ GEM
activerecord
kaminari-core (= 1.2.2)
kaminari-core (1.2.2)
- kramdown (2.4.0)
- rexml
- 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.1)
- loofah (2.22.0)
+ 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,74 +254,79 @@ GEM
marcel (1.0.4)
matrix (0.4.2)
mini_mime (1.1.5)
- minitest (5.25.1)
+ minitest (5.25.5)
multi_test (1.1.0)
- net-imap (0.4.16)
+ 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.3)
- nokogiri (1.16.7-aarch64-linux)
+ nio4r (2.7.4)
+ nokogiri (1.18.8-aarch64-linux-gnu)
racc (~> 1.4)
- nokogiri (1.16.7-arm64-darwin)
+ nokogiri (1.18.8-arm64-darwin)
racc (~> 1.4)
- nokogiri (1.16.7-x86_64-darwin)
+ nokogiri (1.18.8-x86_64-darwin)
racc (~> 1.4)
- nokogiri (1.16.7-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.2.0)
parallel
- parser (3.3.5.0)
+ parser (3.3.8.0)
ast (~> 2.4.1)
racc
- psych (5.1.2)
+ 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.7)
- rack-session (2.0.0)
+ rack (3.1.15)
+ 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.1.0)
+ rackup (2.2.1)
rack (>= 3)
- webrick (~> 1.8)
- rails (7.2.1)
- actioncable (= 7.2.1)
- actionmailbox (= 7.2.1)
- actionmailer (= 7.2.1)
- actionpack (= 7.2.1)
- actiontext (= 7.2.1)
- actionview (= 7.2.1)
- activejob (= 7.2.1)
- activemodel (= 7.2.1)
- activerecord (= 7.2.1)
- activestorage (= 7.2.1)
- activesupport (= 7.2.1)
+ 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 (= 7.2.1)
- 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.0)
+ rails-html-sanitizer (1.6.2)
loofah (~> 2.21)
- nokogiri (~> 1.14)
- rails-i18n (7.0.9)
+ 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 (>= 6.0.0, < 8)
- railties (7.2.1)
- actionpack (= 7.2.1)
- activesupport (= 7.2.1)
+ railties (>= 8.0.0, < 9)
+ railties (8.0.2)
+ actionpack (= 8.0.2)
+ activesupport (= 8.0.2)
irb (~> 1.13)
rackup (>= 1.0.0)
rake (>= 12.2)
@@ -323,67 +334,75 @@ GEM
zeitwerk (~> 2.6)
rainbow (3.1.1)
rake (13.2.1)
- ransack (4.2.1)
+ ransack (4.3.0)
activerecord (>= 6.1.5)
activesupport (>= 6.1.5)
i18n
- rdoc (6.7.0)
+ rdoc (6.14.0)
+ erb
psych (>= 4.0.0)
- regexp_parser (2.9.2)
- reline (0.5.10)
+ 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.7)
- rspec-core (3.13.1)
+ rexml (3.4.1)
+ rspec-core (3.13.3)
rspec-support (~> 3.13.0)
- rspec-expectations (3.13.3)
+ rspec-expectations (3.13.4)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
- rspec-mocks (3.13.1)
+ rspec-mocks (3.13.4)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
- rspec-rails (7.0.1)
- 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.1)
- rubocop (1.66.1)
+ rspec-support (3.13.3)
+ rubocop (1.75.6)
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.4, < 3.0)
- rubocop-ast (>= 1.32.2, < 2.0)
+ regexp_parser (>= 2.9.3, < 3.0)
+ rubocop-ast (>= 1.44.0, < 2.0)
ruby-progressbar (~> 1.7)
- unicode-display_width (>= 2.4.0, < 3.0)
- rubocop-ast (1.32.3)
- 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.21.1)
- rubocop (>= 1.48.1, < 2.0)
- rubocop-ast (>= 1.31.1, < 2.0)
- rubocop-rails (2.26.1)
+ unicode-display_width (>= 2.4.0, < 4.0)
+ rubocop-ast (1.44.1)
+ 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.0.5)
- 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.3.1)
+ 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.0.4-aarch64-linux-gnu)
- sqlite3 (2.0.4-arm64-darwin)
- sqlite3 (2.0.4-x86_64-darwin)
- sqlite3 (2.0.4-x86_64-linux-gnu)
- stringio (3.1.1)
- sys-uname (1.3.0)
+ 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.1)
+ 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)
+ uri (1.0.3)
+ useragent (0.16.11)
warden (1.2.9)
rack (>= 2.0.9)
- webrick (1.8.1)
- websocket-driver (0.7.6)
+ webrick (1.9.1)
+ websocket-driver (0.7.7)
+ base64
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
- yard (0.9.37)
- zeitwerk (2.6.18)
+ zeitwerk (2.7.3)
PLATFORMS
aarch64-linux
@@ -447,11 +470,10 @@ DEPENDENCIES
i18n-spec
i18n-tasks
importmap-rails
- kramdown
launchy
parallel_tests
pundit
- rails (~> 7.2.0)
+ rails (~> 8.0.0)
rails-i18n
rake
ransack (>= 4.2.0)
@@ -467,7 +489,6 @@ DEPENDENCIES
sprockets-rails
sqlite3
webrick
- yard
BUNDLED WITH
- 2.5.18
+ 2.6.9
diff --git a/Rakefile b/Rakefile
index d0a47d170fb..e26229820b9 100644
--- a/Rakefile
+++ b/Rakefile
@@ -8,7 +8,6 @@ import "tasks/dependencies.rake"
gemfile = ENV["BUNDLE_GEMFILE"]
if gemfile.nil? || File.expand_path(gemfile) == File.expand_path("Gemfile")
- import "tasks/docs.rake"
import "tasks/release.rake"
end
diff --git a/UPGRADING.md b/UPGRADING.md
index facccc5a64e..ca428f87e58 100644
--- a/UPGRADING.md
+++ b/UPGRADING.md
@@ -8,14 +8,14 @@ ActiveAdmin v4 uses TailwindCSS. It has **mobile web, dark mode and RTL support*
These instructions assume the `cssbundling-rails` and `importmap-rails` gems are already installed and you have run their install commands in your app. If you haven't done so, please do before continuing.
-Update your `Gemfile` with `gem "activeadmin", "4.0.0.beta12"` and then run `gem install activeadmin --pre`.
+Update your `Gemfile` with `gem "activeadmin", "4.0.0.beta15"` and then run `gem install activeadmin --pre`.
Now, run `rails generate active_admin:assets` to replace the old assets with the new files.
Then add the npm package and update the `build:css` script.
```
-yarn add @activeadmin/activeadmin@4.0.0-beta12
+yarn add @activeadmin/activeadmin@4.0.0-beta15
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"
```
@@ -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 816eb964986..69438afbceb 100644
--- a/activeadmin.gemspec
+++ b/activeadmin.gemspec
@@ -29,14 +29,14 @@ Gem::Specification.new do |s|
"wiki_uri" => "https://github.com/activeadmin/activeadmin/wiki"
}
- s.required_ruby_version = ">= 3.0"
+ s.required_ruby_version = ">= 3.1"
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", ">= 6.1"
+ s.add_dependency "railties", ">= 7.0"
s.add_dependency "ransack", ">= 4.0"
end
diff --git a/app/controllers/active_admin/resource_controller/data_access.rb b/app/controllers/active_admin/resource_controller/data_access.rb
index 8abdc98f43c..18f08b53cff 100644
--- a/app/controllers/active_admin/resource_controller/data_access.rb
+++ b/app/controllers/active_admin/resource_controller/data_access.rb
@@ -168,11 +168,16 @@ def save_resource(object)
#
# @return [void]
def update_resource(object, attributes)
- object = assign_attributes(object, attributes)
+ status = nil
+ ActiveRecord::Base.transaction do
+ object = assign_attributes(object, attributes)
- run_update_callbacks object do
- save_resource(object)
+ run_update_callbacks object do
+ status = save_resource(object)
+ raise ActiveRecord::Rollback unless status
+ end
end
+ status
end
# Destroys an object from the database and calls appropriate callbacks.
@@ -231,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/display_helper.rb b/app/helpers/active_admin/display_helper.rb
index f86172af422..2e2b87575f5 100644
--- a/app/helpers/active_admin/display_helper.rb
+++ b/app/helpers/active_admin/display_helper.rb
@@ -24,7 +24,7 @@ def DISPLAY_NAME_FALLBACK.inspect
def display_name(resource)
unless resource.nil?
result = render_in_context(resource, display_name_method_for(resource))
- if result.to_s&.strip&.present?
+ if result.to_s.strip.present?
ERB::Util.html_escape(result)
else
ERB::Util.html_escape(render_in_context(resource, DISPLAY_NAME_FALLBACK))
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/helpers/active_admin/layout_helper.rb b/app/helpers/active_admin/layout_helper.rb
index 54ed032c180..cb50ac5fb1a 100644
--- a/app/helpers/active_admin/layout_helper.rb
+++ b/app/helpers/active_admin/layout_helper.rb
@@ -22,7 +22,7 @@ def html_head_site_title(separator: "-")
def action_items_for_action
@action_items_for_action ||= begin
- if active_admin_config && active_admin_config.action_items?
+ if active_admin_config&.action_items?
active_admin_config.action_items_for(params[:action], self)
else
[]
@@ -32,7 +32,7 @@ def action_items_for_action
def sidebar_sections_for_action
@sidebar_sections_for_action ||= begin
- if active_admin_config && active_admin_config.sidebar_sections?
+ if active_admin_config&.sidebar_sections?
active_admin_config.sidebar_sections_for(params[:action], self)
else
[]
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/bin/bundle b/bin/bundle
index a79fdfb657e..9004a197a1f 100755
--- a/bin/bundle
+++ b/bin/bundle
@@ -5,5 +5,3 @@
for gemfile in gemfiles/*/Gemfile; do
( set -x; BUNDLE_GEMFILE="$gemfile" bundle $@ )
done
-
-( set -x; BUNDLE_GEMFILE="docs/Gemfile" bundle $@ )
diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml
index 014de166713..b1079837e44 100644
--- a/config/i18n-tasks.yml
+++ b/config/i18n-tasks.yml
@@ -18,6 +18,7 @@ search:
# Files or `File.fnmatch` patterns to exclude from search
exclude:
- app/assets/images
+ - lib/generators
- tasks/tmp
# Guess usages such as t("categories.#{category}.title")
@@ -35,3 +36,6 @@ ignore_inconsistent_interpolations:
- active_admin.pagination.multiple
- active_admin.pagination.multiple_without_total
- active_admin.blank_slate.content
+
+ignore_missing:
+ - errors.messages.not_saved # Devise
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 914c2353a95..fa25d1e5164 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -1,112 +1,148 @@
+---
ar:
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: "تفريغ التصفية"
- 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: "عرض all %{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}"
+ 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:
- 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: "لم يُحفظ التعليق، النص فارغ."
- created_at: "أُنشئ"
- delete: "حذف تعليق"
- delete_confirmation: "هل أنت متأكّد من حذف هذه التعليقات؟"
+ 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: كلمة المرور
+ password_confirmation:
+ 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: "Ressourcen-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: "Ressource"
- 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: Ressource
+ resource_type: Ressourcen-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 b379960cf75..4bdb605c202 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -1,138 +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"
- 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: "
- 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 d2544a6e1f8..54cfb078fde 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -1,117 +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": "いいえ"
- 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 0d7c3ac13b0..1847883fa66 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -1,104 +1,148 @@
+---
ko:
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: "필터 초기화"
- 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: "%{total}개 중 %{from} - %{to} %{model} 표시중"
- multiple_without_total: "%{from} - %{to} %{model} 표시중"
- 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: "댓글 추가"
- resource: "첨부파일"
- no_comments_yet: "아직 댓글이 없습니다."
- 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: 비밀번호
+ password_confirmation:
+ 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} 으로 로그인"
- resend_unlock_instructions: "계정 잠금 해제하기"
- resend_confirmation_instructions: "계정 승인 요청하기"
+ 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: 테이블
+ 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 b> %{model}'
- one_page: 'Rodoma visi %{n} b> %{model}'
- multiple: 'Rodomi %{model} %{from} - %{to} b> iš%{total} b> iš viso'
- multiple_without_total: 'Rodomi %{model} %{from} - %{to} b> '
- 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} b> iš%{total} b> iš viso
+ multiple_without_total: 'Rodomi %{model} %{from} - %{to} b> '
+ one: Rodoma 1 b> %{model}
+ one_page: Rodoma visi %{n} b> %{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 75d430c9bda..57ae345ab30 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -1,144 +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:
- no_current_filters: "Brak"
- status_tag:
- "yes": "Tak"
- "no": "Nie"
- "unset": "Nie"
- 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 ed7aa5e5697..74064738953 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -1,119 +1,155 @@
+---
ru:
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: "Работает на %{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:
- 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: Пароль
+ password_confirmation:
+ 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..bf259898b05 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -1,116 +1,117 @@
+---
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: Текст
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: Забули пароль?
+ 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: Вийти
+ new_model: Створити %{model}
+ next: Наст.
+ pagination:
+ empty: "%{model} не знайдено"
+ entry:
+ few: записи
+ many: записів
+ 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: Поперед.
+ search_status:
+ no_current_filters: Жоден
+ sidebars:
+ filters: Фільтри
+ search_status: Статус пошуку
+ status_tag:
+ 'no': Ні
+ unset: Ні
+ 'yes': Так
+ view: Переглянути
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 35ed684a47e..db63e704970 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -1,142 +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": "否"
- 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 4c67ebff876..65ccc8f8977 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -1,142 +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": "未知"
- 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/.gitignore b/docs/.gitignore
deleted file mode 100644
index 57510a2be4e..00000000000
--- a/docs/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-_site/
diff --git a/docs/.vitepress/config.js b/docs/.vitepress/config.js
new file mode 100644
index 00000000000..3bd37b28c43
--- /dev/null
+++ b/docs/.vitepress/config.js
@@ -0,0 +1,94 @@
+import { version } from '../../package.json'
+import { defineConfig } from 'vitepress'
+
+// https://vitepress.dev/reference/site-config
+export default defineConfig({
+ title: "ActiveAdmin",
+ description: "The administration framework for business critical Ruby on Rails applications.",
+ head: [
+ // ['link', { rel: 'icon', type: 'image/svg+xml', href: '/vitepress-logo-mini.svg' }],
+ // ['link', { rel: 'icon', type: 'image/png', href: '/vitepress-logo-mini.png' }],
+ // ['meta', { name: 'theme-color', content: '#5f67ee' }],
+ ['meta', { name: 'og:type', content: 'website' }],
+ ['meta', { name: 'og:locale', content: 'en' }],
+ ['meta', { name: 'og:site_name', content: 'ActiveAdmin' }],
+ // ['meta', { name: 'og:image', content: 'https://vitepress.dev/vitepress-og.jpg' }],
+ ],
+ themeConfig: {
+ // https://vitepress.dev/reference/default-theme-config
+ nav: [
+ { text: 'Guide', link: '/0-installation' },
+ { text: 'Discuss', link: 'https://github.com/activeadmin/activeadmin/discussions' },
+ {
+ text: 'Demo',
+ items: [
+ { text: 'GitHub Repository', link: 'https://github.com/activeadmin/demo.activeadmin.info' },
+ { text: 'Demo App', link: 'https://demo.activeadmin.info/' },
+ ]
+ },
+ {
+ text: version.replace("-", "."), // use Ruby format for version text
+ items: [
+ {
+ text: 'Changelog',
+ link: 'https://github.com/activeadmin/activeadmin/releases',
+ },
+ {
+ text: 'Contributing',
+ link: 'https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md',
+ },
+ ],
+ }
+ ],
+ sidebar: [
+ {
+ text: 'Setup',
+ items: [
+ { text: 'Installation', link: '/0-installation' },
+ { text: 'Configuration', link: '/1-general-configuration' }
+ ]
+ },
+ {
+ text: 'Resources',
+ items: [
+ { text: 'Working with Resources', link: '/2-resource-customization' },
+ { text: 'Customize the Index page', link: '/3-index-pages' },
+ { text: 'Index as a Table', link: '/3-index-pages/index-as-table' },
+ { text: 'Custom Index View', link: '/3-index-pages/custom-index' },
+ { text: 'CSV Format', link: '/4-csv-format' },
+ { text: 'Forms', link: '/5-forms' },
+ { text: 'Customize the Show Page', link: '/6-show-pages' },
+ { text: 'Sidebar Sections', link: '/7-sidebars' },
+ { text: 'Custom Controller Actions', link: '/8-custom-actions' },
+ { text: 'Batch Actions', link: '/9-batch-actions' },
+ { text: 'Decorators', link: '/11-decorators' },
+ { text: 'Authorization Adapter', link: '/13-authorization-adapter' }
+ ]
+ },
+ {
+ text: 'Other',
+ items: [
+ { text: 'Custom Pages', link: '/10-custom-pages' },
+ { text: 'Arbre Components', link: '/12-arbre-components' },
+ { text: 'Gotchas', link: '/14-gotchas' },
+ { text: 'Documentation Tips', link: '/markdown-examples' },
+ ]
+ }
+ ],
+ socialLinks: [
+ { icon: 'github', link: 'https://github.com/activeadmin/activeadmin' },
+ { icon: 'slack', link: 'https://activeadmin.slack.com/' },
+ ],
+ editLink: {
+ pattern: 'https://github.com/activeadmin/activeadmin/edit/master/docs/:path',
+ text: 'Edit this page on GitHub'
+ },
+ footer: {
+ message: 'Released under the MIT License.',
+ copyright: 'Copyright © 2010-present'
+ },
+ search: {
+ provider: 'local'
+ }
+ }
+})
diff --git a/docs/0-installation.md b/docs/0-installation.md
index 34d5c5c6982..c12951ef43e 100644
--- a/docs/0-installation.md
+++ b/docs/0-installation.md
@@ -138,6 +138,17 @@ You can **opt-in to using Webpacker for ActiveAdmin assets** as well by updating
rails g active_admin:webpacker
```
+## vite_rails
+
+To use Active Admin with Vite, make sure the `@activeadmin/activeadmin` dependency is added to your `package.json` using e.g. Yarn:
+
+```sh
+yarn add @activeadmin/activeadmin@^3
+```
+
+Then follow the steps outlined in this discussion comment: https://github.com/activeadmin/activeadmin/discussions/7947#discussioncomment-5867902
+
+
[CHANGELOG]: https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md
[dashboard.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/dashboard.rb
[active_admin.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/active_admin.rb.erb
diff --git a/docs/12-arbre-components.md b/docs/12-arbre-components.md
index c1dc69e7419..13b14da38ce 100644
--- a/docs/12-arbre-components.md
+++ b/docs/12-arbre-components.md
@@ -205,10 +205,12 @@ tabs do
end
end
- tab :inactive do
+ tab :inactive, html_options: { class: "specific_css_class" } do
table_for orders.inactive do
# ...
end
end
end
```
+
+The `html_options` will set additional HTML attributes on the tab button.
diff --git a/docs/14-gotchas.md b/docs/14-gotchas.md
index 6c62830399b..efcff41cd41 100644
--- a/docs/14-gotchas.md
+++ b/docs/14-gotchas.md
@@ -68,13 +68,17 @@ end
## CSS
-In order to avoid the override of your application style with the Active Admin
-one, you can do one of these things:
+To avoid overriding your application styles with the ActiveAdmin styles,
+remove the `require_tree` command from your application's CSS files, where
+the `active_admin.scss` is in the tree.
-* You can properly move the generated file `active_admin.scss` from
- `app/assets/stylesheets` to `vendor/assets/stylesheets`.
-* You can remove all `require_tree` commands from your root level css files,
- where the `active_admin.scss` is in the tree.
+## Deprecation warnings with modern sass build tools
+
+Active Admin v3's SCSS is written for [sassc](https://rubygems.org/gems/sassc), which follows an older version of the SCSS specification. If you use a Node-based build system like esbuild, webpacker, or vite, you may encounter deprecation warnings for color functions like this when compiling assets:
+
+> DEPRECATION WARNING: lighten() is deprecated
+
+As a quick workaround, you may be able to silence these warnings by passing the `quietDeps` scss compilation option in your build system. With vite, follow these instructions:
- The administration framework for business critical Ruby on Rails applications. -
- -- Active Admin is a Ruby on Rails plugin for generating administration style interfaces. It abstracts common business application patterns to make it simple for developers to implement beautiful and elegant interfaces with very little effort. -
- -- Customizable global navigation allows you to create usable admin interfaces for your business. -
- -- Use scopes to create sections of mutually exclusive resources for quick navigation and reporting. -
- -- Index screens are available in many styles. The default, shown here, is a table view, but Active Admin also supports Grids, Blocks and a Blog view. -
- -- Each resource that is registered with Active Admin becomes available as JSON, XML and CSV download. Customize the output to meet your requirements. -
-- Use the bundled Devise configuration or implement your own authorization using the provided hooks. -
- -- Add buttons, links or other content in the “Action Items” section on each screen. -
- -- Allow users to filter resources by searching strings, text fields, dates, and numeric values. -
- -- Customize the sidebar sections with a simple DSL built in to Active Admin. -
-- Active Admin’s interface was designed from the ground up for non-technical users. It makes it easy for developers to build highly usable interfaces that customers will actually enjoy using. -
- -- Get started with one line of code or customize the entire interface with the provided DSL. -
- -# app/admin/products.rb
-ActiveAdmin.register Product do
- # Create sections on the index screen
- scope :all, default: true
- scope :available
- scope :drafts
-
- # Filterable attributes on the index screen
- filter :title
- filter :author, as: :select, collection: ->{ Product.authors }
- filter :price
- filter :created_at
-
- # Customize columns displayed on the index screen in the table
- index do
- column :title
- column "Price", sortable: :price do |product|
- number_to_currency product.price
- end
- actions
- end
-end
- - - Available as part of the Tidelift Subscription - -
- -- Active Admin and the maintainers of thousands of other packages are - working with Tidelift to deliver one enterprise subscription that - covers all of the open source you use. -
- -- If you want the flexibility of open source and the confidence of - commercial-grade software, this is for you. -
- - - -- The end result? All of the capabilities you expect from - commercial-grade software, for the full breadth of open source you - use. That means less time grappling with esoteric open source trivia, - and more time building your own applications—and your business. -
- - - -- {% include google-analytics.html %} -
- - diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000000..dd8b02ed0d0 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,49 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: ActiveAdmin + text: An admin engine for Rails applications + tagline: Abstracts common patterns to implement beautiful and elegant interfaces with ease. + + actions: + - theme: brand + text: Getting Started + link: /0-installation + - theme: alt + text: View on GitHub + link: https://github.com/activeadmin/activeadmin + +features: + - icon: 🌎 + title: Global Navigation + details: Customizable navigation allows you to create usable admin interfaces for your business. + - icon: 🔒 + title: User Authentication + details: Use the bundled Devise configuration or implement your own authorization using the provided hooks. + - icon: 🎬 + title: Action Items + details: Add buttons or links as action items in the page header for a resource. + link: /8-custom-actions + linkText: Learn about action items + - icon: 🔍 + title: Filters + details: Allow users to filter resources by searching strings, text fields, dates, and numeric values. + link: /3-index-pages + linkText: Learn about filters + - icon: 🗂️ + title: Scopes + details: Use scopes to create sections of mutually exclusive resources for quick navigation and reporting. + - icon: 📑 + title: Custom Index Views + details: The default index screen is a table view, but custom index views are supported. + - icon: 📋 + title: Sidebar Sections + details: Add your own sections to the sidebar using a simple DSL. + link: /7-sidebars + linkText: Learn about sidebar sections + - icon: 💾 + title: Downloads + details: Each resource becomes available as CSV, JSON, and XML with customizable output. +--- diff --git a/docs/markdown-examples.md b/docs/markdown-examples.md new file mode 100644 index 00000000000..d715a2bf94a --- /dev/null +++ b/docs/markdown-examples.md @@ -0,0 +1,127 @@ +--- +outline: deep +--- + +# Markdown Extension Examples + +This page demonstrates some of the built-in markdown extensions provided by VitePress. + +## Syntax Highlighting + +VitePress provides Syntax Highlighting powered by [Shikiji](https://github.com/antfu/shikiji), with additional features like line-highlighting: + +**Input** + +````md +```js{4} +export default { + data () { + return { + msg: 'Highlighted!' + } + } +} +``` +```` + +**Output** + +```js{4} +export default { + data () { + return { + msg: 'Highlighted!' + } + } +} +``` + +## Custom Containers + +**Input** + +```md +::: info +This is an info box. +::: + +::: tip +This is a tip. +::: + +::: warning +This is a warning. +::: + +::: danger +This is a dangerous warning. +::: + +::: details +This is a details block. +::: +``` + +**Output** + +::: info +This is an info box. +::: + +::: tip +This is a tip. +::: + +::: warning +This is a warning. +::: + +::: danger +This is a dangerous warning. +::: + +::: details +This is a details block. +::: + +## Runtime API Examples + +This page demonstrates usage of some of the runtime APIs provided by VitePress. + +The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files: + +```md + + +### Theme Data +{{ theme }}+ +### Page Data +
{{ page }}+ +### Page Frontmatter +
{{ frontmatter }}+``` + + + +### Theme Data +
{{ theme }}+ +### Page Data +
{{ page }}+ +### Page Frontmatter +
{{ frontmatter }}+ +## More + +Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown) and the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata). diff --git a/docs/stylesheets/main.css b/docs/stylesheets/main.css deleted file mode 100644 index 8e64ef8d204..00000000000 --- a/docs/stylesheets/main.css +++ /dev/null @@ -1,1205 +0,0 @@ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} - -body { - line-height: 1; -} - -ol, ul { - list-style: none; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -caption, th, td { - text-align: left; - font-weight: normal; - vertical-align: middle; -} - -q, blockquote { - quotes: none; -} - -q:before, q:after, blockquote:before, blockquote:after { - content: ""; - content: none; -} - -a img { - border: none; -} - -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} - -#dsl { - /* Comment */ - /* Error */ - /* Keyword */ - /* Literal */ - /* Name */ - /* Operator */ - /* Punctuation */ - /* Comment.Multiline */ - /* Comment.Preproc */ - /* Comment.Single */ - /* Comment.Special */ - /* Generic.Emph */ - /* Generic.Strong */ - /* Keyword.Constant */ - /* Keyword.Declaration */ - /* Keyword.Namespace */ - /* Keyword.Pseudo */ - /* Keyword.Reserved */ - /* Keyword.Type */ - /* Literal.Date */ - /* Literal.Number */ - /* Literal.String */ - /* Name.Attribute */ - /* Name.Builtin */ - /* Name.Class */ - /* Name.Constant */ - /* Name.Decorator */ - /* Name.Entity */ - /* Name.Exception */ - /* Name.Function */ - /* Name.Label */ - /* Name.Namespace */ - /* Name.Other */ - /* Name.Property */ - /* Name.Tag */ - /* Name.Variable */ - /* Operator.Word */ - /* Text.Whitespace */ - /* Literal.Number.Float */ - /* Literal.Number.Hex */ - /* Literal.Number.Integer */ - /* Literal.Number.Oct */ - /* Literal.String.Backtick */ - /* Literal.String.Char */ - /* Literal.String.Doc */ - /* Literal.String.Double */ - /* Literal.String.Escape */ - /* Literal.String.Heredoc */ - /* Literal.String.Interpol */ - /* Literal.String.Other */ - /* Literal.String.Regex */ - /* Literal.String.Single */ - /* Literal.String.Symbol */ - /* Name.Builtin.Pseudo */ - /* Name.Variable.Class */ - /* Name.Variable.Global */ - /* Name.Variable.Instance */ - /* Literal.Number.Integer.Long */ -} - -#dsl .highlight .hll { - background-color: #49483e; -} - -#dsl .highlight { - background: #272822; - color: #f8f8f2; -} - -#dsl .highlight .c { - color: #75715e; -} - -#dsl .highlight .err { - color: #960050; - background-color: #1e0010; -} - -#dsl .highlight .k { - color: #66d9ef; -} - -#dsl .highlight .l { - color: #ae81ff; -} - -#dsl .highlight .n { - color: #f8f8f2; -} - -#dsl .highlight .o { - color: #f92672; -} - -#dsl .highlight .p { - color: #f8f8f2; -} - -#dsl .highlight .cm { - color: #75715e; -} - -#dsl .highlight .cp { - color: #75715e; -} - -#dsl .highlight .c1 { - color: #75715e; -} - -#dsl .highlight .cs { - color: #75715e; -} - -#dsl .highlight .ge { - font-style: italic; -} - -#dsl .highlight .gs { - font-weight: bold; -} - -#dsl .highlight .kc { - color: #66d9ef; -} - -#dsl .highlight .kd { - color: #66d9ef; -} - -#dsl .highlight .kn { - color: #f92672; -} - -#dsl .highlight .kp { - color: #66d9ef; -} - -#dsl .highlight .kr { - color: #66d9ef; -} - -#dsl .highlight .kt { - color: #66d9ef; -} - -#dsl .highlight .ld { - color: #e6db74; -} - -#dsl .highlight .m { - color: #ae81ff; -} - -#dsl .highlight .s { - color: #e6db74; -} - -#dsl .highlight .na { - color: #a6e22e; -} - -#dsl .highlight .nb { - color: #f8f8f2; -} - -#dsl .highlight .nc { - color: #a6e22e; -} - -#dsl .highlight .no { - color: #66d9ef; -} - -#dsl .highlight .nd { - color: #a6e22e; -} - -#dsl .highlight .ni { - color: #f8f8f2; -} - -#dsl .highlight .ne { - color: #a6e22e; -} - -#dsl .highlight .nf { - color: #a6e22e; -} - -#dsl .highlight .nl { - color: #f8f8f2; -} - -#dsl .highlight .nn { - color: #f8f8f2; -} - -#dsl .highlight .nx { - color: #a6e22e; -} - -#dsl .highlight .py { - color: #f8f8f2; -} - -#dsl .highlight .nt { - color: #f92672; -} - -#dsl .highlight .nv { - color: #f8f8f2; -} - -#dsl .highlight .ow { - color: #f92672; -} - -#dsl .highlight .w { - color: #f8f8f2; -} - -#dsl .highlight .mf { - color: #ae81ff; -} - -#dsl .highlight .mh { - color: #ae81ff; -} - -#dsl .highlight .mi { - color: #ae81ff; -} - -#dsl .highlight .mo { - color: #ae81ff; -} - -#dsl .highlight .sb { - color: #e6db74; -} - -#dsl .highlight .sc { - color: #e6db74; -} - -#dsl .highlight .sd { - color: #e6db74; -} - -#dsl .highlight .s2 { - color: #e6db74; -} - -#dsl .highlight .se { - color: #ae81ff; -} - -#dsl .highlight .sh { - color: #e6db74; -} - -#dsl .highlight .si { - color: #e6db74; -} - -#dsl .highlight .sx { - color: #e6db74; -} - -#dsl .highlight .sr { - color: #e6db74; -} - -#dsl .highlight .s1 { - color: #e6db74; -} - -#dsl .highlight .ss { - color: #AE81FF; -} - -#dsl .highlight .bp { - color: #f8f8f2; -} - -#dsl .highlight .vc { - color: #f8f8f2; -} - -#dsl .highlight .vg { - color: #f8f8f2; -} - -#dsl .highlight .vi { - color: #f8f8f2; -} - -#dsl .highlight .il { - color: #ae81ff; -} - -body { - line-height: 1.5; - font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; - color: #333333; - font-size: 75%; -} - -h1, h2, h3, h4, h5, h6 { - font-weight: normal; - color: #222222; -} - -h1 img, h2 img, h3 img, h4 img, h5 img, h6 img { - margin: 0; -} - -h1 { - font-size: 3em; - line-height: 1; - margin-bottom: 0.50em; -} - -h2 { - font-size: 2em; - margin-bottom: 0.75em; -} - -h3 { - font-size: 1.5em; - line-height: 1; - margin-bottom: 1.00em; -} - -h4 { - font-size: 1.2em; - line-height: 1.25; - margin-bottom: 1.25em; -} - -h5 { - font-size: 1em; - font-weight: bold; - margin-bottom: 1.50em; -} - -h6 { - font-size: 1em; - font-weight: bold; -} - -p { - margin: 0 0 1.5em; -} - -p .left { - display: inline; - float: left; - margin: 1.5em 1.5em 1.5em 0; - padding: 0; -} - -p .right { - display: inline; - float: right; - margin: 1.5em 0 1.5em 1.5em; - padding: 0; -} - -a { - text-decoration: underline; - color: #0066cc; -} - -a:visited { - color: #004c99; -} - -a:focus { - color: #0099ff; -} - -a:hover { - color: #0099ff; -} - -a:active { - color: #bf00ff; -} - -blockquote { - margin: 1.5em; - color: #666666; - font-style: italic; -} - -strong, dfn { - font-weight: bold; -} - -em, dfn { - font-style: italic; -} - -sup, sub { - line-height: 0; -} - -abbr, acronym { - border-bottom: 1px dotted #666666; -} - -address { - margin: 0 0 1.5em; - font-style: italic; -} - -del { - color: #666666; -} - -pre { - margin: 1.5em 0; - white-space: pre; -} - -pre, code, tt { - font: 1em "andale mono", "lucida console", monospace; - line-height: 1.5; -} - -li ul, li ol { - margin: 0; -} - -ul, ol { - margin: 0 1.5em 1.5em 0; - padding-left: 1.5em; -} - -ul { - list-style-type: disc; -} - -ol { - list-style-type: decimal; -} - -dl { - margin: 0 0 1.5em 0; -} - -dl dt { - font-weight: bold; -} - -dd { - margin-left: 1.5em; -} - -table { - margin-bottom: 1.4em; - width: 100%; -} - -th { - font-weight: bold; -} - -thead th { - background: #c3d9ff; -} - -th, td, caption { - padding: 4px 10px 4px 5px; -} - -table.striped tr:nth-child(even) td, -table tr.even td { - background: #e5ecf9; -} - -tfoot { - font-style: italic; -} - -caption { - background: #eeeeee; -} - -.quiet { - color: #666666; -} - -.loud { - color: #111111; -} - -body { - background: #f6f4f1; - color: #676767; - width: 768px; - padding: 0 20px; - font-size: 95%; - margin: 25px auto; - font-family: 'Georgia'; -} - -body #wrapper { - position: relative; -} - -body a, body a:hover, body a:link, body a:visited { - color: #407985; -} - -body h1, body h2, body h3, body h4, body h5, body h6 { - color: #595959; - font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif; -} - -body h1 a { - background: url("../images/activeadmin.png") 0 0 no-repeat; - display: block; - width: 257px; - height: 55px; -} - -body h1 a span { - display: none; -} - -body #header { - margin: 40px 0; -} - -body #header h1 { - margin-bottom: 0; -} - -body #tidelift { - display: flex; - justify-content: flex-start; -} - -body #tidelift a { - border: 1px solid #666666; - margin-left: auto; - padding: 10px; - text-decoration: none; -} - -body #tidelift a .cta { - background: url("../images/tidelift.svg") no-repeat; - padding-left: 30px; -} - -body .tidelift-buttons a { - display: table; - width: 200px; - border: 2px solid #407985; - border-radius: 4px; - text-decoration: none; - font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 18px; - letter-spacing: 1px; - margin: 0 10px; -} - -body .tidelift-buttons a:first-child { - float: left; - color: #407985; - background: #FFF; -} - -body .tidelift-buttons a:last-child { - color: #FFF; - background: #407985; -} - -body .tidelift-buttons a span { - display: table-cell; - vertical-align: middle; - text-align: center; -} - -body .clear { - clear: both; -} - -body .intro { - color: #595959; - font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 3.2em; - font-weight: 300; - line-height: 1em; - margin-bottom: 0.3em; - padding-top: 35px; - background: url("../images/divider.png") 0 0 repeat-x; -} - -body .intro strong { - font-weight: 400; -} - -body h2 { - margin: 50px 0 10px 0; - padding-top: 35px; - background: url("../images/divider.png") 0 0 repeat-x; - font-size: 2.5em; - font-weight: 200; - line-height: 105%; -} - -body h3 { - margin-top: 30px; - margin-bottom: 10px; - font-size: 1.7em; - font-weight: 300; -} - -body #nav, body #tidelift .cta { - font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-weight: 400; - font-size: 1.2em; - text-transform: uppercase; -} - -body #nav { - position: absolute; - right: 0; - top: 20px; - text-align: right; -} - -body #nav a { - text-decoration: none; - color: #8b9091; - margin-left: 20px; -} - -body #features { - padding-top: 0; - clear: both; - background: url("../images/features.png") 0 0 no-repeat; - margin: 0 -35px; - overflow: visible; - min-height: 569px; - font-size: 1.0em; - line-height: 1.2em; - font-weight: 300; - font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif; -} - -body #features #features-left { - float: left; - width: 150px; - margin-left: -150px; -} - -body #features #features-right { - float: right; - width: 150px; - margin-right: -150px; -} - -body #features h3 { - font-size: 1.2em; - padding-bottom: 0; - margin-bottom: 5px; -} - -body #features h3.first { - margin-top: 10px; -} - -body.with-sidebar { - width: 976px; -} - -body .toc { - font-family: Helvetica, Arial, sans-serif; - padding-top: 35px; - width: 270px; - float: right; - font-size: 0.9em; - background: url("../images/divider.png") top left repeat-x; -} - -body .toc ol li { - list-style: none; -} - -body .toc a, body .toc a:link, body .toc a:hover, body .toc a:visited { - text-decoration: none; - color: #595959; -} - -body .toc ol.level-1 > li { - font-size: 1.0em; - font-weight: bold; - margin-top: 20px; -} - -body .toc ol.level-1 > ol { - padding-left: 0; - font-size: 0.95em; - margin: 0; -} - -body .toc ol.level-2 > ol { - display: none; -} - -body .toc-content { - width: 676px; -} - -body #dsl { - margin-top: 20px; -} - -body #dsl .highlight { - font-size: 0.82em; - background: #292929 url("../images/code-header.png") 0 0 no-repeat; - padding: 40px 15px 20px 15px !important; - -moz-box-shadow: 0 8px 20px #444444; - -webkit-box-shadow: 0 8px 20px #444444; - -o-box-shadow: 0 8px 20px #444444; - box-shadow: 0 8px 20px #444444; -} - -body .getting-started { - font-size: 2em; - text-align: center; -} - -body .getting-started a { - margin-right: 15px; - display: block; -} - -body .getting-started-heading { - text-align: center; -} - -body .left { - float: left; -} - -body .right { - float: right; -} - -body .highlight { - background-color: #333; - font-family: "Droid Sans Mono", Monaco, monospace; - padding: 10px 5px; - font-size: 0.9em; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - -o-border-radius: 2px; - -ms-border-radius: 2px; - -khtml-border-radius: 2px; - border-radius: 2px; - margin-bottom: 1.5em; -} - -body .highlight > pre, body .highlight code, body .highlight span { - line-height: 1.3em; - margin: 0; - padding: 0; -} - -body #footer { - margin-top: 50px; - margin-bottom: 20px; - background: url("../images/divider.png") 0 0 repeat-x; - clear: both; - padding-top: 20px; - font-size: 0.9em; -} - -body .post .post-date, body .post .post-meta { - font-size: 0.7em; -} - -body .post .post-date { - display: inline-block; - width: 100px; -} - -body .post .post-meta { - font-size: 0.6em; - padding-left: 40px; -} - -span.breadcrumb { - display: block; - font-size: 45%; - font-weight: 200; - margin: 0; - padding: 0; -} - -h2.in-docs { - font-weight: 400; -} - -.docs-content { - /* Comment */ - /* Error */ - /* Keyword */ - /* Comment.Multiline */ - /* Comment.Preproc */ - /* Comment.Single */ - /* Comment.Special */ - /* Generic.Deleted */ - /* Generic.Emph */ - /* Generic.Error */ - /* Generic.Heading */ - /* Generic.Inserted */ - /* Generic.Output */ - /* Generic.Prompt */ - /* Generic.Strong */ - /* Generic.Subheading */ - /* Generic.Traceback */ - /* Keyword.Constant */ - /* Keyword.Declaration */ - /* Keyword.Namespace */ - /* Keyword.Pseudo */ - /* Keyword.Reserved */ - /* Keyword.Type */ - /* Literal.Number */ - /* Name */ - /* Name */ - /* Literal.String */ - /* Name.Attribute */ - /* Name.Builtin */ - /* Name.Class */ - /* Name.Constant */ - /* Name.Decorator */ - /* Name.Entity */ - /* Name.Function */ - /* Name.Namespace */ - /* Name.Tag */ - /* Name.Variable */ - /* Operator.Word */ - /* Text.Whitespace */ - /* Literal.Number.Float */ - /* Literal.Number.Hex */ - /* Literal.Number.Integer */ - /* Literal.Number.Oct */ - /* Literal.String.Backtick */ - /* Literal.String.Char */ - /* Literal.String.Doc */ - /* Literal.String.Double */ - /* Literal.String.Escape */ - /* Literal.String.Heredoc */ - /* Literal.String.Interpol */ - /* Literal.String.Other */ - /* Literal.String.Regex */ - /* Literal.String.Single */ - /* Literal.String.Symbol */ - /* Name.Builtin.Pseudo */ - /* Name.Variable.Class */ - /* Name.Variable.Global */ - /* Name.Variable.Instance */ - /* Literal.Number.Integer.Long */ -} - -.docs-content h3 { - margin-top: 50px; - margin-bottom: 10px; - font-size: 2em; - font-weight: 400; -} - -.docs-content h4 { - font-size: 1.5em; - font-weight: 400; - margin-bottom: 0; -} - -.docs-content p, .docs-content li { - font-family: Helvetica, Arial, sans-serif; - font-size: 0.9em; -} - -.docs-content .highlight { - font-size: 0.85em; - background-color: #ece8e1; - color: #000000; -} - -.docs-content .highlight .hll { - background-color: #ffffcc; -} - -.docs-content .highlight .c { - color: #aaaaaa; - font-style: italic; -} - -.docs-content .highlight .err { - color: #F00000; - background-color: #F0A0A0; -} - -.docs-content .highlight .k { - color: #0000aa; -} - -.docs-content .highlight .cm { - color: #aaaaaa; - font-style: italic; -} - -.docs-content .highlight .cp { - color: #4c8317; -} - -.docs-content .highlight .c1 { - color: #aaaaaa; - font-style: italic; -} - -.docs-content .highlight .cs { - color: #0000aa; - font-style: italic; -} - -.docs-content .highlight .gd { - color: #aa0000; -} - -.docs-content .highlight .ge { - font-style: italic; -} - -.docs-content .highlight .gr { - color: #aa0000; -} - -.docs-content .highlight .gh { - color: #000080; - font-weight: bold; -} - -.docs-content .highlight .gi { - color: #00aa00; -} - -.docs-content .highlight .go { - color: #888888; -} - -.docs-content .highlight .gp { - color: #555555; -} - -.docs-content .highlight .gs { - font-weight: bold; -} - -.docs-content .highlight .gu { - color: #800080; - font-weight: bold; -} - -.docs-content .highlight .gt { - color: #aa0000; -} - -.docs-content .highlight .kc { - color: #0000aa; -} - -.docs-content .highlight .kd { - color: #0000aa; -} - -.docs-content .highlight .kn { - color: #0000aa; -} - -.docs-content .highlight .kp { - color: #0000aa; -} - -.docs-content .highlight .kr { - color: #0000aa; -} - -.docs-content .highlight .kt { - color: #00aaaa; -} - -.docs-content .highlight .m { - color: #009999; -} - -.docs-content .highlight .n { - color: #000000; -} - -.docs-content .highlight .p { - color: #000000; -} - -.docs-content .highlight .s { - color: #aa5500; -} - -.docs-content .highlight .na { - color: #1e90ff; -} - -.docs-content .highlight .nb { - color: #00aaaa; -} - -.docs-content .highlight .nc { - color: #00aa00; - text-decoration: underline; -} - -.docs-content .highlight .no { - color: #aa0000; -} - -.docs-content .highlight .nd { - color: #888888; -} - -.docs-content .highlight .ni { - color: #800000; - font-weight: bold; -} - -.docs-content .highlight .nf { - color: #00aa00; -} - -.docs-content .highlight .nn { - color: #00aaaa; - text-decoration: underline; -} - -.docs-content .highlight .nt { - color: #1e90ff; - font-weight: bold; -} - -.docs-content .highlight .nv { - color: #aa0000; -} - -.docs-content .highlight .ow { - color: #0000aa; -} - -.docs-content .highlight .w { - color: #bbbbbb; -} - -.docs-content .highlight .mf { - color: #009999; -} - -.docs-content .highlight .mh { - color: #009999; -} - -.docs-content .highlight .mi { - color: #009999; -} - -.docs-content .highlight .mo { - color: #009999; -} - -.docs-content .highlight .sb { - color: #aa5500; -} - -.docs-content .highlight .sc { - color: #aa5500; -} - -.docs-content .highlight .sd { - color: #aa5500; -} - -.docs-content .highlight .s2 { - color: #aa5500; -} - -.docs-content .highlight .se { - color: #aa5500; -} - -.docs-content .highlight .sh { - color: #aa5500; -} - -.docs-content .highlight .si { - color: #aa5500; -} - -.docs-content .highlight .sx { - color: #aa5500; -} - -.docs-content .highlight .sr { - color: #009999; -} - -.docs-content .highlight .s1 { - color: #aa5500; -} - -.docs-content .highlight .ss { - color: #0000aa; -} - -.docs-content .highlight .bp { - color: #00aaaa; -} - -.docs-content .highlight .vc { - color: #aa0000; -} - -.docs-content .highlight .vg { - color: #aa0000; -} - -.docs-content .highlight .vi { - color: #aa0000; -} - -.docs-content .highlight .il { - color: #009999; -} diff --git a/features/edit_page.feature b/features/edit_page.feature index 7ed9be47873..03f36a1b717 100644 --- a/features/edit_page.feature +++ b/features/edit_page.feature @@ -136,3 +136,18 @@ Feature: Edit Page And I follow "Edit" Then I should see a fieldset titled "Details" And the "Name" field should contain "Bugs" + + Scenario: Save resource within a transaction + Given a company named "My company" with a store named "First store" exists + And a store named "Second store" exists + When I am on the index page for companies + And I follow "Edit" + Then the "Stores" select should have "First store" selected + When I fill in "Name" with "" + And I select "Second store" from "Stores" + And I press "Update Company" + Then I should see "can't be blank" + When I press "Cancel" + And I follow "View" + Then I should see the attribute "Stores" with "First store" + And I should not see the attribute "Stores" with "Second store" 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 a00b201b47e..20f652ba434 100644 --- a/features/step_definitions/attribute_steps.rb +++ b/features/step_definitions/attribute_steps.rb @@ -1,14 +1,19 @@ # frozen_string_literal: true -Then /^I should see the attribute "([^"]*)" with "([^"]*)"$/ do |title, value| +Then(/^I should( not)? see the attribute "([^"]*)" with "([^"]*)"$/) do |negate, title, value| elems = all ".attributes-table th:contains('#{title}') ~ td:contains('#{value}')" - expect(elems.first).to_not eq(nil), "attribute missing" + + if negate + expect(elems.first).to eq(nil), "attribute missing" + else + expect(elems.first).to_not eq(nil), "attribute missing" + 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 210b560ffa6..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,23 +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 /^I create a new post with the title "([^"]*)"$/ do |title| +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| 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 41562e5703d..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,7 +106,13 @@ def selector_for(locator) end end -Then /^the "([^"]*)" checkbox(?: within (.*))? should( not)? be checked$/ do |label, parent, negate| +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| with_scope(parent) do checkbox = find_field(label) if negate @@ -117,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 @@ -125,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 aed905cb40a..e40f0dda1b6 100644 --- a/gemfiles/rails_70/Gemfile +++ b/gemfiles/rails_70/Gemfile @@ -16,6 +16,11 @@ 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 group :test do @@ -29,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 f30af2dd747..4e786e1b3d6 100644 --- a/gemfiles/rails_70/Gemfile.lock +++ b/gemfiles/rails_70/Gemfile.lock @@ -1,95 +1,96 @@ PATH remote: ../.. specs: - activeadmin (4.0.0.beta12) + 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 (>= 6.1) + railties (>= 7.0) ransack (>= 4.0) GEM remote: https://rubygems.org/ specs: - actioncable (7.0.8.4) - actionpack (= 7.0.8.4) - activesupport (= 7.0.8.4) + 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.4) - actionpack (= 7.0.8.4) - activejob (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) + 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.4) - actionpack (= 7.0.8.4) - actionview (= 7.0.8.4) - activejob (= 7.0.8.4) - activesupport (= 7.0.8.4) + 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.4) - actionview (= 7.0.8.4) - activesupport (= 7.0.8.4) + 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.4) - actionpack (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) + 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.4) - activesupport (= 7.0.8.4) + 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.4) - activesupport (= 7.0.8.4) + activejob (7.0.8.7) + activesupport (= 7.0.8.7) globalid (>= 0.3.6) - activemodel (7.0.8.4) - activesupport (= 7.0.8.4) - activemodel-serializers-xml (1.0.2) - activemodel (> 5.x) - activesupport (> 5.x) + 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.4) - activemodel (= 7.0.8.4) - activesupport (= 7.0.8.4) - activestorage (7.0.8.4) - actionpack (= 7.0.8.4) - activejob (= 7.0.8.4) - activerecord (= 7.0.8.4) - activesupport (= 7.0.8.4) + 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.4) + 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.1) - activesupport (>= 3.0.0) - ast (2.4.2) + arbre (2.2.0) + activesupport (>= 7.0) + ast (2.4.3) + base64 (0.2.0) bcrypt (3.1.20) - bigdecimal (3.1.8) + bigdecimal (3.1.9) 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.4) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -129,46 +130,47 @@ 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.0.0) + cucumber-rails (3.1.1) capybara (>= 3.11, < 4) cucumber (>= 5, < 10) - railties (>= 5.2, < 8) - cucumber-tag-expressions (6.1.0) - cuprite (0.15.1) + railties (>= 5.2, < 9) + 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) - date (3.3.4) + date (3.4.1) devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) 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.5) + 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,17 +194,18 @@ 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.1) + importmap-rails (2.1.0) actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - inherited_resources (2.0.0) - 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.7.2) + io-console (0.8.0) iso (0.4.0) i18n kaminari (1.2.2) @@ -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.1) - loofah (2.22.0) + 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.7) - minitest (5.25.1) + mini_portile2 (2.8.9) + minitest (5.25.5) multi_test (1.1.0) - net-imap (0.4.16) + 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.3) - nokogiri (1.16.7) + nio4r (2.7.4) + nokogiri (1.18.8) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.7-arm64-darwin) + nokogiri (1.18.8-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-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.5.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.9) - rack-test (2.1.0) + rack (2.2.15) + rack-test (2.2.0) rack (>= 1.3) - rails (7.0.8.4) - actioncable (= 7.0.8.4) - actionmailbox (= 7.0.8.4) - actionmailer (= 7.0.8.4) - actionpack (= 7.0.8.4) - actiontext (= 7.0.8.4) - actionview (= 7.0.8.4) - activejob (= 7.0.8.4) - activemodel (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) + 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.4) - 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.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) - rails-i18n (7.0.9) + 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.4) - actionpack (= 7.0.8.4) - activesupport (= 7.0.8.4) + 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) + ransack (4.3.0) activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - regexp_parser (2.9.2) - reline (0.5.10) + 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.7) - rspec-core (3.13.1) + rexml (3.4.1) + rspec-core (3.13.3) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.4) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.4) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.0.1) + 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.1) + rspec-support (3.13.3) + 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) @@ -351,19 +357,22 @@ GEM mini_portile2 (~> 2.8.0) sqlite3 (1.7.3-arm64-darwin) sqlite3 (1.7.3-x86_64-linux) - sys-uname (1.3.0) + 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.1) + 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.8.1) - websocket-driver (0.7.6) + webrick (1.9.1) + websocket-driver (0.7.7) + 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 @@ -401,6 +411,7 @@ DEPENDENCIES sprockets-rails sqlite3 (~> 1.7) webrick + zeitwerk (~> 2.6.18) BUNDLED WITH - 2.5.18 + 2.6.9 diff --git a/gemfiles/rails_71/Gemfile b/gemfiles/rails_71/Gemfile index e6c5d5b5945..7f0f74fb842 100644 --- a/gemfiles/rails_71/Gemfile +++ b/gemfiles/rails_71/Gemfile @@ -18,6 +18,12 @@ 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 group :test do @@ -31,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 7f4c0c33160..a369d9b7a21 100644 --- a/gemfiles/rails_71/Gemfile.lock +++ b/gemfiles/rails_71/Gemfile.lock @@ -1,48 +1,48 @@ PATH remote: ../.. specs: - activeadmin (4.0.0.beta12) + 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 (>= 6.1) + railties (>= 7.0) ransack (>= 4.0) GEM remote: https://rubygems.org/ specs: - actioncable (7.1.4) - actionpack (= 7.1.4) - activesupport (= 7.1.4) + 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.4) - actionpack (= 7.1.4) - activejob (= 7.1.4) - activerecord (= 7.1.4) - activestorage (= 7.1.4) - activesupport (= 7.1.4) + 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.4) - actionpack (= 7.1.4) - actionview (= 7.1.4) - activejob (= 7.1.4) - activesupport (= 7.1.4) + 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.4) - actionview (= 7.1.4) - activesupport (= 7.1.4) + 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,56 +50,60 @@ GEM rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.4) - actionpack (= 7.1.4) - activerecord (= 7.1.4) - activestorage (= 7.1.4) - activesupport (= 7.1.4) + 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.4) - activesupport (= 7.1.4) + 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.4) - activesupport (= 7.1.4) + activejob (7.1.5.1) + activesupport (= 7.1.5.1) globalid (>= 0.3.6) - activemodel (7.1.4) - activesupport (= 7.1.4) - activemodel-serializers-xml (1.0.2) - activemodel (> 5.x) - activesupport (> 5.x) + 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.4) - activemodel (= 7.1.4) - activesupport (= 7.1.4) + activerecord (7.1.5.1) + activemodel (= 7.1.5.1) + activesupport (= 7.1.5.1) timeout (>= 0.4.0) - activestorage (7.1.4) - actionpack (= 7.1.4) - activejob (= 7.1.4) - activerecord (= 7.1.4) - activesupport (= 7.1.4) + 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.4) + activesupport (7.1.5.1) base64 + benchmark (>= 0.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) mutex_m + securerandom (>= 0.3) tzinfo (~> 2.0) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - arbre (2.0.1) - activesupport (>= 3.0.0) - ast (2.4.2) + arbre (2.2.0) + activesupport (>= 7.0) + ast (2.4.3) base64 (0.2.0) bcrypt (3.1.20) - bigdecimal (3.1.8) + benchmark (0.4.0) + bigdecimal (3.1.9) builder (3.3.0) cancancan (3.6.1) capybara (3.40.0) @@ -111,15 +115,16 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) + cgi (0.4.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.4) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -140,47 +145,50 @@ 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.0.0) + cucumber-rails (3.1.1) capybara (>= 3.11, < 4) cucumber (>= 5, < 10) - railties (>= 5.2, < 8) - cucumber-tag-expressions (6.1.0) - cuprite (0.15.1) + railties (>= 5.2, < 9) + 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) - date (3.3.4) + date (3.4.1) devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) 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) @@ -189,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.5) + 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 @@ -204,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.1) + importmap-rails (2.1.0) actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - inherited_resources (2.0.0) - 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.7.2) - irb (1.14.0) + io-console (0.8.0) + irb (1.15.2) + pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) iso (0.4.0) @@ -232,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.1) - loofah (2.22.0) + logger (~> 1.6) + logger (1.7.0) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -247,75 +258,79 @@ GEM marcel (1.0.4) matrix (0.4.2) mini_mime (1.1.5) - mini_portile2 (2.8.7) - minitest (5.25.1) + mini_portile2 (2.8.9) + minitest (5.25.5) multi_test (1.1.0) - mutex_m (0.2.0) - net-imap (0.4.16) + mutex_m (0.3.0) + 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.3) - nokogiri (1.16.7) + nio4r (2.7.4) + nokogiri (1.18.8) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.7-arm64-darwin) + nokogiri (1.18.8-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-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.5.0) + parser (3.3.8.0) ast (~> 2.4.1) racc - psych (5.1.2) + 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.7) - rack-session (2.0.0) + rack (3.1.15) + 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.1.0) + rackup (2.2.1) rack (>= 3) - webrick (~> 1.8) - rails (7.1.4) - actioncable (= 7.1.4) - actionmailbox (= 7.1.4) - actionmailer (= 7.1.4) - actionpack (= 7.1.4) - actiontext (= 7.1.4) - actionview (= 7.1.4) - activejob (= 7.1.4) - activemodel (= 7.1.4) - activerecord (= 7.1.4) - activestorage (= 7.1.4) - activesupport (= 7.1.4) + 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.4) - 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.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) - rails-i18n (7.0.9) + 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.4) - actionpack (= 7.1.4) - activesupport (= 7.1.4) + railties (7.1.5.1) + actionpack (= 7.1.5.1) + activesupport (= 7.1.5.1) irb rackup (>= 1.0.0) rake (>= 12.2) @@ -323,30 +338,31 @@ GEM zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.2.1) - ransack (4.2.1) + ransack (4.3.0) activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - rdoc (6.7.0) + rdoc (6.14.0) + erb psych (>= 4.0.0) - regexp_parser (2.9.2) - reline (0.5.10) + 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.7) - rspec-core (3.13.1) + rexml (3.4.1) + rspec-core (3.13.3) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.4) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.4) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.0.1) + rspec-rails (7.1.1) actionpack (>= 7.0) activesupport (>= 7.0) railties (>= 7.0) @@ -354,8 +370,10 @@ GEM rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.1) + rspec-support (3.13.3) + ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) + securerandom (0.4.1) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -365,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.0.4) + sqlite3 (2.6.0) mini_portile2 (~> 2.8.0) - sqlite3 (2.0.4-arm64-darwin) - sqlite3 (2.0.4-x86_64-linux-gnu) - stringio (3.1.1) - sys-uname (1.3.0) + 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.1) + 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.8.1) - websocket-driver (0.7.6) + webrick (1.9.1) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) @@ -412,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 @@ -429,6 +452,7 @@ DEPENDENCIES sprockets-rails sqlite3 webrick + zeitwerk (~> 2.6.18) BUNDLED WITH - 2.5.18 + 2.6.9 diff --git a/gemfiles/rails_61/Gemfile b/gemfiles/rails_72/Gemfile similarity index 63% rename from gemfiles/rails_61/Gemfile rename to gemfiles/rails_72/Gemfile index 4b5f4b12729..fb457a811e6 100644 --- a/gemfiles/rails_61/Gemfile +++ b/gemfiles/rails_72/Gemfile @@ -6,18 +6,24 @@ group :development, :test do gem "cancancan" gem "pundit" - gem "jruby-openssl", platform: :jruby gem "draper" gem "devise" - gem "rails", "~> 6.1.0" - gem "activerecord-jdbcsqlite3-adapter", platform: :jruby + gem "rails", "~> 7.2.0" gem "sprockets-rails" + gem "ransack", ">= 4.1.0" + gem "formtastic", ">= 5.0.0" 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 group :test do @@ -31,9 +37,9 @@ 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 + gem "sqlite3", platform: :mri # Translations gem "i18n-tasks" diff --git a/gemfiles/rails_61/Gemfile.lock b/gemfiles/rails_72/Gemfile.lock similarity index 51% rename from gemfiles/rails_61/Gemfile.lock rename to gemfiles/rails_72/Gemfile.lock index 25a639e1503..354b07f798e 100644 --- a/gemfiles/rails_61/Gemfile.lock +++ b/gemfiles/rails_72/Gemfile.lock @@ -1,89 +1,103 @@ PATH remote: ../.. specs: - activeadmin (4.0.0.beta12) + 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 (>= 6.1) + railties (>= 7.0) ransack (>= 4.0) GEM remote: https://rubygems.org/ specs: - actioncable (6.1.7.8) - actionpack (= 6.1.7.8) - activesupport (= 6.1.7.8) + actioncable (7.2.2.1) + actionpack (= 7.2.2.1) + activesupport (= 7.2.2.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.8) - actionpack (= 6.1.7.8) - activejob (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) - mail (>= 2.7.1) - actionmailer (6.1.7.8) - actionpack (= 6.1.7.8) - actionview (= 6.1.7.8) - activejob (= 6.1.7.8) - activesupport (= 6.1.7.8) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (6.1.7.8) - actionview (= 6.1.7.8) - activesupport (= 6.1.7.8) - rack (~> 2.0, >= 2.0.9) + zeitwerk (~> 2.6) + 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.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.1) + actionview (= 7.2.2.1) + activesupport (= 7.2.2.1) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4, < 3.2) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.8) - actionpack (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + useragent (~> 0.16) + 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 (6.1.7.8) - activesupport (= 6.1.7.8) + actionview (7.2.2.1) + activesupport (= 7.2.2.1) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.1.7.8) - activesupport (= 6.1.7.8) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activejob (7.2.2.1) + activesupport (= 7.2.2.1) globalid (>= 0.3.6) - activemodel (6.1.7.8) - activesupport (= 6.1.7.8) - activemodel-serializers-xml (1.0.2) - activemodel (> 5.x) - activesupport (> 5.x) + 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 (6.1.7.8) - activemodel (= 6.1.7.8) - activesupport (= 6.1.7.8) - activestorage (6.1.7.8) - actionpack (= 6.1.7.8) - activejob (= 6.1.7.8) - activerecord (= 6.1.7.8) - activesupport (= 6.1.7.8) + activerecord (7.2.2.1) + activemodel (= 7.2.2.1) + activesupport (= 7.2.2.1) + timeout (>= 0.4.0) + 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) - mini_mime (>= 1.1.0) - activesupport (6.1.7.8) - concurrent-ruby (~> 1.0, >= 1.0.2) + activesupport (7.2.2.1) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - tzinfo (~> 2.0) - zeitwerk (~> 2.3) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - arbre (2.0.1) - activesupport (>= 3.0.0) - ast (2.4.2) + arbre (2.2.0) + activesupport (>= 7.0) + ast (2.4.3) + base64 (0.2.0) bcrypt (3.1.20) - bigdecimal (3.1.8) + benchmark (0.4.0) + bigdecimal (3.1.9) builder (3.3.0) cancancan (3.6.1) capybara (3.40.0) @@ -95,14 +109,16 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) + cgi (0.4.2) childprocess (5.1.0) logger (~> 1.5) - concurrent-ruby (1.3.4) + 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.4) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -123,46 +139,50 @@ 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.0.0) + cucumber-rails (3.1.1) capybara (>= 3.11, < 4) cucumber (>= 5, < 10) - railties (>= 5.2, < 8) - cucumber-tag-expressions (6.1.0) - cuprite (0.15.1) + railties (>= 5.2, < 9) + 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) - date (3.3.4) + date (3.4.1) devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) 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) + 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) @@ -171,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.5) + 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 @@ -186,17 +206,22 @@ 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.1) + importmap-rails (2.1.0) actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - inherited_resources (2.0.0) - 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.7.2) + io-console (0.8.0) + irb (1.15.2) + pp (>= 0.6.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) iso (0.4.0) i18n kaminari (1.2.2) @@ -211,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.1) - loofah (2.22.0) + logger (~> 1.6) + logger (1.7.0) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -225,106 +251,122 @@ GEM net-smtp marcel (1.0.4) matrix (0.4.2) - method_source (1.1.0) mini_mime (1.1.5) - mini_portile2 (2.8.7) - minitest (5.25.1) + mini_portile2 (2.8.9) + minitest (5.25.5) multi_test (1.1.0) - net-imap (0.4.16) + 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.3) - nokogiri (1.16.7) + nio4r (2.7.4) + nokogiri (1.18.8) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.7-arm64-darwin) + nokogiri (1.18.8-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-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.5.0) + parser (3.3.8.0) ast (~> 2.4.1) racc - public_suffix (6.0.1) - pundit (2.4.0) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + psych (5.2.6) + date + stringio + public_suffix (6.0.2) + pundit (2.5.0) activesupport (>= 3.0.0) racc (1.8.1) - rack (2.2.9) - rack-test (2.1.0) + rack (3.1.15) + rack-session (2.1.1) + base64 (>= 0.1.0) + rack (>= 3.0.0) + rack-test (2.2.0) rack (>= 1.3) - rails (6.1.7.8) - actioncable (= 6.1.7.8) - actionmailbox (= 6.1.7.8) - actionmailer (= 6.1.7.8) - actionpack (= 6.1.7.8) - actiontext (= 6.1.7.8) - actionview (= 6.1.7.8) - activejob (= 6.1.7.8) - activemodel (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) + rackup (2.2.1) + rack (>= 3) + 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 (= 6.1.7.8) - sprockets-rails (>= 2.0.0) - 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.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) - rails-i18n (7.0.9) + 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 (6.1.7.8) - actionpack (= 6.1.7.8) - activesupport (= 6.1.7.8) - method_source + 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) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.2.1) - ransack (4.2.1) + ransack (4.3.0) activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - regexp_parser (2.9.2) - reline (0.5.10) + rdoc (6.14.0) + erb + psych (>= 4.0.0) + 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.7) - rspec-core (3.13.1) + rexml (3.4.1) + rspec-core (3.13.3) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.4) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.4) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.5) - actionpack (>= 6.1) - activesupport (>= 6.1) - railties (>= 6.1) + 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.1) + rspec-support (3.13.3) + ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) + securerandom (0.4.1) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -334,30 +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 (1.7.3) + sqlite3 (2.6.0) mini_portile2 (~> 2.8.0) - sqlite3 (1.7.3-arm64-darwin) - sqlite3 (1.7.3-x86_64-linux) - sys-uname (1.3.0) + 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.1) + 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) + useragent (0.16.11) warden (1.2.9) rack (>= 2.0.9) - webrick (1.8.1) - websocket-driver (0.7.6) + webrick (1.9.1) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) @@ -365,13 +413,12 @@ GEM zeitwerk (2.6.18) PLATFORMS - arm64-darwin-23 + arm64-darwin ruby x86_64-linux DEPENDENCIES activeadmin! - activerecord-jdbcsqlite3-adapter cancancan capybara cssbundling-rails @@ -381,22 +428,25 @@ DEPENDENCIES database_cleaner-active_record devise draper + erb (~> 4.0) + formtastic (>= 5.0.0) i18n-spec i18n-tasks importmap-rails - jruby-openssl launchy - parallel_tests + parallel_tests (~> 4.9) pundit - rails (~> 6.1.0) + rails (~> 7.2.0) rails-i18n rake + ransack (>= 4.1.0) rspec-rails simplecov simplecov-cobertura sprockets-rails - sqlite3 (~> 1.7) + sqlite3 webrick + zeitwerk (~> 2.6.18) BUNDLED WITH - 2.5.18 + 2.6.9 diff --git a/lib/active_admin.rb b/lib/active_admin.rb index 4cbbab6f752..148f34468e2 100644 --- a/lib/active_admin.rb +++ b/lib/active_admin.rb @@ -125,12 +125,12 @@ def wrap_block_for_active_support_notifications block end # Require things that don't support autoload -require "active_admin/engine" -require "active_admin/error" +require_relative "active_admin/engine" +require_relative "active_admin/error" # Require internal plugins -require "active_admin/batch_actions" -require "active_admin/filters" +require_relative "active_admin/batch_actions" +require_relative "active_admin/filters" # Require ORM-specific plugins -require "active_admin/orm/active_record" if defined? ActiveRecord +require_relative "active_admin/orm/active_record" if defined? ActiveRecord diff --git a/lib/active_admin/application.rb b/lib/active_admin/application.rb index 6597e2d7756..8be729c29bc 100644 --- a/lib/active_admin/application.rb +++ b/lib/active_admin/application.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -require "active_admin/router" -require "active_admin/application_settings" -require "active_admin/namespace_settings" +require_relative "router" +require_relative "application_settings" +require_relative "namespace_settings" module ActiveAdmin class Application @@ -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/application_settings.rb b/lib/active_admin/application_settings.rb index b6ad0ecdc6e..362705b21fd 100644 --- a/lib/active_admin/application_settings.rb +++ b/lib/active_admin/application_settings.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "active_admin/settings_node" +require_relative "settings_node" module ActiveAdmin class ApplicationSettings < SettingsNode diff --git a/lib/active_admin/batch_actions.rb b/lib/active_admin/batch_actions.rb index f0da8746221..91a362da38b 100644 --- a/lib/active_admin/batch_actions.rb +++ b/lib/active_admin/batch_actions.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true ActiveAdmin.before_load do |app| - require "active_admin/batch_actions/resource_extension" - require "active_admin/batch_actions/controller" + require_relative "batch_actions/resource_extension" + require_relative "batch_actions/controller" # Add our Extensions ActiveAdmin::Resource.send :include, ActiveAdmin::BatchActions::ResourceExtension ActiveAdmin::ResourceController.send :include, ActiveAdmin::BatchActions::Controller - require "active_admin/batch_actions/views/batch_action_form" - require "active_admin/batch_actions/views/selection_cells" + require_relative "batch_actions/views/batch_action_form" + require_relative "batch_actions/views/selection_cells" 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/batch_actions/views/batch_action_form.rb b/lib/active_admin/batch_actions/views/batch_action_form.rb index 7790e74bd36..6dbf41f131b 100644 --- a/lib/active_admin/batch_actions/views/batch_action_form.rb +++ b/lib/active_admin/batch_actions/views/batch_action_form.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "active_admin/component" +require_relative "../../component" module ActiveAdmin module BatchActions diff --git a/lib/active_admin/batch_actions/views/selection_cells.rb b/lib/active_admin/batch_actions/views/selection_cells.rb index e118b0578c9..57d1afeb4cd 100644 --- a/lib/active_admin/batch_actions/views/selection_cells.rb +++ b/lib/active_admin/batch_actions/views/selection_cells.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "active_admin/component" +require_relative "../../component" module ActiveAdmin module BatchActions 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/dynamic_settings_node.rb b/lib/active_admin/dynamic_settings_node.rb index e7f9c0ae9d1..9227ea2db9e 100644 --- a/lib/active_admin/dynamic_settings_node.rb +++ b/lib/active_admin/dynamic_settings_node.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require "active_admin/dynamic_setting" -require "active_admin/settings_node" +require_relative "dynamic_setting" +require_relative "settings_node" module ActiveAdmin diff --git a/lib/active_admin/engine.rb b/lib/active_admin/engine.rb index 0eecded3d2c..0d1930bc2bc 100644 --- a/lib/active_admin/engine.rb +++ b/lib/active_admin/engine.rb @@ -35,7 +35,7 @@ class Engine < ::Rails::Engine end initializer "active_admin.routes" do - require "active_admin/helpers/routes/url_helpers" + require_relative "helpers/routes/url_helpers" end initializer "active_admin.deprecator" do |app| diff --git a/lib/active_admin/filters.rb b/lib/active_admin/filters.rb index 79abde58216..c69094f5d99 100644 --- a/lib/active_admin/filters.rb +++ b/lib/active_admin/filters.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -require "active_admin/filters/dsl" -require "active_admin/filters/resource_extension" -require "active_admin/filters/formtastic_addons" -require "active_admin/filters/forms" -require "active_admin/helpers/optional_display" +require_relative "filters/dsl" +require_relative "filters/resource_extension" +require_relative "filters/formtastic_addons" +require_relative "filters/forms" +require_relative "helpers/optional_display" # Add our Extensions ActiveAdmin::ResourceDSL.send :include, ActiveAdmin::Filters::DSL diff --git a/lib/active_admin/filters/active.rb b/lib/active_admin/filters/active.rb index 0d894c7d65e..2d9bc43ad89 100644 --- a/lib/active_admin/filters/active.rb +++ b/lib/active_admin/filters/active.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "active_admin/filters/active_filter" +require_relative "active_filter" module ActiveAdmin module Filters @@ -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 78a69d07e78..1e73d0af880 100644 --- a/lib/active_admin/filters/resource_extension.rb +++ b/lib/active_admin/filters/resource_extension.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "active_admin/filters/active" +require_relative "active" module ActiveAdmin module Filters @@ -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 f228a7f5a1f..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" @@ -95,7 +91,7 @@ def content_has_many(&block) contents = without_wrapper { inputs(options, &form_block) } contents ||= "".html_safe - js = new_record ? js_for_has_many(options[:class], &form_block) : "" + js = new_record ? js_for_has_many(&form_block) : "" contents << js end @@ -159,14 +155,13 @@ def without_wrapper end # Capture the ADD JS - def js_for_has_many(class_string, &form_block) + def js_for_has_many(&form_block) assoc_name = assoc_klass.model_name placeholder = "NEW_#{assoc_name.to_s.underscore.upcase.tr('/', '_')}_RECORD" - opts = { + opts = options.merge( for: [assoc, assoc_klass.new], - class: class_string, for_options: { child_index: placeholder } - } + ) html = template.capture { __getobj__.send(:inputs_for_nested_attributes, opts, &form_block) } text = new_record.is_a?(String) ? new_record : I18n.t("active_admin.has_many_new", model: assoc_name.human) 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/localizers.rb b/lib/active_admin/localizers.rb index 9d5f8a44fd7..a0a8f1f4b12 100644 --- a/lib/active_admin/localizers.rb +++ b/lib/active_admin/localizers.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "active_admin/localizers/resource_localizer" +require_relative "localizers/resource_localizer" module ActiveAdmin module Localizers diff --git a/lib/active_admin/menu_item.rb b/lib/active_admin/menu_item.rb index b4949896da8..e9b3f707671 100644 --- a/lib/active_admin/menu_item.rb +++ b/lib/active_admin/menu_item.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require 'active_admin/view_helpers/method_or_proc_helper' +require_relative "view_helpers/method_or_proc_helper" module ActiveAdmin class MenuItem diff --git a/lib/active_admin/namespace.rb b/lib/active_admin/namespace.rb index 09f14915cb7..7c28032123a 100644 --- a/lib/active_admin/namespace.rb +++ b/lib/active_admin/namespace.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "active_admin/resource_collection" +require_relative "resource_collection" module ActiveAdmin diff --git a/lib/active_admin/namespace_settings.rb b/lib/active_admin/namespace_settings.rb index 449ef59ad0d..83f2ea9e98c 100644 --- a/lib/active_admin/namespace_settings.rb +++ b/lib/active_admin/namespace_settings.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "active_admin/dynamic_settings_node" +require_relative "dynamic_settings_node" module ActiveAdmin class NamespaceSettings < DynamicSettingsNode diff --git a/lib/active_admin/orm/active_record.rb b/lib/active_admin/orm/active_record.rb index 37c166cd197..7fa22c66cc7 100644 --- a/lib/active_admin/orm/active_record.rb +++ b/lib/active_admin/orm/active_record.rb @@ -3,4 +3,4 @@ ActiveAdmin::DatabaseHitDuringLoad.database_error_classes << ActiveRecord::StatementInvalid -require "active_admin/orm/active_record/comments" +require_relative "active_record/comments" diff --git a/lib/active_admin/orm/active_record/comments.rb b/lib/active_admin/orm/active_record/comments.rb index 0092e4eddcf..5f0cc82e1df 100644 --- a/lib/active_admin/orm/active_record/comments.rb +++ b/lib/active_admin/orm/active_record/comments.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -require "active_admin/orm/active_record/comments/views" -require "active_admin/orm/active_record/comments/namespace_helper" -require "active_admin/orm/active_record/comments/resource_helper" +require_relative "comments/views" +require_relative "comments/namespace_helper" +require_relative "comments/resource_helper" # Add the comments configuration ActiveAdmin::Application.inheritable_setting :comments, true diff --git a/lib/active_admin/orm/active_record/comments/views.rb b/lib/active_admin/orm/active_record/comments/views.rb index 94daaf79973..f844704792b 100644 --- a/lib/active_admin/orm/active_record/comments/views.rb +++ b/lib/active_admin/orm/active_record/comments/views.rb @@ -1,3 +1,3 @@ # frozen_string_literal: true -require "active_admin/views" -require "active_admin/orm/active_record/comments/views/active_admin_comments" +require_relative "../../../views" +require_relative "views/active_admin_comments" diff --git a/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb b/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb index 47c056a94a7..fdaa962f55a 100644 --- a/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +++ b/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "active_admin/views" +require_relative "../../../../views" module ActiveAdmin module Comments diff --git a/lib/active_admin/pundit_adapter.rb b/lib/active_admin/pundit_adapter.rb index 5dccb2651e8..c81abe11ce4 100644 --- a/lib/active_admin/pundit_adapter.rb +++ b/lib/active_admin/pundit_adapter.rb @@ -23,7 +23,7 @@ def scope_collection(collection, action = Auth::READ) # which means there is no way how to scope other actions Pundit.policy_scope!(user, namespace(collection)) rescue Pundit::NotDefinedError => e - if default_policy_class && default_policy_class.const_defined?(:Scope) + if default_policy_class&.const_defined?(:Scope) default_policy_class::Scope.new(user, collection).resolve else raise e @@ -95,7 +95,7 @@ def namespace(object) end def default_policy_class - ActiveAdmin.application.pundit_default_policy && ActiveAdmin.application.pundit_default_policy.constantize + ActiveAdmin.application.pundit_default_policy&.constantize end def default_policy(subject) diff --git a/lib/active_admin/resource.rb b/lib/active_admin/resource.rb index 2ccda9d1d1f..555545ddfc3 100644 --- a/lib/active_admin/resource.rb +++ b/lib/active_admin/resource.rb @@ -1,20 +1,20 @@ # frozen_string_literal: true -require "active_admin/view_helpers/method_or_proc_helper" -require "active_admin/resource/action_items" -require "active_admin/resource/attributes" -require "active_admin/resource/controllers" -require "active_admin/resource/menu" -require "active_admin/resource/page_presenters" -require "active_admin/resource/pagination" -require "active_admin/resource/routes" -require "active_admin/resource/naming" -require "active_admin/resource/scopes" -require "active_admin/resource/includes" -require "active_admin/resource/scope_to" -require "active_admin/resource/sidebars" -require "active_admin/resource/belongs_to" -require "active_admin/resource/ordering" -require "active_admin/resource/model" +require_relative "view_helpers/method_or_proc_helper" +require_relative "resource/action_items" +require_relative "resource/attributes" +require_relative "resource/controllers" +require_relative "resource/menu" +require_relative "resource/page_presenters" +require_relative "resource/pagination" +require_relative "resource/routes" +require_relative "resource/naming" +require_relative "resource/scopes" +require_relative "resource/includes" +require_relative "resource/scope_to" +require_relative "resource/sidebars" +require_relative "resource/belongs_to" +require_relative "resource/ordering" +require_relative "resource/model" module ActiveAdmin @@ -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 a59e0bd663f..0dc825392e0 100644 --- a/lib/active_admin/resource/action_items.rb +++ b/lib/active_admin/resource/action_items.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "active_admin/helpers/optional_display" +require_relative "../helpers/optional_display" module ActiveAdmin @@ -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 45d771c763f..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 "active_admin/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/sidebars.rb b/lib/active_admin/resource/sidebars.rb index 53352320500..7d73d44456b 100644 --- a/lib/active_admin/resource/sidebars.rb +++ b/lib/active_admin/resource/sidebars.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "active_admin/helpers/optional_display" +require_relative "../helpers/optional_display" module ActiveAdmin 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/version.rb b/lib/active_admin/version.rb index bb966fa6fab..4669d121b6e 100644 --- a/lib/active_admin/version.rb +++ b/lib/active_admin/version.rb @@ -1,4 +1,4 @@ # frozen_string_literal: true module ActiveAdmin - VERSION = "4.0.0.beta12" + VERSION = "4.0.0.beta15" end 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/active_admin_form.rb b/lib/active_admin/views/components/active_admin_form.rb index 23d72337f07..27c91e951ff 100644 --- a/lib/active_admin/views/components/active_admin_form.rb +++ b/lib/active_admin/views/components/active_admin_form.rb @@ -132,23 +132,11 @@ def build(form_builder, *args, &block) legend = args.shift if args.first.is_a?(::String) legend = html_options.delete(:name) if html_options.key?(:name) legend_tag = legend ? helpers.tag.legend(legend, class: "fieldset-title") : "" - fieldset_attrs = tag_attributes html_options + fieldset_attrs = helpers.tag.attributes html_options @opening_tag = "" super(*(args << html_options), &block) end - - private - - def tag_attributes(html_options) - if Rails::VERSION::MAJOR <= 6 - # Reimplement tag.attributes to backport support for Rails 6.1. - # TODO: this can be removed when support for Rails 6.x is dropped - helpers.tag.tag_options(html_options.to_h).to_s.strip.html_safe - else - helpers.tag.attributes html_options - end - end end class SemanticActionsProxy < FormtasticProxy diff --git a/lib/active_admin/views/components/scopes.rb b/lib/active_admin/views/components/scopes.rb index 99610e42ee3..c7f89ced7b5 100644 --- a/lib/active_admin/views/components/scopes.rb +++ b/lib/active_admin/views/components/scopes.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require "active_admin/async_count" -require "active_admin/view_helpers/method_or_proc_helper" +require_relative "../../async_count" +require_relative "../../view_helpers/method_or_proc_helper" module ActiveAdmin module Views 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/lib/activeadmin.rb b/lib/activeadmin.rb index 90e42f4981f..9ebd064ec35 100644 --- a/lib/activeadmin.rb +++ b/lib/activeadmin.rb @@ -1,2 +1,2 @@ # frozen_string_literal: true -require "active_admin" +require_relative "active_admin" diff --git a/lib/generators/active_admin/assets/templates/tailwind.config.js b/lib/generators/active_admin/assets/templates/tailwind.config.js index 57cc4f963f5..59bb743bf27 100644 --- a/lib/generators/active_admin/assets/templates/tailwind.config.js +++ b/lib/generators/active_admin/assets/templates/tailwind.config.js @@ -1,7 +1,9 @@ -const execSync = require('child_process').execSync; +import { execSync } from 'child_process'; +import activeAdminPlugin from '@activeadmin/activeadmin/plugin'; + const activeAdminPath = execSync('bundle show activeadmin', { encoding: 'utf-8' }).trim(); -module.exports = { +export default { content: [ `${activeAdminPath}/vendor/javascript/flowbite.js`, `${activeAdminPath}/plugin.js`, @@ -14,6 +16,6 @@ module.exports = { ], darkMode: "selector", plugins: [ - require(`@activeadmin/activeadmin/plugin`) + activeAdminPlugin ] } diff --git a/lib/generators/active_admin/devise/devise_generator.rb b/lib/generators/active_admin/devise/devise_generator.rb index 544902eb2a0..2e764a6d6e2 100644 --- a/lib/generators/active_admin/devise/devise_generator.rb +++ b/lib/generators/active_admin/devise/devise_generator.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require "active_admin/error" -require "active_admin/dependency" +require_relative "../../../active_admin/error" +require_relative "../../../active_admin/dependency" module ActiveAdmin module Generators diff --git a/package.json b/package.json index fb4771eff41..7a578c170d6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@activeadmin/activeadmin", - "version": "4.0.0-beta12", + "version": "4.0.0-beta15", "description": "The administration framework for Ruby on Rails.", "main": "dist/active_admin.js", "type": "module", @@ -26,20 +26,24 @@ "homepage": "https://activeadmin.info", "devDependencies": { "@rollup/plugin-alias": "^5.1.0", - "eslint": "^9.8.0", + "eslint": "^9.27.0", "gherkin-lint": "^4.2.2", - "rollup": "^4.19.2", - "tailwindcss": "^3.3.5" + "rollup": "^4.41.0", + "tailwindcss": "^3.4.17", + "vitepress": "^1.6.3" }, "scripts": { "gherkin-lint": "gherkin-lint", "lint": "eslint .", "prebuild": "npm run lint && rm -rf dist", "build": "rollup --config rollup.config.js", - "prepublishOnly": "npm run build" + "prepublishOnly": "npm run build", + "docs:dev": "vitepress dev docs", + "docs:build": "vitepress build docs", + "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/plugin.js b/plugin.js index cab6daf64cb..9f24a5f2811 100644 --- a/plugin.js +++ b/plugin.js @@ -1,6 +1,6 @@ -const plugin = require('tailwindcss/plugin') -const defaultTheme = require('tailwindcss/defaultTheme'); -const colors = require('tailwindcss/colors'); +import plugin from 'tailwindcss/plugin'; +import defaultTheme from 'tailwindcss/defaultTheme'; +import colors from 'tailwindcss/colors'; const { spacing, borderWidth, borderRadius } = defaultTheme; // https://github.com/tailwindlabs/tailwindcss/discussions/9336 @@ -28,7 +28,7 @@ const svgToTinyDataUri = (() => { return svgToTinyDataUri; })(); -module.exports = plugin( +export default plugin( function({ addBase, addComponents, theme }) { addBase({ [[ 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/support/rails_template.rb b/spec/support/rails_template.rb index 93047e52d91..187ba4a00e0 100644 --- a/spec/support/rails_template.rb +++ b/spec/support/rails_template.rb @@ -2,6 +2,9 @@ # Rails template to build the sample app for specs gem "cssbundling-rails" + +create_file "app/assets/config/manifest.js" + rails_command "css:install:tailwind" rails_command "importmap:install" @@ -44,6 +47,10 @@ copy_file File.expand_path("templates/helpers/time_helper.rb", __dir__), "app/helpers/time_helper.rb" +copy_file File.expand_path("templates/models/company.rb", __dir__), "app/models/company.rb" +template File.expand_path("templates/migrations/create_companies.tt", __dir__), "db/migrate/#{initial_timestamp + 8}_create_companies.rb" +template File.expand_path("templates/migrations/create_join_table_companies_stores.tt", __dir__), "db/migrate/#{initial_timestamp + 9}_create_join_table_companies_stores.rb" + inject_into_file "app/models/application_record.rb", before: "end" do <<-RUBY @@ -90,7 +97,7 @@ def self.ransackable_associations(auth_object=nil) gsub_file "tailwind-active_admin.config.js", /^.*const activeAdminPath.*$/, <<~JS const activeAdminPath = '../../../'; JS -gsub_file "tailwind-active_admin.config.js", /@activeadmin\/activeadmin/, "${activeAdminPath}" +gsub_file "tailwind-active_admin.config.js", Regexp.new("@activeadmin/activeadmin/plugin"), "../../../plugin" # Force strong parameters to raise exceptions inject_into_file "config/application.rb", after: "class Application < Rails::Application" do diff --git a/spec/support/templates/admin/companies.rb b/spec/support/templates/admin/companies.rb new file mode 100644 index 00000000000..5094c380ef2 --- /dev/null +++ b/spec/support/templates/admin/companies.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true +ActiveAdmin.register Company do + permit_params :name, store_ids: [] + + form do |f| + f.inputs 'Company' do + f.input :name + f.input :stores + end + f.actions + end + + show do + attributes_table :name, :stores, :created_at, :update_at + end +end diff --git a/spec/support/templates/migrations/create_companies.tt b/spec/support/templates/migrations/create_companies.tt new file mode 100644 index 00000000000..5c19d956c86 --- /dev/null +++ b/spec/support/templates/migrations/create_companies.tt @@ -0,0 +1,9 @@ +class CreateCompanies < ActiveRecord::Migration[<%= Rails::VERSION::MAJOR %>.<%= Rails::VERSION::MINOR %>] + def change + create_table :companies do |t| + t.string :name + t.datetime :created_at + t.datetime :updated_at + end + end +end diff --git a/spec/support/templates/migrations/create_join_table_companies_stores.tt b/spec/support/templates/migrations/create_join_table_companies_stores.tt new file mode 100644 index 00000000000..57b391f68ce --- /dev/null +++ b/spec/support/templates/migrations/create_join_table_companies_stores.tt @@ -0,0 +1,5 @@ +class CreateJoinTableCompaniesStores < ActiveRecord::Migration[<%= Rails::VERSION::MAJOR %>.<%= Rails::VERSION::MINOR %>] + def change + create_join_table :companies, :stores + end +end diff --git a/spec/support/templates/models/company.rb b/spec/support/templates/models/company.rb new file mode 100644 index 00000000000..7b7ec03c715 --- /dev/null +++ b/spec/support/templates/models/company.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true +class Company < ApplicationRecord + has_and_belongs_to_many :stores + + validates :name, presence: true +end diff --git a/spec/support/templates/policies/company_policy.rb b/spec/support/templates/policies/company_policy.rb new file mode 100644 index 00000000000..385626ffb2f --- /dev/null +++ b/spec/support/templates/policies/company_policy.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true +class CompanyPolicy < ApplicationPolicy +end diff --git a/spec/support/templates/views/admin/posts/_starred_batch_action_form.html.erb b/spec/support/templates/views/admin/posts/_starred_batch_action_form.html.erb index 3f8bd74d5e8..8b5cd0420db 100644 --- a/spec/support/templates/views/admin/posts/_starred_batch_action_form.html.erb +++ b/spec/support/templates/views/admin/posts/_starred_batch_action_form.html.erb @@ -18,8 +18,7 @@
u&&(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&&od;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-h