activeadmin 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (117) hide show
  1. data/.travis.yml +1 -1
  2. data/CHANGELOG.md +92 -1
  3. data/CONTRIBUTING.md +3 -3
  4. data/Gemfile +6 -5
  5. data/README.rdoc +6 -1
  6. data/Rakefile +2 -2
  7. data/app/assets/stylesheets/active_admin/_forms.css.scss +13 -2
  8. data/app/assets/stylesheets/active_admin/components/_comments.css.scss +1 -0
  9. data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +2 -1
  10. data/app/views/active_admin/resource/index.csv.erb +4 -1
  11. data/app/views/layouts/active_admin_logged_out.html.erb +3 -3
  12. data/docs/0-installation.md +0 -7
  13. data/docs/1-general-configuration.md +37 -0
  14. data/docs/11-decorators.md +48 -0
  15. data/docs/12-arbre-components.md +145 -0
  16. data/docs/2-resource-customization.md +23 -6
  17. data/docs/3-index-pages.md +5 -0
  18. data/docs/4-csv-format.md +11 -2
  19. data/docs/8-custom-actions.md +2 -2
  20. data/features/breadcrumb.feature +27 -0
  21. data/features/decorators.feature +41 -0
  22. data/features/i18n.feature +7 -0
  23. data/features/index/format_as_csv.feature +40 -3
  24. data/features/index/index_as_table.feature +6 -6
  25. data/features/step_definitions/format_steps.rb +6 -1
  26. data/lib/active_admin.rb +1 -1
  27. data/lib/active_admin/application.rb +15 -7
  28. data/lib/active_admin/comments/comment.rb +4 -2
  29. data/lib/active_admin/csv_builder.rb +2 -1
  30. data/lib/active_admin/devise.rb +1 -0
  31. data/lib/active_admin/dsl.rb +25 -0
  32. data/lib/active_admin/filters/dsl.rb +9 -0
  33. data/lib/active_admin/filters/forms.rb +2 -0
  34. data/lib/active_admin/filters/resource_extension.rb +32 -2
  35. data/lib/active_admin/form_builder.rb +29 -12
  36. data/lib/active_admin/inputs.rb +1 -0
  37. data/lib/active_admin/inputs/filter_boolean_input.rb +40 -0
  38. data/lib/active_admin/inputs/filter_select_input.rb +5 -1
  39. data/lib/active_admin/locales/bg.yml +1 -0
  40. data/lib/active_admin/locales/ca.yml +1 -0
  41. data/lib/active_admin/locales/cs.yml +9 -1
  42. data/lib/active_admin/locales/da.yml +1 -0
  43. data/lib/active_admin/locales/de.yml +16 -3
  44. data/lib/active_admin/locales/en.yml +1 -0
  45. data/lib/active_admin/locales/es.yml +1 -0
  46. data/lib/active_admin/locales/fr.yml +5 -1
  47. data/lib/active_admin/locales/he.yml +3 -2
  48. data/lib/active_admin/locales/hr.yml +1 -0
  49. data/lib/active_admin/locales/hu.yml +1 -0
  50. data/lib/active_admin/locales/it.yml +5 -4
  51. data/lib/active_admin/locales/ja.yml +12 -12
  52. data/lib/active_admin/locales/ko.yml +1 -0
  53. data/lib/active_admin/locales/lt.yml +81 -0
  54. data/lib/active_admin/locales/lv.yml +2 -1
  55. data/lib/active_admin/locales/nl.yml +1 -0
  56. data/lib/active_admin/locales/no-NB.yml +1 -0
  57. data/lib/active_admin/locales/pl.yml +1 -0
  58. data/lib/active_admin/locales/pt-BR.yml +3 -2
  59. data/lib/active_admin/locales/ro.yml +1 -0
  60. data/lib/active_admin/locales/ru.yml +7 -6
  61. data/lib/active_admin/locales/sv-SE.yml +1 -0
  62. data/lib/active_admin/locales/tr.yml +3 -2
  63. data/lib/active_admin/locales/vi.yml +1 -0
  64. data/lib/active_admin/locales/zh-CN.yml +1 -0
  65. data/lib/active_admin/locales/zh-TW.yml +1 -0
  66. data/lib/active_admin/menu_item.rb +6 -0
  67. data/lib/active_admin/page.rb +3 -0
  68. data/lib/active_admin/page_presenter.rb +2 -0
  69. data/lib/active_admin/resource.rb +12 -1
  70. data/lib/active_admin/resource/menu.rb +8 -1
  71. data/lib/active_admin/resource_controller.rb +3 -1
  72. data/lib/active_admin/resource_controller/collection.rb +1 -1
  73. data/lib/active_admin/resource_controller/decorators.rb +19 -0
  74. data/lib/active_admin/resource_dsl.rb +1 -1
  75. data/lib/active_admin/version.rb +1 -1
  76. data/lib/active_admin/view_helpers.rb +1 -0
  77. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +1 -1
  78. data/lib/active_admin/view_helpers/download_format_links_helper.rb +50 -0
  79. data/lib/active_admin/view_helpers/fields_for.rb +4 -0
  80. data/lib/active_admin/view_helpers/flash_helper.rb +13 -0
  81. data/lib/active_admin/views/components/paginated_collection.rb +2 -11
  82. data/lib/active_admin/views/components/table_for.rb +21 -27
  83. data/lib/active_admin/views/footer.rb +3 -1
  84. data/lib/active_admin/views/index_as_block.rb +1 -1
  85. data/lib/active_admin/views/index_as_grid.rb +1 -1
  86. data/lib/active_admin/views/pages/base.rb +3 -3
  87. data/lib/active_admin/views/pages/index.rb +1 -7
  88. data/lib/active_admin/views/title_bar.rb +6 -3
  89. data/lib/generators/active_admin/devise/devise_generator.rb +1 -1
  90. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +6 -3
  91. data/lib/generators/active_admin/install/templates/admin_user.rb.erb +1 -1
  92. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -2
  93. data/lib/generators/active_admin/install/templates/migrations/2_move_admin_notes_to_comments.rb +2 -1
  94. data/spec/integration/memory_spec.rb +1 -1
  95. data/spec/support/rails_template.rb +41 -2
  96. data/spec/support/rails_template_with_data.rb +2 -1
  97. data/spec/support/templates/en.yml +2 -0
  98. data/spec/support/templates/post_decorator.rb +53 -0
  99. data/spec/unit/application_spec.rb +17 -4
  100. data/spec/unit/belongs_to_spec.rb +1 -1
  101. data/spec/unit/config_shared_examples.rb +15 -7
  102. data/spec/unit/controller_filters_spec.rb +8 -8
  103. data/spec/unit/csv_builder_spec.rb +10 -0
  104. data/spec/unit/devise_spec.rb +28 -7
  105. data/spec/unit/filters/filter_form_builder_spec.rb +24 -0
  106. data/spec/unit/filters/resource_spec.rb +15 -1
  107. data/spec/unit/form_builder_spec.rb +4 -0
  108. data/spec/unit/resource_controller_spec.rb +67 -3
  109. data/spec/unit/resource_spec.rb +17 -0
  110. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +39 -0
  111. data/spec/unit/view_helpers/fields_for_spec.rb +5 -0
  112. data/spec/unit/views/components/table_for_spec.rb +31 -0
  113. data/spec/unit/views/pages/layout_spec.rb +1 -1
  114. data/spec/unit/views/pages/show_spec.rb +21 -0
  115. data/tasks/parallel_tests.rake +60 -0
  116. data/tasks/test.rake +2 -1
  117. metadata +44 -26
