activeadmin 4.0.0.beta3 → 4.0.0.beta9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -2
  3. data/CONTRIBUTING.md +8 -12
  4. data/README.md +2 -2
  5. data/UPGRADING.md +6 -4
  6. data/app/controllers/active_admin/base_controller/authorization.rb +1 -1
  7. data/app/controllers/active_admin/resource_controller.rb +1 -1
  8. data/app/javascript/active_admin/features/batch_actions.js +10 -4
  9. data/app/views/active_admin/_main_navigation.html.erb +2 -2
  10. data/app/views/active_admin/_site_header.html.erb +3 -3
  11. data/app/views/active_admin/kaminari/_next_page.html.erb +1 -1
  12. data/app/views/active_admin/kaminari/_prev_page.html.erb +1 -1
  13. data/app/views/active_admin/resource/index.html.arb +1 -1
  14. data/config/importmap.rb +1 -1
  15. data/config/locales/ca.yml +85 -32
  16. data/config/locales/de.yml +16 -12
  17. data/config/locales/en.yml +6 -4
  18. data/config/locales/fr.yml +2 -4
  19. data/config/locales/it.yml +15 -7
  20. data/config/locales/nl.yml +2 -4
  21. data/config/locales/zh-CN.yml +4 -0
  22. data/config/locales/zh-TW.yml +49 -19
  23. data/lib/active_admin/batch_actions/resource_extension.rb +1 -1
  24. data/lib/active_admin/collection_decorator.rb +1 -1
  25. data/lib/active_admin/dsl.rb +1 -1
  26. data/lib/active_admin/engine.rb +4 -1
  27. data/lib/active_admin/pundit_adapter.rb +2 -2
  28. data/lib/active_admin/resource/attributes.rb +8 -1
  29. data/lib/active_admin/resource/page_presenters.rb +2 -2
  30. data/lib/active_admin/version.rb +1 -1
  31. data/lib/active_admin/views/components/active_admin_form.rb +1 -1
  32. data/lib/active_admin/views/components/panel.rb +1 -1
  33. data/lib/active_admin/views/components/scopes.rb +1 -1
  34. data/lib/active_admin/views/components/tabs.rb +2 -2
  35. data/lib/active_admin.rb +6 -1
  36. data/lib/generators/active_admin/assets/templates/tailwind.config.js +1 -1
  37. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +1 -1
  38. data/lib/generators/active_admin/resource/resource_generator.rb +6 -2
  39. data/lib/generators/active_admin/resource/templates/resource.rb.erb +2 -2
  40. data/plugin.js +4 -5
  41. data/vendor/javascript/flowbite.js +1 -2
  42. data/vendor/javascript/rails_ujs_esm.js +1 -0
  43. metadata +21 -8
  44. data/config/i18n-tasks.yml +0 -37
  45. data/config/locales/de-CH.yml +0 -84
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a88812de83608d40122d0287fed77af0d4656bbee68fadfd79c677454199f4a
4
- data.tar.gz: 34f685397087cba22f5e6cafd177408ed59a6f017d8a6547f12c0ee0729e99d4
3
+ metadata.gz: 2f3c2998aa1c2b5375196a1f9ee0284c699e72a7637f9feab724c46ba0701cee
4
+ data.tar.gz: 670befa4df9c7d9634320c2735254a420adf7062789ec47ca4bdaa46c8915328
5
5
  SHA512:
6
- metadata.gz: 244c91983c690cfd851ef194b738034276a5d8f1b1d78006dcb9ae03b5c920c15a981e1b363b292282db4fa8952a463b6b9081ec1bcb2b38a6fa0376792e9982
7
- data.tar.gz: 4530d4d1123d312caf97bdee815beca6d2aa030de6c1e0a13f40258cefb5c6e04eec467ba304edfd4c917c41c3f93e564c8362889ceb842b83e8df5a180a4295
6
+ metadata.gz: bc6cab08a78331723344a4307ac5259f30e090e69d6438433697fbf96d43df7a11ca5f5e88d19a3e0c7cf83f833a99d663e74df4f37122b8c1d71375c8c08bea
7
+ data.tar.gz: 927876e56533e12df325ab50e86058dce84cb47133924fc92559ce7329b376ef6d7f574ee35517ac4115f43cd49469a5ddc308716c51621fe726ff219895950f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,22 @@
1
1
  # Changelog
2
2
 