@@ -7,6 +7,15 @@ module ActiveAdmin
7
7
  config.add_filter(attribute, options)
8
8
  end
9
9
 
10
+ # For docs, please see ActiveAdmin::Filters::ResourceExtension#delete_filter
11
+ def remove_filter(attribute)
12
+ config.remove_filter(attribute)
13
+ end
14
+
15
+ # For docs, please see ActiveAdmin::Filters::ResourceExtension#preserve_default_filters!
16
+ def preserve_default_filters!
17
+ config.preserve_default_filters!
18
+ end
10
19
  end
11
20
  end
12
21
  end
@@ -28,6 +28,8 @@ module ActiveAdmin
28
28
  return :numeric
29
29
  when :float, :decimal
30
30
  return :numeric
31
+ when :boolean
32
+ return :boolean
31
33
  end
32
34
  end
33
35
 
@@ -15,7 +15,15 @@ module ActiveAdmin
15
15
  def filters
16
16
  return [] unless filters_enabled?
17
17
 
18
- @filters || default_filters
18
+ if @filters.present?
19
+ if preserve_default_filters?
20
+ @filters + default_filters
21
+ else
22
+ @filters
23
+ end
24
+ else
25
+ default_filters
26
+ end
19
27
  end
20
28
 
21
29
  # Setter to enable / disable filters on this resource.
@@ -30,11 +38,33 @@ module ActiveAdmin
30
38
  @filters_enabled.nil? ? namespace.filters : @filters_enabled
31
39
  end
32
40
 
41
+ def preserve_default_filters!
42
+ @preserve_default_filters = true
43
+ end
44
+
45
+ def preserve_default_filters?
46
+ @preserve_default_filters == true
47
+ end
48
+
49
+ # Remove a filter for this resource. If filters are not enabled, this method
50
+ # will raise a RuntimeError
51
+ #
52
+ # @param [Symbol] attribute The attribute to not filter on
53
+ def remove_filter(attribute)
54
+ unless filters_enabled?
55
+ raise RuntimeError, "Can't remove a filter when filters are disabled. Enable filters with 'config.filters = true'"
56
+ end
57
+
58
+ @filters ||= default_filters
59
+
60
+ @filters.delete_if { |f| f.fetch(:attribute) == attribute }
61
+ end
62
+
33
63
  # Add a filter for this resource. If filters are not enabled, this method
34
64
  # will raise a RuntimeError
35
65
  #
36
66
  # @param [Symbol] attribute The attribute to filter on
37
- # @param [Hash] options The set of options that are passed through to
67
+ # @param [Hash] options The set of options that are passed through to
38
68
  # metasearch for the field definition.
39
69
  def add_filter(attribute, options = {})
40
70
  unless filters_enabled?
@@ -76,23 +76,17 @@ module ActiveAdmin
76
76
  form_buffers.last << template.content_tag(:h3, object.class.reflect_on_association(association).klass.model_name.human(:count => 1.1))
77
77
  inputs options, &form_block
78
78
 
79
- # Capture the ADD JS
80
- js = with_new_form_buffer do
81
- inputs_for_nested_attributes :for => [association, object.class.reflect_on_association(association).klass.new],
82
- :class => "inputs has_many_fields",
83
- :for_options => {
84
- :child_index => "NEW_RECORD"
85
- }, &form_block
86
- end
87
-
88
- js = template.escape_javascript(js)
89
- js = template.link_to I18n.t('active_admin.has_many_new', :model => object.class.reflect_on_association(association).klass.model_name.human), "#", :onclick => "$(this).before('#{js}'.replace(/NEW_RECORD/g, new Date().getTime())); return false;", :class => "button"
90
-
79
+ js = js_for_has_many(association, form_block, template)
91
80
  form_buffers.last << js.html_safe
92
81
  end
93
82
  end
94
83
  form_buffers.last << content.html_safe
95
84
  end
85
+
86
+ def semantic_errors(*args)
87
+ content = with_new_form_buffer { super }
88
+ form_buffers.last << content.html_safe unless content.nil?
89
+ end
96
90
 
97
91
  # These methods are deprecated and removed from Formtastic, however are
98
92
  # supported here to help with transition.
@@ -175,5 +169,28 @@ module ActiveAdmin
175
169
  return_value
176
170
  end
177
171
 