3
- ## Unreleased
3
+ [Future changelogs have moved to GitHub Releases](https://github.com/activeadmin/activeadmin/releases)
4
+
5
+ ## 3.2.0 [☰](https://github.com/activeadmin/activeadmin/compare/v3.1.0..v3.2.0)
6
+
7
+ ### Security Fixes
8
+
9
+ * Backport protect against CSV Injection. [#8167] by [@mgrunberg]
10
+
11
+ ### Enhancements
12
+
13
+ * Backport support citext column type in string filter. [#8165] by [@mgrunberg]
14
+ * Backport provide detail in DB statement timeout error for filters. [#8163] by [@mgrunberg]
15
+
16
+ ### Bug Fixes
17
+
18
+ * Backport make sure menu creation does not modify menu options. [#8166] by [@mgrunberg]
19
+ * Backport ransack error with filters when ActiveStorage is used. [#8164] by [@mgrunberg]
4
20
 
5
21
  ## 3.1.0 [☰](https://github.com/activeadmin/activeadmin/compare/v3.0.0..v3.1.0)
6
22
 
@@ -435,7 +451,7 @@ _No changes_.
435
451
  * Fixed `if:` scope option when a lambda is passed. [#5501] by [@deivid-rodriguez]
436
452
  * Comment validation adding redundant errors when resource is missing. [#5517] by [@deivid-rodriguez]
437
453
  * Fixed resource filtering by association when the resource has custom primary key. [#5446] by [@wasifhossain]
438
- * Fixed "create anoter" checkbox styling. [#5324] by [@faucct]
454
+ * Fixed "create another" checkbox styling. [#5324] by [@faucct]
439
455
 
440
456
  ## 1.3.1 [☰](https://github.com/activeadmin/activeadmin/compare/v1.3.0..v1.3.1)
441
457
 
data/CONTRIBUTING.md CHANGED
@@ -28,7 +28,7 @@ Now install the development dependencies:
28
28
  ```sh
29
29
  gem install foreman
30
30
  bundle install
31
- bin/yarn install
31
+ yarn install
32
32
  ```
33
33
 
34
34
  Now you should be able to run the entire suite using:
@@ -92,15 +92,11 @@ A PR can only be merged into master by a maintainer if: CI is passing, approved
92
92
 
93
93
  Maintainers need to do the following to push out a release:
94
94
 
95
- * Switch to the master branch and make sure it's up to date.
96
- * Make sure you have [chandler] properly configured. Chandler is used to
97
- automatically submit github release notes from the changelog right after
98
- pushing the gem to rubygems.
99
- * Update the version in the `lib/active_admin/version.rb` file.
100
- * Run `bin/bundle` to update all gemfiles.
101
- * Update the `package.json` version. [Prerelease format is 1.0.0-beta1](https://github.com/rails/rails/blob/0d0c30e534af7f80ec8b18eb946aaa613ca30444/tasks/release.rb#L26).
102
- * Review and merge the PR. The generated changelog in the PR should include all user visible changes you intend to ship.
103
- * Run `bin/rake release` from the target branch once the PR is merged.
104
-
105
- [chandler]: https://github.com/mattbrictson/chandler#2-configure-credentials
95
+ * Create a feature branch from master and make sure it's up to date.
96
+ * Run `bin/prep-release [version]` and commit the changes. Use Ruby version format. NPM is handled automatically.
97
+ * Optional: To confirm the release contents, run `gem build` (extract contents) and `npm publish --dry-run`.
98
+ * Review and merge the PR.
99
+ * Run `bin/rake release` from the default branch once the PR is merged.
100
+ * [Create a GitHub Release](https://github.com/activeadmin/activeadmin/releases/new) by selecting the tag and generating the release notes.
101
+
106
102
  [new issue]: https://github.com/activeadmin/activeadmin/issues/new
data/README.md CHANGED
@@ -75,8 +75,8 @@ Thanks to [Tidelift][tidelift] and all our Tidelift subscribers.
75
75
  Thanks to [Open Collective][opencollective contributors] and all our Open Collective contributors.
76
76
 
77
77
  [Arbre]: https://github.com/activeadmin/arbre
78
- [Devise]: https://github.com/plataformatec/devise
79
- [Formtastic]: https://github.com/justinfrench/formtastic
78
+ [Devise]: https://github.com/heartcombo/devise
79
+ [Formtastic]: https://github.com/formtastic/formtastic
80
80
  [Inherited Resources]: https://github.com/activeadmin/inherited_resources
81
81
  [Kaminari]: https://github.com/kaminari/kaminari
82
82
  [Ransack]: https://github.com/activerecord-hackery/ransack
data/UPGRADING.md CHANGED
@@ -8,14 +8,14 @@ ActiveAdmin v4 uses TailwindCSS. It has **mobile web, dark mode and RTL support*
8
8
 
9
9
  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.
10
10
 
11
- Update your `Gemfile` with `gem "activeadmin", "4.0.0.beta2"` and then run `gem install activeadmin --pre`.
11
+ Update your `Gemfile` with `gem "activeadmin", "4.0.0.beta3"` and then run `gem install activeadmin --pre`.
12
12
 
13
13
  Now, run `rails generate active_admin:assets` to replace the old assets with the new files.
14
14
 
15
15
  Then add the npm package and update the `build:css` script.
16
16
 
17
17
  ```
18
- yarn add @activeadmin/activeadmin@4.0.0-beta2
18
+ yarn add @activeadmin/activeadmin@4.0.0-beta3
19
19
  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"
20
20
  ```
21
21
 
@@ -191,8 +191,7 @@ Note that `@post` can also be used here but make sure to call `authorize!` on it
191
191
  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.
192
192
 
193
193
  - The `dashboard_welcome`, `dropdown_actions`, `main_content` and `unsupported_browser` keys have been removed.
194
- - Overriding Kaminari's `previous` and `next` pagination keys to only use words and remove HTML entities.
195
- - The `active_admin.pagination` keys have been rewritten to be less verbose.
194
+ - The `active_admin.pagination` keys have been rewritten to be less verbose and include new entries: next and previous.
196
195
 
197
196
  ```diff
198
197
  - one: "Displaying <b>1</b> %{model}"
@@ -205,6 +204,8 @@ This release includes several locale changes. Please [reivew the en.yml locale](
205
204
  + multiple_without_total: "Showing <b>%{from}-%{to}</b>"
206
205
  - per_page: "Per page: "
207
206
  + per_page: "Per page "
207
+ + previous: "Previous"
208
+ + next: "Next"
208
209
  ```
209
210
 
210
211
  - The `search_status` key contents has multiple, breaking changes:
@@ -223,3 +224,4 @@ This release includes several locale changes. Please [reivew the en.yml locale](
223
224
  - The `comments.title_content` text has been updated with an "All " prefix.
224
225
  - The `comments.delete_confirmation` text has been fixed to use singular form.
225
226
  - Inconsistent use of login/sign-in related terms so text now uses "Sign in", Sign out", and "Sign up" throughout.
227
+ - The `toggle_dark_mode`, `toggle_main_navigation_menu`, `toggle_section`, and `toggle_user_menu` keys have been added.
@@ -40,7 +40,7 @@ module ActiveAdmin
40
40
  end
41
41
 
42
42
  # Authorize the action and subject. Available in the controller
43
- # as well as all the views. If the action is not allowd, it raises
43
+ # as well as all the views. If the action is not allowed, it raises
44
44
  # an ActiveAdmin::AccessDenied exception.
45
45
  #
46
46
  # @param [Symbol] action The action to check if the user has permission
@@ -40,7 +40,7 @@ module ActiveAdmin
40
40
  case params[:action].to_sym
41
41
  when :index
42
42
  active_admin_config.get_page_presenter(params[:action], params[:as])
43
- when :new, :edit
43
+ when :new, :edit, :create, :update
44
44
  active_admin_config.get_page_presenter(:form)
45
45
  end || super
46
46
  end
@@ -1,11 +1,20 @@
1
1
  import Rails from '@rails/ujs';
2
2
 
3
+ const submitForm = function() {
4
+ let form = document.getElementById("collection_selection")
5
+ if (form) {
6
+ form.submit()
7
+ }
8
+ }
9
+
3
10
  const batchActionClick = function(event) {
4
11
  event.preventDefault()
5
12
  let batchAction = document.getElementById("batch_action")
6
13
  if (batchAction) {
7
14
  batchAction.value = this.dataset.action
8
15
  }
16
+
17
+ if (!event.target.dataset.confirm) { submitForm() }
9
18
  }
10
19
 
11
20
  const batchActionConfirmComplete = function(event) {
@@ -15,10 +24,7 @@ const batchActionConfirmComplete = function(event) {
15
24
  if (batchAction) {
16
25
  batchAction.value = this.dataset.action
17
26
  }
18
- let form = document.getElementById("collection_selection")
19
- if (form) {
20
- form.submit()
21
- }
27
+ submitForm()
22
28
  }
23
29
  }
24
30
 
@@ -1,10 +1,10 @@
1
- <div id="main-menu" class="fixed top-0 xl:top-16 bottom-0 start-0 z-40 w-72 xl:w-60 p-4 overflow-y-auto transition-transform duration-200 -translate-x-full xl:translate-x-0 bg-white dark:bg-gray-950 xl:border-e xl:border-gray-200 xl:dark:border-white/10" tabindex="-1" aria-labelledby="drawer-navigation-label">
1
+ <div id="main-menu" class="fixed top-0 xl:top-16 bottom-0 start-0 z-40 w-72 xl:w-60 p-4 overflow-y-auto transition-transform duration-200 -translate-x-full xl:translate-x-0 bg-white dark:bg-gray-950 xl:border-e xl:border-gray-200 xl:dark:border-white/10" tabindex="-1">
2
2
  <ul role="list" class="flex flex-1 flex-col space-y-1.5">
3
3
  <% current_menu.items(self).each do |item| %>
4
4
  <% children = item.items(self).presence %>
5
5
  <li <%= current_menu_item?(item) && "data-open" %> class="group" data-item-id="<%= item.id %>">
6
6
  <% if children %>
7
- <button data-menu-button class="text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white flex items-center w-full rounded-md p-2 gap-x-2 text-sm">
7
+ <button data-menu-button class="text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white flex items-center w-full rounded-md p-2 gap-x-2 text-sm" aria-label="<%= t('active_admin.toggle_section') %>">
8
8
  <%= item.label(self) %>
9
9
  <svg class="group-data-[open]:rotate-90 group-data-[open]:rtl:-rotate-90 ms-auto h-5 w-5 shrink-0 rtl:-scale-x-100" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
10
10
  <path fill-rule="evenodd" d="M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z" clip-rule="evenodd" />
@@ -1,5 +1,5 @@
1
1
  <div class="border-b border-gray-200 dark:border-white/10 dark:bg-gray-950/75 px-4 py-2 flex items-center sticky top-0 z-20 h-16 w-full backdrop-blur-md">
2
- <button class="xl:hidden pe-3 inline-flex items-center w-8 h-8 justify-center text-sm text-gray-500 dark:text-gray-400 focus-visible:outline-none focus-visible:ring-ring focus-visible:bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0" data-drawer-target="main-menu" data-drawer-show="main-menu" aria-controls="drawer-navigation">
2
+ <button class="xl:hidden pe-3 inline-flex items-center w-8 h-8 justify-center text-sm text-gray-500 dark:text-gray-400 focus-visible:outline-none focus-visible:ring-ring focus-visible:bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0" data-drawer-target="main-menu" data-drawer-show="main-menu" aria-controls="main-menu" aria-label="<%= t('active_admin.toggle_main_navigation_menu') %>">
3
3
  <svg class="w-5 h-5 text-gray-800 dark:text-white" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 17 14"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1 1h15M1 7h15M1 13h15"/></svg>
4
4
  </button>
5
5
 
@@ -9,12 +9,12 @@
9
9
  </h1>
10
10
  </div>
11
11
 
12
- <button type="button" class="dark-mode-toggle flex items-center w-9 h-9 justify-center me-1 text-gray-400 hover:text-gray-500 dark:text-gray-500 dark:hover:text-gray-400 focus:outline-none text-sm">
12
+ <button type="button" class="dark-mode-toggle flex items-center w-9 h-9 justify-center me-1 text-gray-400 hover:text-gray-500 dark:text-gray-500 dark:hover:text-gray-400 focus:outline-none text-sm" aria-label="<%= t('active_admin.toggle_dark_mode') %>">
13
13
  <svg class="hidden dark:block w-5 h-5 rtl:-scale-x-100" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 18 20"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.509 5.75c0-1.493.394-2.96 1.144-4.25h-.081a8.5 8.5 0 1 0 7.356 12.746A8.5 8.5 0 0 1 8.509 5.75Z"/></svg>
14
14
  <svg class="dark:hidden w-5 h-5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 3V1m0 18v-2M5.05 5.05 3.636 3.636m12.728 12.728L14.95 14.95M3 10H1m18 0h-2M5.05 14.95l-1.414 1.414M16.364 3.636 14.95 5.05M14 10a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z"/></svg>
15
15
  </button>
16
16
 
17
- <button id="user-menu-button" class="flex items-center w-9 h-9 justify-center text-sm text-gray-500 focus:outline-none dark:text-gray-200" data-dropdown-toggle="user-menu" data-dropdown-offset-distance="3" data-dropdown-placement="bottom-end">
17
+ <button id="user-menu-button" class="flex items-center w-9 h-9 justify-center text-sm text-gray-500 focus:outline-none dark:text-gray-200" data-dropdown-toggle="user-menu" data-dropdown-offset-distance="3" data-dropdown-placement="bottom-end" aria-label="<%= t('active_admin.toggle_user_menu') %>">
18
18
  <svg class="w-7 h-7" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20"><path d="M10 0a10 10 0 1 0 10 10A10.011 10.011 0 0 0 10 0Zm0 5a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 13a8.949 8.949 0 0 1-4.951-1.488A3.987 3.987 0 0 1 9 13h2a3.987 3.987 0 0 1 3.951 3.512A8.949 8.949 0 0 1 10 18Z"/></svg>
19
19
  </button>
20
20
 
@@ -8,7 +8,7 @@
8
8
  -%>
9
9
  <% unless current_page.last? %>
10
10
  <%= link_to url, rel: 'next', remote: remote, class: "flex items-center justify-center px-2.5 py-3 h-8 leading-tight text-gray-500 dark:text-gray-400 hover:bg-gray-100 hover:text-gray-700 dark:hover:bg-gray-800 dark:hover:text-white rounded no-underline" do %>
11
- <span class="sr-only"><%= t('views.pagination.next').html_safe %></span>
11
+ <span class="sr-only"><%= t('active_admin.pagination.next') %></span>
12
12
  <svg class="w-2.5 h-2.5 rtl:rotate-180" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 6 10">
13
13
  <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 9 4-4-4-4"/>
14
14
  </svg>
@@ -8,7 +8,7 @@
8
8
  -%>
9
9
  <% unless current_page.first? %>
10
10
  <%= link_to url, rel: 'prev', remote: remote, class: "flex items-center justify-center px-2.5 py-3 h-8 leading-tight text-gray-500 dark:text-gray-400 hover:bg-gray-100 hover:text-gray-700 dark:hover:bg-gray-800 dark:hover:text-white rounded no-underline" do %>
11
- <span class="sr-only"><%= t('views.pagination.previous').html_safe %></span>
11
+ <span class="sr-only"><%= t('active_admin.pagination.previous') %></span>
12
12
  <svg class="w-2.5 h-2.5 rtl:rotate-180" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 6 10">
13
13
  <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 1 1 5l4 4"/>
14
14
  </svg>
@@ -58,7 +58,7 @@ def build_index_list
58
58
  end
59
59
  end
60
60
 
61
- # Returns the actual class for renderering the main content on the index
61
+ # Returns the actual class for rendering the main content on the index
62
62
  # page. To set this, use the :as option in the page_presenter block.
63
63
  def find_index_renderer_class(klass)
64
64
  if klass.is_a?(Class)
data/config/importmap.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  pin "flowbite", preload: true # downloaded from https://cdnjs.cloudflare.com/ajax/libs/flowbite/2.2.1/flowbite.min.js
3
- pin "@rails/ujs", to: "https://ga.jspm.io/npm:@rails/ujs@7.1.2/app/assets/javascripts/rails-ujs.esm.js", preload: true
3
+ pin "@rails/ujs", to: "rails_ujs_esm.js", preload: true # downloaded from https://cdn.jsdelivr.net/npm/@rails/ujs@7.1.2/+esm
4
4
  pin "active_admin", to: "active_admin.js", preload: true
5
5
  pin_all_from File.expand_path("../app/javascript/active_admin", __dir__), under: "active_admin", preload: true
@@ -1,10 +1,27 @@
1
1
  ca:
2
+ activerecord:
3
+ models:
4
+ comment:
5
+ one: "Comentari"
6
+ other: "Comentaris"
7
+ active_admin/comment:
8
+ one: "Comentari"
9
+ other: "Comentaris"
10
+ attributes:
11
+ active_admin/comment:
12
+ author_type: "Tipus d'autor"
13
+ body: "Missatge"
14
+ created_at: "Creat el"
15
+ namespace: "Espai de noms"
16
+ resource_type: "Tipus de recurs"
17
+ updated_at: "Actualitzat el"
2
18
  active_admin:
3
- dashboard: Tauler
19
+ dashboard: "Tauler d'activitat"
4
20
  view: "Mostra"
5
21
  edit: "Edita"
6
22
  delete: "Elimina"
7
- delete_confirmation: "Segur que vols eliminar-ho?"
23
+ delete_confirmation: "Segur que voleu eliminar-ho?"
24
+ create_another: "Crear un altre %{model}"
8
25
  new_model: "Crear %{model}"
9
26
  edit_model: "Editar %{model}"
10
27
  delete_model: "Eliminar %{model}"
@@ -14,27 +31,41 @@ ca:
14
31
  previous: "Anterior"
15
32
  next: "Següent"
16
33
  download: "Descarregar:"
17
- has_many_new: "Afegir %{model}"
34
+ has_many_new: "Afegir un altre %{model}"
18
35
  has_many_delete: "Eliminar"
19
36
  has_many_remove: "Treure"
37
+ move: "Moure"
20
38
  filters:
21
39
  buttons:
22
- filter: "Filtrar"
23
- clear: "Treure filtres"
40
+ filter: "Filtra"
41
+ clear: "Elimina els filtres"
42
+ predicates:
43
+ from: "Des de"
44
+ to: "Fins"
45
+ scopes:
46
+ all: "Tots"
47
+ search_status:
48
+ title: "Cerca activa"
49
+ title_with_scope: "Cerca activa per %{name}"
50
+ no_current_filters: "Sense filtres actius"
24
51
  status_tag:
25
52
  "yes": "Sí"
26
53
  "no": "No"
27
- "unset": "No"
28
- logout: "Desconnecta't"
54
+ "unset": "Desconegut"
55
+ logout: "Tanca la sessió"
29
56
  powered_by: "Powered by %{active_admin} %{version}"
30
57
  sidebars:
31
58
  filters: "Filtres"
59
+ search_status: "Estat de la cerca"
32
60
  pagination:
33
- empty: "No hi ha %{model}"
34
- one: "S'està mostrant <b>1</b> %{model}"
35
- one_page: "S'estan mostrant <b>tots %{n}</b> %{model}"
36
- multiple: "S'estan mostrant %{model} <b>%{from}&nbsp;-&nbsp;%{to}</b> de <b>%{total}</b> en total"
37
- multiple_without_total: "S'estan mostrant %{model} <b>%{from}&nbsp;-&nbsp;%{to}</b>"
61
+ empty: "No s'ha trobat cap %{model}"
62
+ one: "S'està mostrant <b>1</b> de <b>1</b>"
63
+ one_page: "S'estan mostrant <b>tots %{n}</b>"
64
+ multiple: "Se n'estan mostrant <b>%{from}-%{to}</b> d'un total de <b>%{total}</b>"
65
+ multiple_without_total: "Se n'estan mostrant <b>%{from}-%{to}</b>"
66
+ per_page: "Per pàgina"
67
+ previous: "Anterior"
68
+ next: "Següent"
38
69
  entry:
39
70
  one: "entrada"
40
71
  other: "entrades"
@@ -43,36 +74,55 @@ ca:
43
74
  content: "Encara no hi ha cap %{resource_name}."
44
75
  link: "Crea'n un/a"
45
76
  batch_actions:
46
- button_label: "les accions per lots"
47
- default_confirmation: "¿Esteu segur que voleu fer-ho?"
48
- delete_confirmation: "¿Està segur que desitja eliminar aquests %{plural_model}?"
77
+ button_label: "Accions per lots"
78
+ default_confirmation: "Segur que voleu fer-ho?"
79
+ delete_confirmation: "Segurs que voleu eliminar aquests %{plural_model}?"
49
80
  succesfully_destroyed:
50
- one: "Va destruir amb èxit 1 %{model}"
51
- other: "Va destruir amb èxit %{count} %{plural_model}"
52
- selection_toggle_explanation: "(Selecció de Canviar)"
81
+ one: "1 %{model} eliminat"
82
+ other: "%{count} %{plural_model} eliminats"
83
+ selection_toggle_explanation: "(Invertir la selecció)"
53
84
  action_label: "%{title} seleccionat"
54
85
  labels:
55
- destroy: "esborrar"
86
+ destroy: "Esborrar"
56
87
  comments:
57
- body: "Cos"
58
- author: "autor"
88
+ created_at: "Creat el"
89
+ resource_type: "Tipus de recurs"
90
+ author_type: "Tipus d'author"
91
+ body: "Missatge"
92
+ author: "Autor"
59
93
  add: "Afegeix comentari"
94
+ delete: "Elimina comentari"
95
+ delete_confirmation: "Esteu segurs que voleu eliminar aquest comentari?"
60
96
  resource: "Recurs"
61
- no_comments_yet: "No hi ha comentaris"
62
- title_content: "comentaris (%{count})"
97
+ no_comments_yet: "Sense comentaris"
98
+ author_missing: "Anònim"
99
+ title_content: "Tots els comentaris (%{count})"
63
100
  errors:
64
- empty_text: "El comentari no es va salvar, el text estava buida."
101
+ empty_text: "El comentari no s'ha desat, no hi havia text."
65
102
  devise:
103
+ username:
104
+ title: "Usuari"
105
+ email:
106
+ title: "Email"
107
+ subdomain:
108
+ title: "Subdomini"
109
+ password:
110
+ title: "Contrasenya"
111
+ password_confirmation:
112
+ title: "Confirmeu la contrasenya"
113
+ sign_up:
114
+ title: "Doneu-vos d'alta"
115
+ submit: "Doneu-vos d'alta"
66
116
  login:
67
- title: "iniciar sessió"
68
- remember_me: "Recordar"
69
- submit: "iniciar sessió"
117
+ title: "Identifiqueu-vos"
118
+ remember_me: "Recorda'm"
119
+ submit: "Identifiqueu-vos"
70
120
  reset_password:
71
- title: "Heu perdut la contrasenya?"
121
+ title: "Heu oblidat la contrasenya?"
72
122
  submit: "Restablir la contrasenya"
73
123
  change_password:
74
124
  title: "Canvieu la contrasenya"
75
- submit: "Canviar la contrasenya"
125
+ submit: "Canvia'm la contrasenya"
76
126
  unlock:
77
127
  title: "Reenvia instruccions per a desbloquejar"
78
128
  submit: "Reenvia instruccions per a desbloquejar"
@@ -80,10 +130,13 @@ ca:
80
130
  title: "Reenviar instruccions de confirmació"
81
131
  submit: "Reenviar instruccions de confirmació"
82
132
  links:
83
- sign_in: "Registrar"
133
+ sign_up: "Sign up"
134
+ sign_in: "Sign in"
84
135
  forgot_your_password: "Heu perdut la contrasenya?"
85
- sign_in_with_omniauth_provider: "Connecta't amb %{provider}"
136
+ sign_in_with_omniauth_provider: "Identificació via %{provider}"
137
+ resend_unlock_instructions: "Reenviar les instruccions de desbloqueig"
138
+ resend_confirmation_instructions: "Reenviar les instruccions de confirmació"
86
139
  access_denied:
87
- message: "No esta autoritzat a realitzar aquesta acció."
140
+ message: "No esteu autoritzats a realitzar aquesta acció"
88
141
  index_list:
89
142
  table: "Taula"
@@ -16,7 +16,7 @@ de:
16
16
  resource_type: "Ressourcentyp"
17
17
  updated_at: "Aktualisiert"
18
18
  active_admin:
19
- dashboard: Übersicht
19
+ dashboard: "Übersicht"
20
20
  view: "Anzeigen"
21
21
  edit: "Bearbeiten"
22
22
  delete: "Löschen"
@@ -34,7 +34,7 @@ de:
34
34
  has_many_new: "%{model} hinzufügen"
35
35
  has_many_delete: "Löschen"
36
36
  has_many_remove: "Entfernen"
37
- move: "Bewegen"
37
+ move: "Verschieben"
38
38
  filters:
39
39
  buttons:
40
40
  filter: "Filtern"
@@ -45,6 +45,8 @@ de:
45
45
  scopes:
46
46
  all: "Alle"
47
47
  search_status:
48
+ title: "Aktive Filter"
49
+ title_with_scope: "Aktive Filter in %{name}"
48
50
  no_current_filters: "Keine"
49
51
  status_tag:
50
52
  "yes": "Ja"
@@ -54,14 +56,16 @@ de:
54
56
  powered_by: "Powered by %{active_admin} %{version}"
55
57
  sidebars:
56
58
  filters: "Filter"
57
- search_status: "Suchstatus"
59
+ search_status: "Aktive Filter"
58
60
  pagination:
59
61
  empty: "Keine %{model} gefunden"
60
- one: "Zeige <b>1</b> %{model}"
61
- one_page: "Zeige <b>alle %{n}</b> %{model}"
62
- multiple: "Zeige %{model} <b>%{from}&nbsp;–&nbsp;%{to}</b> von <b>%{total}</b>"
63
- multiple_without_total: "Zeige %{model} <b>%{from}&nbsp;–&nbsp;%{to}</b>"
62
+ one: "<b>1</b> %{model}"
63
+ one_page: "<b>Alle %{n}</b> %{model}"
64
+ multiple: "%{model} <b>%{from}&nbsp;–&nbsp;%{to}</b> von <b>%{total}</b>"
65
+ multiple_without_total: "%{model} <b>%{from}&nbsp;–&nbsp;%{to}</b>"
64
66
  per_page: "Pro Seite: "
67
+ previous: "Vorherige"
68
+ next: "Nächste"
65
69
  entry:
66
70
  one: "Eintrag"
67
71
  other: "Einträge"
@@ -71,15 +75,15 @@ de:
71
75
  link: "Erstellen"
72
76
  batch_actions:
73
77
  button_label: "Stapelverarbeitung"
74
- default_confirmation: "Bist du sicher, dass Sie dies tun wollen?"
75
- delete_confirmation: "Sind Sie sicher dass sie diese %{plural_model} löschen wollen?"
78
+ default_confirmation: "Sind Sie sicher?"
79
+ delete_confirmation: "Sind Sie sicher dass Sie diese %{plural_model} löschen wollen?"
76
80
  succesfully_destroyed:
77
81
  one: "Erfolgreich 1 %{model} gelöscht"
78
82
  other: "Erfolgreich %{count} %{plural_model} gelöscht"
79
83
  selection_toggle_explanation: "(Auswahl umschalten)"
80
- action_label: "%{title} ausgewählte"
84
+ action_label: "Ausgewählte %{title}"
81
85
  labels:
82
- destroy: "Lösche"
86
+ destroy: "löschen"
83
87
  comments:
84
88
  created_at: "Erstellt"
85
89
  resource_type: "Res­sour­cen-Typ"
@@ -88,7 +92,7 @@ de:
88
92
  author: "Autor"
89
93
  add: "Kommentar hinzufügen"
90
94
  delete: "Löschen"
91
- delete_confirmation: "Sind Sie sicher dass sie diesen Kommentar löschen wollen?"
95
+ delete_confirmation: "Sind Sie sicher dass Sie diesen Kommentar löschen wollen?"
92
96
  resource: "Res­sour­ce"
93
97
  no_comments_yet: "Es gibt noch keine Kommentare."
94
98
  author_missing: "Unbekannt"
@@ -1,8 +1,4 @@
1
1
  en:
2
- views:
3
- pagination:
4
- previous: "Previous"
5
- next: "Next"
6
2
  activerecord:
7
3
  models:
8
4
  comment:
@@ -56,6 +52,10 @@ en:
56
52
  "yes": "Yes"
57
53
  "no": "No"
58
54
  "unset": "Unknown"
55
+ toggle_dark_mode: Toggle dark mode
56
+ toggle_main_navigation_menu: Toggle main navigation menu
57
+ toggle_section: Toggle section
58
+ toggle_user_menu: Toggle user menu
59
59
  logout: "Sign out"
60
60
  powered_by: "Powered by %{active_admin} %{version}"
61
61
  sidebars:
@@ -68,6 +68,8 @@ en:
68
68
  multiple: "Showing <b>%{from}-%{to}</b> of <b>%{total}</b>"
69
69
  multiple_without_total: "Showing <b>%{from}-%{to}</b>"
70
70
  per_page: "Per page "
71
+ previous: "Previous"
72
+ next: "Next"
71
73
  entry:
72
74
  one: "entry"
73
75
  other: "entries"
@@ -1,8 +1,4 @@
1
1
  fr:
2
- views:
3
- pagination:
4
- previous: "Précédent"
5
- next: "Suivant"
6
2
  activerecord:
7
3
  models:
8
4
  comment:
@@ -65,6 +61,8 @@ fr:
65
61
  multiple: "Affichage de <b>%{from}-%{to}</b> sur <b>%{total}</b>"
66
62
  multiple_without_total: "Affichage de <b>%{from}-%{to}</b>"
67
63
  per_page: "Par page "
64
+ previous: "Précédent"
65
+ next: "Suivant"
68
66
  entry:
69
67
  one: "entrée"
70
68
  other: "entrées"
@@ -45,23 +45,31 @@ it:
45
45
  scopes:
46
46
  all: "Tutti"
47
47
  search_status:
48
- no_current_filters: "Nessuno"
48
+ title: "Ricerca corrente"
49
+ title_with_scope: "Ricerca corrente per %{name}"
50
+ no_current_filters: "Nessun filtro applicato"
49
51
  status_tag:
50
52
  "yes": "Sì"
51
53
  "no": "No"
52
- "unset": "No"
54
+ "unset": "Vuoto"
55
+ toggle_dark_mode: Attiva/Disattiva tema scuro
56
+ toggle_main_navigation_menu: Espandi/Riduci menu di navigazione principale
57
+ toggle_section: Espandi/Riduci sezione
58
+ toggle_user_menu: Espandi/Riduci menu utente
53
59
  logout: "Esci"
54
60
  powered_by: "Powered by %{active_admin} %{version}"
55
61
  sidebars:
56
62
  filters: "Filtri"
57
63
  search_status: "Informazioni sulla ricerca"
58
64
  pagination:
59
- empty: "Nessun %{model} trovato"
60
- one: "Sto mostrando <b>1</b> %{model}"
61
- one_page: "Sto mostrando <b>%{n}</b> %{model}. Lista completa."
62
- multiple: "Sto mostrando %{model} <b>%{from}&nbsp;-&nbsp;%{to}</b> di <b>%{total}</b> in totale"
63
- multiple_without_total: "Sto mostrando %{model} <b>%{from}&nbsp;-&nbsp;%{to}</b>"
65
+ empty: "Nessun risultato per %{model}"
66
+ one: "Mostrando <b>1</b> di <b>1</b>"
67
+ one_page: "Mostrando <b>%{n}</b> %{model}. Lista completa."
68
+ multiple: "Mostrando <b>%{from}-%{to}</b> di <b>%{total}</b>"
69
+ multiple_without_total: "Mostrando <b>%{from}-%{to}</b>"
64
70
  per_page: "Oggetti per pagina: "
71
+ previous: "Precedente"
72
+ next: "Successiva"
65
73
  entry:
66
74
  one: "voce"
67
75
  other: "voci"
@@ -1,8 +1,4 @@
1
1
  nl:
2
- views:
3
- pagination:
4
- previous: "Vorige"
5
- next: "Volgende"
6
2
  active_admin:
7
3
  dashboard: Dashboard
8
4
  view: "Bekijk"
@@ -52,6 +48,8 @@ nl:
52
48
  multiple: "Toont <b>%{from}-%{to}</b> van <b>%{total}</b>"
53
49
  multiple_without_total: "Toont <b>%{from}-%{to}</b>"
54
50
  per_page: "Per pagina: "
51
+ previous: "Vorige"
52
+ next: "Volgende"
55
53
  entry:
56
54
  one: "entry"
57
55
  other: "entries"
@@ -45,6 +45,8 @@
45
45
  scopes:
46
46
  all: "所有"
47
47
  search_status:
48
+ title: "搜索条件"
49
+ title_with_scope: "搜索条件 %{name}"
48
50
  no_current_filters: "无"
49
51
  status_tag:
50
52
  "yes": "是"
@@ -62,6 +64,8 @@
62
64
  multiple: "显示所有 <b>%{total}</b> %{model}中的<b>%{from}&nbsp;-&nbsp;%{to}</b> 条"
63
65
  multiple_without_total: "%{model}中的<b>%{from}&nbsp;-&nbsp;%{to}</b> 条"
64
66
  per_page: "每页:"
67
+ previous: "上一页"
68
+ next: "下一页"
65
69
  entry:
66
70
  one: "条目"
67
71
  other: "条目"