172
+ # Capture the ADD JS
173
+ def js_for_has_many(association, form_block, template)
174
+ association_reflection = object.class.reflect_on_association(association)
175
+ association_human_name = association_reflection.klass.model_name.human
176
+ placeholder = "NEW_#{association_human_name.upcase.split(' ').join('_')}_RECORD"
177
+
178
+ js = with_new_form_buffer do
179
+ inputs_for_nested_attributes :for => [association, association_reflection.klass.new],
180
+ :class => "inputs has_many_fields",
181
+ :for_options => { :child_index => placeholder },
182
+ &form_block
183
+ end
184
+
185
+ js = template.escape_javascript(js)
186
+
187
+ text = I18n.t 'active_admin.has_many_new', :model => association_human_name
188
+ onclick = "$(this).siblings('li.input').append('#{js}'.replace(/#{placeholder}/g, new Date().getTime())); return false;"
189
+
190
+ template.link_to text, "#",
191
+ :onclick => onclick,
192
+ :class => "button"
193
+ end
194
+
178
195
  end
179
196
  end
@@ -10,5 +10,6 @@ module ActiveAdmin
10
10
  autoload :FilterNumericInput
11
11
  autoload :FilterSelectInput
12
12
  autoload :FilterCheckBoxesInput
13
+ autoload :FilterBooleanInput
13
14
  end
14
15
  end
@@ -0,0 +1,40 @@
1
+ module ActiveAdmin
2
+ module Inputs
3
+ class FilterBooleanInput < ::Formtastic::Inputs::BooleanInput
4
+ include FilterBase
5
+
6
+ def to_html
7
+ input_wrapping do
8
+ [ label_html,
9
+ check_box_html
10
+ ].join("\n").html_safe
11
+ end
12
+ end
13
+
14
+ def check_box_html
15
+ template.check_box_tag("#{object_name}[#{method}]", checked_value, checked?, input_html_options)
16
+ end
17
+
18
+ def search_method
19
+ method.to_s.match(metasearch_conditions) ? method : "#{method}_eq"
20
+ end
21
+
22
+ def checked?
23
+ if defined? ActionView::Helpers::InstanceTag
24
+ object && ActionView::Helpers::InstanceTag.check_box_checked?(object.send(search_method), checked_value)
25
+ else
26
+ object && boolean_checked?(object.send(search_method), checked_value)
27
+ end
28
+ end
29
+
30
+ def input_html_options
31
+ { :name => "q[#{search_method}]" }
32
+ end
33
+
34
+ def metasearch_conditions
35
+ /is_true|is_false|is_present/
36
+ end
37
+
38
+ end
39
+ end
40
+ end
@@ -12,7 +12,11 @@ module ActiveAdmin
12
12
  end
13
13
 
14
14
  def method
15
- super.to_s.sub(/_id$/,'').to_sym
15
+ if super.to_s.scan(/_id/).count('_id') == 1
16
+ super.to_s.sub(/_id$/, '').to_sym
17
+ else
18
+ super.to_s.to_sym
19
+ end
16
20
  end
17
21
 
18
22
  def extra_input_html_options
@@ -27,6 +27,7 @@ bg:
27
27
  less_than: "По-малко от"
28
28
  main_content: "Моля, приложи %{model}#main_content за визуализация на съдържанието."
29
29
  logout: "Изход"
30
+ powered_by: "Powered by %{active_admin} %{version}"
30
31
  sidebars:
31
32
  filters: "Филтри"
32
33
  pagination:
@@ -28,6 +28,7 @@ ca:
28
28
  less_than: "Més petit que"
29
29
  main_content: "Implementa %{model}#main_content per mostrar contingut."
30
30
  logout: "Desconnecta't"
31
+ powered_by: "Powered by %{active_admin} %{version}"
31
32
  sidebars:
32
33
  filters: "Filtres"
33
34
  pagination:
@@ -1,13 +1,17 @@
1
1
  cs:
2
2
  active_admin:
3
3
  dashboard: Úvod
4
- dashboard_welcome: "Vítejte v Active Admin. Toto je nástěnka. Pro přidání sekcí nástěnky se podívejte do 'app/admin/dashboards.rb'"
4
+ dashboard_welcome:
5
+ welcome: "Vítejte v Active Admin. Toto je nástěnka."
6
+ call_to_action: "Pro přidání sekcí nástěnky se podívejte do 'app/admin/dashboards.rb'"
5
7
  view: "Zobrazit"
6
8
  edit: "Upravit"
7
9
  delete: "Smazat"
8
10
  delete_confirmation: "Jste si jistí, že chcete tuto položku smazat?"
9
11
  new_model: "Nový"
12
+ create_model: "Nový"
10
13
  edit_model: "Upravit"
14
+ update_model: "Upravit"
11
15
  delete_model: "Smazat"
12
16
  details: "Detaily"
13
17
  cancel: "Zrušit"
@@ -25,6 +29,7 @@ cs:
25
29
  less_than: "Menší než"
26
30
  main_content: "Prosím implementujte %{model}#main_content pro zobrazení obsahu."
27
31
  logout: "Odhlášení"
32
+ powered_by: "Powered by %{active_admin} %{version}"
28
33
  sidebars:
29
34
  filters: "Filtr"
30
35
  pagination:
@@ -32,6 +37,9 @@ cs:
32
37
  one: "Zobrazena <b>1</b> položka"
33
38
  one_page: "Počet zobrazených položek %{n}"
34
39
  multiple: "<b>%{from}&nbsp;-&nbsp;%{to}</b> z <b>%{total}</b>"
40
+ entry:
41
+ one: "položka"
42
+ other: "položky"
35
43
  any: "Kterákoliv"
36
44
  blank_slate:
37
45
  content: "Zatím zde není žádný obsah."
@@ -27,6 +27,7 @@ da:
27
27
  less_than: "mindre end"
28
28
  main_content: "Implementer venligst %{model}#main_content for at vise noget indhold."
29
29
  logout: "Log ud"
30
+ powered_by: "Powered by %{active_admin} %{version}"
30
31
  sidebars:
31
32
  filters: "Filtre"
32
33
  pagination:
@@ -11,6 +11,7 @@ de:
11
11
  new_model: "%{model} erstellen"
12
12
  create_model: "%{model} erstellen"
13
13
  edit_model: "%{model} bearbeiten"
14
+ update_model: "%{model} bearbeiten"
14
15
  delete_model: "%{model} löschen"
15
16
  details: "%{model} Details"
16
17
  cancel: "Abbrechen"
@@ -28,6 +29,7 @@ de:
28
29
  less_than: "Kleiner als"
29
30
  main_content: "Bitte implementieren Sie %{model}#main_content, um Inhalte anzuzeigen."
30
31
  logout: "Abmelden"
32
+ powered_by: "Powered by %{active_admin} %{version}"
31
33
  sidebars:
32
34
  filters: "Filter"
33
35
  pagination:
@@ -42,6 +44,17 @@ de:
42
44
  blank_slate:
43
45
  content: "Es gibt noch keine %{resource_name}."
44
46
  link: "Erstellen"
47
+ batch_actions:
48
+ button_label: "Stapelverarbeitung"
49
+ delete_confirmation: "Sind Sie sicher dass sie diese %{plural_model} löschen wollen? Dies kann nicht rückgängig gemacht werden"
50
+ succesfully_destroyed:
51
+ one: "Erfolgreich 1 %{model} gelöscht"
52
+ other: "Erfolgreich %{count} %{plural_model} gelöscht"
53
+ selection_toggle_explanation: "(Auswahl umschalten)"
54
+ link: "erstellen"
55
+ action_label: "%{title} ausgewählte"
56
+ labels:
57
+ destroy: "Lösche"
45
58
  comments:
46
59
  body: "Inhalt"
47
60
  author: "Autor"
@@ -68,7 +81,7 @@ de:
68
81
  forgot_your_password: "Passwort vergessen?"
69
82
  activerecord:
70
83
  attributes:
71
- admin_user:
84
+ admin_user:
72
85
  id: ID
73
86
  email: E-Mail
74
87
  encrypted_Password: Verschlüsseltes Passwort
@@ -85,8 +98,8 @@ de:
85
98
  models:
86
99
  admin_user:
87
100
  one: Administrator
88
- other: Administratoren
89
- devise:
101
+ other: Administratoren
102
+ devise:
90
103
  failure:
91
104
  admin_user:
92
105
  invalid: Benutzername oder Kennwort nicht korrekt.
@@ -29,6 +29,7 @@ en:
29
29
  less_than: "Less Than"
30
30
  main_content: "Please implement %{model}#main_content to display content."
31
31
  logout: "Logout"
32
+ powered_by: "Powered by %{active_admin} %{version}"
32
33
  sidebars:
33
34
  filters: "Filters"
34
35
  pagination:
@@ -29,6 +29,7 @@ es:
29
29
  less_than: "Menor que"
30
30
  main_content: "Por favor implemente %{model}#main_content para mostrar contenido."
31
31
  logout: "Salir"
32
+ powered_by: "Powered by %{active_admin} %{version}"
32
33
  sidebars:
33
34
  filters: "Filtros"
34
35
  pagination:
@@ -29,6 +29,7 @@ fr:
29
29
  less_than: "Plus petit que"
30
30
  main_content: "Veuillez implémenter %{model}#main_content pour afficher le contenu."
31
31
  logout: "Déconnexion"
32
+ powered_by: "Propulsé par %{active_admin} %{version}"
32
33
  sidebars:
33
34
  filters: "Filtres"
34
35
  pagination:
@@ -51,7 +52,10 @@ fr:
51
52
  other: "%{count} %{plural_model} supprimés"
52
53
  selection_toggle_explanation: "(Inverser la sélection)"
53
54
  link: "Créer un"
54
- comments:
55
+ action_label: "%{title} les éléments sélectionnés"
56
+ labels:
57
+ destroy: "Supprimer"
58
+ comments:
55
59
  body: "Corps"
56
60
  author: "Auteur"
57
61
  title: "Commentaire"
@@ -19,7 +19,7 @@ he:
19
19
  previous: "הקודם"
20
20
  next: "הבא"
21
21
  download: "הורד:"
22
- has_many_new: "הוספת %{model חדש}"
22
+ has_many_new: "הוספת %{model} חדש"
23
23
  has_many_delete: "מחיקה"
24
24
  filter: "סינון"
25
25
  clear_filters: "איפוס שדות"
@@ -27,8 +27,9 @@ he:
27
27
  equal_to: "שווה ל"
28
28
  greater_than: "גדול מ"
29
29
  less_than: "פחות מ"
30
- main_content: "יש ליישם את התוכן של %{כדי להציג אותו כאן content."
30
+ main_content: "Please implement %{model}#main_content to display content."
31
31
  logout: "התנתקות"
32
+ powered_by: "Powered by %{active_admin} %{version}"
32
33
  sidebars:
33
34
  filters: "סינון"
34
35
  pagination:
@@ -29,6 +29,7 @@ hr:
29
29
  less_than: "Manje Od"
30
30
  main_content: "Molim Vas, implementirajte %{model}#main_content da bi ste prikazali sadržaj."
31
31
  logout: "Odjavi se"
32
+ powered_by: "Powered by %{active_admin} %{version}"
32
33
  sidebars:
33
34
  filters: "Filtriranje"
34
35
  pagination:
@@ -29,6 +29,7 @@ hu:
29
29
  less_than: "Kisebb, mint"
30
30
  main_content: "Kérem, implementálja a %{model}#main_content metódust a tartalom megjelenítéséhez."
31
31
  logout: "Kilépés"
32
+ powered_by: "Powered by %{active_admin} %{version}"
32
33
  sidebars:
33
34
  filters: "Szűrők"
34
35
  pagination:
@@ -13,12 +13,12 @@ it:
13
13
  edit_model: "Modifica %{model}"
14
14
  update_model: "Modifica %{model}"
15
15
  delete_model: "Rimuovi %{model}"
16
- details: "%{model} Dettagli"
16
+ details: "Dettagli %{model}"
17
17
  cancel: "Annulla"
18
18
  empty: "Vuoto"
19
19
  previous: "Precedente"
20
20
  next: "Prossimo"
21
- download: "Download:"
21
+ download: "Scarica:"
22
22
  has_many_new: "Aggiungi nuovo/a %{model}"
23
23
  has_many_delete: "Rimuovi"
24
24
  filter: "Filtra"
@@ -29,6 +29,7 @@ it:
29
29
  less_than: "Minore di"
30
30
  main_content: "Devi implemetare %{model}#main_content per mostrarne il contenuto."
31
31
  logout: "Esci"
32
+ powered_by: "Powered by %{active_admin} %{version}"
32
33
  sidebars:
33
34
  filters: "Filtri"
34
35
  pagination:
@@ -44,7 +45,7 @@ it:
44
45
  content: "Non sono presenti %{resource_name}"
45
46
  link: "Crea nuovo/a"
46
47
  batch_actions:
47
- button_label: "Azioni Batch"
48
+ button_label: "Azioni multiple"
48
49
  delete_confirmation: "Sei sicuro di volere cancellare %{plural_model}? Non sarà possibile annulare questa modifica."
49
50
  succesfully_destroyed:
50
51
  one: "Eliminato con successo 1 %{model}"
@@ -77,4 +78,4 @@ it:
77
78
  submit: "Cambia la mia password"
78
79
  links:
79
80
  sign_in: "Entra"
80
- forgot_your_password: "Dimenticato la password?"
81
+ forgot_your_password: "Dimenticato la password?"
@@ -27,6 +27,7 @@ ja:
27
27
  less_than: "より小さい"
28
28
  main_content: "内容を表示するために %{model}#main_content を実装してください。"
29
29
  logout: "ログアウト"
30
+ powered_by: "Powered by %{active_admin} %{version}"
30
31
  sidebars:
31
32
  filters: "検索条件"
32
33
  pagination:
@@ -39,18 +40,18 @@ ja:
39
40
  content: "%{resource_name} はまだありません。"
40
41
  link: "作成する"
41
42
  batch_actions:
42
- button_label: "バッチアクション"
43
- delete_confirmation: "あなたはこれらを削除してもよろしいです %{plural_model}? あなたはこれを取り消すことはできません。"
43
+ button_label: "一括操作"
44
+ delete_confirmation: "%{plural_model} を削除してもよろしいですか? この操作は取り消すことができません。"
44
45
  succesfully_destroyed:
45
- one: "首尾よく破壊された 1 %{model}"
46
- other: "首尾よく破壊された %{count} %{plural_model}"
47
- selection_toggle_explanation: "(トグルの選択)"
48
- link: "作成する1"
49
- action_label: "%{title} 選択した"
46
+ one: "1件の %{model} を削除しました"
47
+ other: "%{count}件の %{plural_model} を削除しました"
48
+ selection_toggle_explanation: "(選択)"
49
+ link: "作成する"
50
+ action_label: "選択した行を%{title}"
50
51
  labels:
51
52
  destroy: "削除する"
52
53
  comments:
53
- body: "ボディ"
54
+ body: "本文"
54
55
  author: "作成者"
55
56
  title: "コメント"
56
57
  add: "コメントを追加"
@@ -58,19 +59,18 @@ ja:
58
59
  no_comments_yet: "コメントはまだありません。"
59
60
  title_content: "コメント (%{count})"
60
61
  errors:
61
- empty_text: "コメントが保存されていない、テキストは空でした。"
62
+ empty_text: "テキストが空のため、コメントは保存されませんでした。"
62
63
  devise:
63
64
  login:
64
65
  title: "ログイン"
65
- remember_me: "私を覚えている"
66
+ remember_me: "次回から自動的にログイン"
66
67
  submit: "ログイン"
67
68
  reset_password:
68
69
  title: "パスワードをお忘れですか?"
69
- submit: "私のパスワードをリセットする"
70
+ submit: "パスワードをリセットする"
70
71
  change_password:
71
72
  title: "パスワードを変更する"
72
73
  submit: "パスワードを変更する"
73
74
  links:
74
75
  sign_in: "サインイン"
75
76
  forgot_your_password: "パスワードをお忘れですか?"
76
-