active_scaffold 4.3.2 → 4.4.0

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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.rdoc +19 -0
  3. data/README.md +1 -1
  4. data/app/assets/javascripts/active_scaffold/active_scaffold.js +98 -11
  5. data/app/assets/javascripts/active_scaffold/draggable_lists.js +4 -3
  6. data/app/assets/javascripts/active_scaffold/load.js +20 -5
  7. data/app/assets/stylesheets/active_scaffold/_images.scss +53 -1
  8. data/app/assets/stylesheets/active_scaffold/_layout.scss +1 -66
  9. data/app/views/active_scaffold_overrides/_add_existing_form.html.erb +17 -11
  10. data/app/views/active_scaffold_overrides/_base_form.html.erb +29 -19
  11. data/app/views/active_scaffold_overrides/_field_search.html.erb +9 -9
  12. data/app/views/active_scaffold_overrides/_field_search_columns.html.erb +29 -33
  13. data/app/views/active_scaffold_overrides/_form.html.erb +43 -34
  14. data/app/views/active_scaffold_overrides/_form_association.html.erb +3 -3
  15. data/app/views/active_scaffold_overrides/_form_association_footer.html.erb +20 -16
  16. data/app/views/active_scaffold_overrides/_form_association_record.html.erb +3 -4
  17. data/app/views/active_scaffold_overrides/_horizontal_subform_header.html.erb +2 -1
  18. data/app/views/active_scaffold_overrides/_list.html.erb +6 -4
  19. data/app/views/active_scaffold_overrides/_list_calculations.html.erb +1 -1
  20. data/app/views/active_scaffold_overrides/_list_header.html.erb +3 -3
  21. data/app/views/active_scaffold_overrides/_list_messages.html.erb +19 -19
  22. data/app/views/active_scaffold_overrides/_list_messages_content.html.erb +5 -5
  23. data/app/views/active_scaffold_overrides/_list_pagination.html.erb +7 -5
  24. data/app/views/active_scaffold_overrides/_list_pagination_links.html.erb +5 -3
  25. data/app/views/active_scaffold_overrides/_list_record.html.erb +13 -8
  26. data/app/views/active_scaffold_overrides/_list_with_header.html.erb +8 -8
  27. data/app/views/active_scaffold_overrides/_messages.html.erb +3 -3
  28. data/app/views/active_scaffold_overrides/_render_field.js.erb +8 -11
  29. data/app/views/active_scaffold_overrides/_search.html.erb +7 -6
  30. data/app/views/active_scaffold_overrides/_show.html.erb +4 -4
  31. data/app/views/active_scaffold_overrides/_show_actions.html.erb +2 -2
  32. data/app/views/active_scaffold_overrides/_show_columns.html.erb +28 -30
  33. data/app/views/active_scaffold_overrides/add_existing.js.erb +7 -4
  34. data/app/views/active_scaffold_overrides/render_field.js.erb +1 -1
  35. data/config/locales/de.yml +2 -1
  36. data/config/locales/en.yml +33 -32
  37. data/config/locales/es.yml +15 -14
  38. data/config/locales/fr.yml +3 -2
  39. data/config/locales/hu.yml +3 -2
  40. data/config/locales/ja.yml +2 -1
  41. data/config/locales/ro.yml +169 -0
  42. data/config/locales/ru.yml +8 -7
  43. data/config/locales/ta.yml +7 -6
  44. data/config/locales/zh_Hans.yml +14 -13
  45. data/lib/active_scaffold/actions/common_search.rb +1 -14
  46. data/lib/active_scaffold/actions/core.rb +55 -16
  47. data/lib/active_scaffold/actions/field_search.rb +2 -2
  48. data/lib/active_scaffold/actions/list.rb +35 -13
  49. data/lib/active_scaffold/actions/nested.rb +31 -7
  50. data/lib/active_scaffold/actions/show.rb +1 -1
  51. data/lib/active_scaffold/active_record_permissions.rb +1 -1
  52. data/lib/active_scaffold/attribute_params.rb +2 -1
  53. data/lib/active_scaffold/bridges/date_picker/helper.rb +14 -0
  54. data/lib/active_scaffold/bridges/date_picker.rb +10 -0
  55. data/lib/active_scaffold/config/list.rb +10 -1
  56. data/lib/active_scaffold/core.rb +9 -6
  57. data/lib/active_scaffold/data_structures/action_columns.rb +2 -0
  58. data/lib/active_scaffold/data_structures/column.rb +27 -6
  59. data/lib/active_scaffold/data_structures/filter.rb +4 -0
  60. data/lib/active_scaffold/data_structures/nested_info.rb +8 -1
  61. data/lib/active_scaffold/data_structures/sorting.rb +1 -1
  62. data/lib/active_scaffold/extensions/action_view_rendering.rb +1 -1
  63. data/lib/active_scaffold/finder.rb +66 -21
  64. data/lib/active_scaffold/helpers/action_link_helpers.rb +43 -18
  65. data/lib/active_scaffold/helpers/assets_helpers.rb +4 -4
  66. data/lib/active_scaffold/helpers/filter_helpers.rb +3 -3
  67. data/lib/active_scaffold/helpers/form_column_helpers.rb +34 -22
  68. data/lib/active_scaffold/helpers/form_ui_helpers.rb +15 -10
  69. data/lib/active_scaffold/helpers/framework_ui_helpers.rb +22 -0
  70. data/lib/active_scaffold/helpers/human_condition_helpers.rb +1 -0
  71. data/lib/active_scaffold/helpers/list_column_helpers.rb +19 -0
  72. data/lib/active_scaffold/helpers/pagination_helpers.rb +28 -7
  73. data/lib/active_scaffold/helpers/search_column_helpers.rb +32 -5
  74. data/lib/active_scaffold/helpers/tabs_helpers.rb +3 -5
  75. data/lib/active_scaffold/helpers/view_helpers.rb +12 -0
  76. data/lib/active_scaffold/tableless.rb +11 -8
  77. data/lib/active_scaffold/version.rb +2 -2
  78. data/lib/active_scaffold.rb +169 -0
  79. data/lib/tasks/bundle.rake +2 -1
  80. data/lib/tasks/mock_app.rake +43 -0
  81. metadata +20 -7
  82. data/shoulda_macros/macros.rb +0 -145
@@ -1,8 +1,8 @@
1
- <h4><%= active_scaffold_config.show.label(@record.to_label.nil? ? nil : h(@record.to_label)) %></h4>
1
+ <%= as_element :show_title, active_scaffold_config.show.label(@record.to_label.nil? ? nil : h(@record.to_label)) %>
2
2
 
3
3
  <%= render 'show_columns', columns: active_scaffold_config.show.columns, record: @record -%>
4
4
 
5
- <p class="form-footer">
6
- <%= link_to as_(:close), main_path_to_return, class: 'as_cancel', remote: request.xhr? %>
5
+ <%= as_element :show_footer do %>
6
+ <%= link_to as_(:close), main_path_to_return, as_element_attributes(:show_cancel, class: 'as_cancel', remote: request.xhr?) %>
7
7
  <%= loading_indicator_tag(action: :create, id: params[:id]) %>
8
- </p>
8
+ <% end %>
@@ -1,5 +1,5 @@
1
1
  <div class="active-scaffold-<%= position %>">
2
- <div class="actions">
2
+ <%= as_element :show_actions, class: 'actions' do %>
3
3
  <% active_scaffold_config.action_links.member.each do |link| -%>
4
4
  <%
5
5
  next unless display_link_in_show?(link, position)
@@ -10,5 +10,5 @@
10
10
  -%>
11
11
  <%= render_action_link(link, record, authorized: true, page: true) -%>
12
12
  <% end -%>
13
- </div>
13
+ <% end %>
14
14
  </div>
@@ -1,30 +1,28 @@
1
- <dl>
2
- <% columns.each_column(for: record) do |column| %>
3
- <dt><%= show_label(column) -%></dt>
4
- <% if column.respond_to? :each_column -%>
5
- <dd>
6
- <% locals = {columns: column, record: record} %>
7
- <% if column.tabbed_by %>
8
- <div>
9
- <%=
10
- locals[:tabbed_by] = column.tabbed_by
11
- subsection_id = sub_section_id(sub_section: column.label)
12
- tab_options = send(override_helper_per_model(:active_scaffold_tab_options, record.class), column, record)
13
- used_tabs = send(override_helper_per_model(:active_scaffold_current_tabs, record.class), column, record, tab_options)
14
- active_scaffold_tabs_for(column, record, subsection_id, tab_options, used_tabs) do |tab_value, tab_id|
15
- render 'show_columns', locals.merge(tab_id: tab_id, tab_value: tab_value)
16
- end
17
- %>
18
- </div>
19
- <% else %>
20
- <%= render 'show_columns', locals %>
21
- <% end %>
22
- <% else -%>
23
- <% css_class = "#{column.name}-view"
24
- css_class.concat(" #{column.css_class}") unless column.css_class.nil? %>
25
- <dd class="<%= css_class.strip %>">
26
- <%= show_column_value(record, column, **local_assigns.slice(:tabbed_by, :tab_id, :tab_value)) -%>
27
- <% end -%>
28
- </dd>
29
- <% end -%>
30
- </dl>
1
+ <%= as_element :show_columns_block do %>
2
+ <% columns.each_column(for: record) do |column| %>
3
+ <%= as_element :show_label_block, show_label(column) -%>
4
+ <% if column.respond_to? :each_column -%>
5
+ <%= as_element :show_columns_group do %>
6
+ <% locals = {columns: column, record: record} %>
7
+ <% if column.tabbed_by %>
8
+ <div>
9
+ <%=
10
+ locals[:tabbed_by] = column.tabbed_by
11
+ subsection_id = sub_section_id(sub_section: column.label)
12
+ tab_options = send(override_helper_per_model(:active_scaffold_tab_options, record.class), column, record)
13
+ used_tabs = send(override_helper_per_model(:active_scaffold_current_tabs, record.class), column, record, tab_options)
14
+ active_scaffold_tabs_for(column, record, subsection_id, tab_options, used_tabs) do |tab_value, tab_id|
15
+ render 'show_columns', locals.merge(tab_id: tab_id, tab_value: tab_value)
16
+ end
17
+ %>
18
+ </div>
19
+ <% else %>
20
+ <%= render 'show_columns', locals %>
21
+ <% end %>
22
+ <% end %>
23
+ <% else -%>
24
+ <% css_class = "#{column.name}-view #{column.css_class unless column.css_class.is_a?(Proc)}" %>
25
+ <%= as_element :show_value_block, show_column_value(record, column, **local_assigns.slice(:tabbed_by, :tab_id, :tab_value)), class: css_class.strip -%>
26
+ <% end -%>
27
+ <% end -%>
28
+ <% end %>
@@ -1,12 +1,15 @@
1
- <% new_row = render list_record_view, record: @record %>
2
- ActiveScaffold.create_record_row('<%= active_scaffold_id %>', '<%= escape_javascript(new_row) %>', <%= {insert_at: :top}.to_json.html_safe %>);
1
+ <% unless @association_already_exists %>
2
+ <% new_row = render list_record_view, record: @record %>
3
+ ActiveScaffold.create_record_row('<%= active_scaffold_id %>', '<%= escape_javascript(new_row) %>', <%= {insert_at: :top}.to_json.html_safe %>);
3
4
 
4
- <%= render 'update_calculations' %>
5
+ <%= render 'update_calculations' %>
6
+ <% end %>
5
7
 
6
8
  <% if form_stays_open ||= true %>
7
9
  <%# why not just re-render the form? that wouldn't utilize a possible do_new override which sets default values.%>
8
10
  ActiveScaffold.reset_form('<%= element_form_id %>');
9
- ActiveScaffold.replace_html('<%= element_messages_id(action: :add_existing) %>', '<%= escape_javascript(render(partial: 'form_messages')) %>');
11
+ <% messages_partial = @association_already_exists ? 'messages' : 'form_messages' %>
12
+ ActiveScaffold.replace_html('<%= element_messages_id(action: :add_existing) %>', '<%= escape_javascript(render(partial: messages_partial)) %>');
10
13
  <%# have to delay the focus, because there's no "firstElement" in prototype until at least one element is not disabled%>
11
14
  ActiveScaffold.focus_first_element_of_form('<%= element_form_id %>');
12
15
  <% else %>
@@ -1 +1 @@
1
- <%= render partial: 'render_field', collection: @columns, locals: {source_id: @source_id, scope: @scope} %>
1
+ <%= render partial: 'render_field', collection: @columns, as: :column, locals: {source_id: @source_id, scope: @scope} %>
@@ -20,7 +20,7 @@ de:
20
20
  begins_with: Beginnt
21
21
  between: Zwischen
22
22
  cancel: Abbrechen
23
- cant_destroy_record: "%{record} kann nicht gelöscht werden"
23
+ cant_destroy_record: "%{record} kann nicht gelöscht werden."
24
24
  changes: Änderungen
25
25
  check_all: Check all
26
26
  click_to_edit: Zum Editieren anklicken
@@ -146,6 +146,7 @@ de:
146
146
  weeks: Wochen
147
147
  years: Jahre
148
148
  yesterday: Gestern
149
+ already_added_model: '%{model} has already been added.'
149
150
  date:
150
151
  formats:
151
152
  month: "%B"
@@ -9,10 +9,11 @@ en:
9
9
  _select_: "- select -"
10
10
  _to_: " to "
11
11
  add: Add
12
- add_existing: Add Existing
13
- add_existing_model: Add Existing %{model}
12
+ add_existing: Add existing
13
+ add_existing_model: Add existing %{model}
14
14
  add_model: Add %{model}
15
15
  all_tokens: All keywords
16
+ already_added_model: "%{model} has already been added."
16
17
  any_token: Any keyword
17
18
  apply: Apply
18
19
  are_you_sure_to_delete: Are you sure you want to delete %{label}?
@@ -20,20 +21,20 @@ en:
20
21
  begins_with: Begins with
21
22
  between: Between
22
23
  cancel: Cancel
23
- cant_destroy_record: "%{record} can't be destroyed"
24
+ cant_destroy_record: "%{record} can't be destroyed."
24
25
  changes: Changes
25
26
  check_all: Check all
26
27
  click_to_edit: Click to edit
27
28
  click_to_reset: Click to reset
28
29
  close: Close
29
30
  config_list: Configure
30
- config_list_model: Configure Columns for %{model}
31
+ config_list_model: Configure columns for %{model}
31
32
  contains: Contains
32
33
  create: Create
33
- create_another: Create Another %{model}
34
+ create_another: Create another %{model}
34
35
  create_apply: Create and continue
35
36
  create_model: Create %{model}
36
- create_new: Create New
37
+ create_new: Create new
37
38
  created_model: Created %{model}
38
39
  customize: Customize
39
40
  date_picker_options:
@@ -49,7 +50,7 @@ en:
49
50
  days: Days
50
51
  delete: Delete
51
52
  deleted_model: Deleted %{model}
52
- deleted_records: List Deleted Records
53
+ deleted_records: List deleted records
53
54
  delimiter: Delimiter
54
55
  doesnt_begin_with: Doesn't begin with
55
56
  doesnt_contain: Doesn't contain
@@ -57,13 +58,13 @@ en:
57
58
  download: Download
58
59
  edit: Edit
59
60
  ends_with: Ends with
60
- error_500: "(code 500, Internal Error)"
61
+ error_500: "(code 500, internal error)"
61
62
  errors:
62
63
  template:
63
64
  body: 'There were problems with the following fields:'
64
65
  header:
65
66
  one: 1 error prohibited this %{model} from being saved.
66
- other: "%{count} errors prohibited this %{model} from being saved"
67
+ other: '%{count} errors prohibited this %{model} from being saved.'
67
68
  export: Export
68
69
  'false': 'False'
69
70
  filtered: "(Filtered)"
@@ -77,10 +78,10 @@ en:
77
78
  association: "%{column} = %{value}"
78
79
  boolean: "%{column} = %{value}"
79
80
  inplace_edit_handle: "--"
80
- internal_error: Request Failed
81
- live_search: Live Search
81
+ internal_error: Request failed
82
+ live_search: Live search
82
83
  loading: Loading…
83
- logical_search: Logical Search
84
+ logical_search: Logical search
84
85
  mark_all_records: Mark all
85
86
  maximum: Maximum
86
87
  minimum: Minimum
@@ -89,50 +90,50 @@ en:
89
90
  nested_for_model: "%{nested_model} for %{parent_model}"
90
91
  nested_of_model: "%{nested_model} of %{parent_model}"
91
92
  next: Next
92
- next_month: Next Month
93
- next_week: Next Week
94
- next_year: Next Year
95
- no_authorization_for_action: No Authorization for action %{action}
93
+ next_month: Next month
94
+ next_week: Next week
95
+ next_year: Next year
96
+ no_authorization_for_action: No authorization for action %{action}.
96
97
  no_color: No color
97
- no_entries: No Entries
98
+ no_entries: No entries
98
99
  no_group: No group
99
- no_options: no options
100
- not_null: Not Null
100
+ no_options: No options
101
+ not_null: Not null
101
102
  'null': 'Null'
102
- omit_header: Omit Header
103
- optional_attributes: Further Options
103
+ omit_header: Omit header
104
+ optional_attributes: Further options
104
105
  options: Options
105
106
  past: Past
106
107
  pdf: PDF
107
- prev_month: Last Month
108
- prev_week: Last Week
108
+ prev_month: Last month
109
+ prev_week: Last week
109
110
  prev_year: Last Year
110
111
  previous: Previous
111
112
  print: Print
112
113
  range: Range
113
- record_not_saved: Failed to save record cause of an unknown error
114
+ record_not_saved: Failed to save record cause of an unknown error.
114
115
  records_marked:
115
116
  one: 1 marked %{model}
116
117
  other: "%{count} marked %{model}"
117
118
  refresh: Refresh
118
119
  remove: Remove
119
- remove_file: Remove or Replace file
120
- remove_files: Remove or Add files
121
- replace_existing: Replace Existing
122
- replace_with_new: Replace With New
120
+ remove_file: Remove or replace file
121
+ remove_files: Remove or add files
122
+ replace_existing: Replace existing
123
+ replace_with_new: Replace with new
123
124
  reset: Reset
124
125
  revisions_for_model: Revisions for %{model}
125
126
  saving: Saving…
126
127
  search: Search
127
- search_terms: Search Terms
128
+ search_terms: Search terms
128
129
  seconds: Seconds
129
130
  show: Show
130
131
  show_block: "(Show)"
131
132
  show_model: Show %{model}
132
133
  sum: Sum
133
- this_month: This Month
134
- this_week: This Week
135
- this_year: This Year
134
+ this_month: This month
135
+ this_week: This week
136
+ this_year: This year
136
137
  today: Today
137
138
  tomorrow: Tomorrow
138
139
  'true': 'True'
@@ -13,6 +13,7 @@ es:
13
13
  add_existing_model: Añadir %{model} Existente
14
14
  add_model: Añadir %{model}
15
15
  all_tokens: Todas las palabras
16
+ already_added_model: "%{model} ya estaba añadido."
16
17
  any_token: Cualquier palabra
17
18
  apply: Aplicar
18
19
  are_you_sure_to_delete: "¿Estás seguro de que quieres borrar %{label}?"
@@ -20,7 +21,7 @@ es:
20
21
  begins_with: Empieza con
21
22
  between: Entre
22
23
  cancel: Cancelar
23
- cant_destroy_record: No se pudo borrar %{record}
24
+ cant_destroy_record: No se pudo borrar %{record}.
24
25
  changes: Cambios
25
26
  check_all: Seleccionar todo
26
27
  click_to_edit: Pulsa para editar
@@ -30,10 +31,10 @@ es:
30
31
  config_list_model: Configurar columnas de %{model}
31
32
  contains: Contiene
32
33
  create: Crear
33
- create_another: Crear Otro %{model}
34
+ create_another: Crear otro %{model}
34
35
  create_apply: Crear y continuar
35
36
  create_model: Crear %{model}
36
- create_new: Crear Nuevo
37
+ create_new: Crear nuevo
37
38
  created_model: "%{model} creado"
38
39
  customize: Personalizar
39
40
  date_picker_options:
@@ -49,7 +50,7 @@ es:
49
50
  days: Días
50
51
  delete: Borrar
51
52
  deleted_model: "%{model} borrado"
52
- deleted_records: Ver Eliminados
53
+ deleted_records: Ver eliminados
53
54
  delimiter: Delimitador
54
55
  doesnt_begin_with: No empieza con
55
56
  doesnt_contain: No contiene
@@ -82,9 +83,9 @@ es:
82
83
  boolean: "%{column} = %{value}"
83
84
  inplace_edit_handle: "--"
84
85
  internal_error: Petición fallida
85
- live_search: Buscar en Vivo
86
+ live_search: Buscar en vivo
86
87
  loading: Cargando…
87
- logical_search: Búsqueda Logica
88
+ logical_search: Búsqueda logica
88
89
  mark_all_records: Seleccionar todos
89
90
  maximum: Máximo
90
91
  minimum: Mínimo
@@ -97,14 +98,14 @@ es:
97
98
  next_week: Próxima semana
98
99
  next_year: Próximo año
99
100
  no_authorization_for_action: No dispone de autorización para la acción
100
- %{action}
101
+ %{action}.
101
102
  no_color: Sin color
102
103
  no_entries: Sin entradas
103
104
  no_group: No agrupar
104
- no_options: sin opciones
105
- not_null: No Nulo
105
+ no_options: Sin opciones
106
+ not_null: No nulo
106
107
  'null': Nulo
107
- omit_header: Omitir Cabecera
108
+ omit_header: Omitir cabecera
108
109
  optional_attributes: Más opciones
109
110
  options: Opciones
110
111
  past: Pasado
@@ -115,17 +116,17 @@ es:
115
116
  previous: Anterior
116
117
  print: Imprimir
117
118
  range: Rango
118
- record_not_saved: Fallo guardando el registro debido a un error desconocido
119
+ record_not_saved: Fallo guardando el registro debido a un error desconocido.
119
120
  records_marked:
120
121
  one: 1 %{model} seleccionado
121
122
  many: '%{count} %{model} seleccionados'
122
123
  other: '%{count} %{model} seleccionados'
123
124
  refresh: Recargar
124
125
  remove: Eliminar
125
- remove_file: Eliminar o Reemplazar archivo
126
- remove_files: Eliminar o Añadir archivos
126
+ remove_file: Eliminar o reemplazar archivo
127
+ remove_files: Eliminar o añadir archivos
127
128
  replace_existing: Reemplazar existente
128
- replace_with_new: Reemplazar con Nuevo
129
+ replace_with_new: Reemplazar con nuevo
129
130
  reset: Restaurar
130
131
  revisions_for_model: Revisiones de %{model}
131
132
  saving: Guardando…
@@ -20,7 +20,7 @@ fr:
20
20
  begins_with: Commençant par
21
21
  between: Entre
22
22
  cancel: Annuler
23
- cant_destroy_record: "%{record} ne peut être supprimé"
23
+ cant_destroy_record: "%{record} ne peut être supprimé."
24
24
  changes: Changement
25
25
  check_all: Check all
26
26
  click_to_edit: Cliquer pour éditer
@@ -112,7 +112,7 @@ fr:
112
112
  print: Imprimer
113
113
  range: Intervale
114
114
  record_not_saved: Impossible d'enregistrer l'enregistrement à cause d'une
115
- erreur inconnue
115
+ erreur inconnue.
116
116
  records_marked:
117
117
  one: 1 %{model} marqué
118
118
  many: '%{count} %{model} marqués'
@@ -149,6 +149,7 @@ fr:
149
149
  weeks: Semaines
150
150
  years: Années
151
151
  yesterday: Hier
152
+ already_added_model: '%{model} has already been added.'
152
153
  date:
153
154
  formats:
154
155
  month: "%B"
@@ -20,7 +20,7 @@ hu:
20
20
  begins_with: Begins with
21
21
  between: Között
22
22
  cancel: Mégse
23
- cant_destroy_record: 'nem törölhető: %{record}'
23
+ cant_destroy_record: 'nem törölhető: %{record}.'
24
24
  changes: Changes
25
25
  check_all: Check all
26
26
  click_to_edit: Kattints a szerkesztéshez
@@ -110,7 +110,7 @@ hu:
110
110
  previous: Előző
111
111
  print: Nyomtatás
112
112
  range: Range
113
- record_not_saved: Failed to save record cause of an unknown error
113
+ record_not_saved: Failed to save record cause of an unknown error.
114
114
  records_marked:
115
115
  one: 1 marked %{model}
116
116
  other: "%{count} marked %{model}"
@@ -146,6 +146,7 @@ hu:
146
146
  weeks: Weeks
147
147
  years: Years
148
148
  yesterday: Yesterday
149
+ already_added_model: '%{model} has already been added.'
149
150
  date:
150
151
  formats:
151
152
  month: '%B'
@@ -20,7 +20,7 @@ ja:
20
20
  begins_with: 開始時間
21
21
  between: 範囲指定
22
22
  cancel: キャンセル
23
- cant_destroy_record: "%{record}を削除できません"
23
+ cant_destroy_record: "%{record}を削除できません."
24
24
  changes: 差分
25
25
  check_all: Check all
26
26
  click_to_edit: クリックして編集
@@ -143,6 +143,7 @@ ja:
143
143
  weeks: 週間分
144
144
  years: 年分
145
145
  yesterday: 昨日
146
+ already_added_model: '%{model} has already been added.'
146
147
  date:
147
148
  formats:
148
149
  month: "%m月"
@@ -0,0 +1,169 @@
1
+ ro:
2
+ active_scaffold:
3
+ "!=": "!="
4
+ "<": "<"
5
+ "<=": "<="
6
+ "=": "="
7
+ ">": ">"
8
+ ">=": ">="
9
+ _select_: "- alegeți -"
10
+ _to_: " către "
11
+ add: 'Adaugă'
12
+ add_existing: 'Adaugă obiect existent'
13
+ add_existing_model: 'Adaugă %{model} existent(ă)'
14
+ add_model: 'Adaugă %{model}'
15
+ all_tokens: 'Toate cuvintele'
16
+ any_token: 'Oricare cuvânt'
17
+ apply: 'Modifică'
18
+ are_you_sure_to_delete: 'Sunteți sigur că doriți să ștergeți %{label}?'
19
+ average: 'Media'
20
+ begins_with: 'Începe cu'
21
+ between: 'Între'
22
+ cancel: 'Anulează'
23
+ cant_destroy_record: "%{record} nu poate fi șters/ștearsă."
24
+ changes: 'Modificări'
25
+ check_all: 'Marcați toate'
26
+ click_to_edit: 'Clic pentru a modifica'
27
+ click_to_reset: 'Clic pentru a reseta'
28
+ close: 'Închide'
29
+ config_list: 'Configurează'
30
+ config_list_model: 'Configurează coloanele pentru %{model}'
31
+ contains: 'Conține'
32
+ create: 'Creează'
33
+ create_another: 'Creează alt(ă) %{model}'
34
+ create_apply: 'Creează și continuă'
35
+ create_model: 'Creează un/o %{model}'
36
+ create_new: 'Creează un obiect nou'
37
+ created_model: '%{model} creat(ă)'
38
+ customize: 'Particularizează'
39
+ date_picker_options:
40
+ firstDay: '1'
41
+ isRTL: 'false'
42
+ showMonthAfterYear: 'false'
43
+ weekHeader: 'Săpt'
44
+ datetime_picker_options:
45
+ closeText: 'Închide'
46
+ currentText: 'Acum'
47
+ timeText: 'Ora'
48
+ timezoneText: 'Fusul orar'
49
+ days: 'Zile'
50
+ delete: 'Șterge'
51
+ deleted_model: '%{model} șters'
52
+ deleted_records: 'Afișează înregistrările șterse'
53
+ delimiter: 'Delimitator'
54
+ doesnt_begin_with: 'Nu începe cu'
55
+ doesnt_contain: 'Nu conține'
56
+ doesnt_end_with: 'Nu se termină cu'
57
+ download: 'Descarcă'
58
+ edit: 'Modifică'
59
+ ends_with: 'Se termină în'
60
+ error_500: "(cod 500, eroare internă)"
61
+ errors:
62
+ template:
63
+ body: 'Au fost probleme cu următoarele câmpuri:'
64
+ header:
65
+ one: Din cauza unei erori nu s-a putut salva acest/această %{model}.
66
+ few: Din cauza a %{count} erori nu s-a putut salva acest/această
67
+ %{model}.
68
+ other:
69
+ export: 'Exportă'
70
+ 'false': 'Nu'
71
+ filtered: "(Filtrat)"
72
+ found: 'Găsi(t/tă/te/ți)'
73
+ future: 'Viitor'
74
+ group_by: 'Grupează după'
75
+ grouped_by: 'Grupat după %{column}'
76
+ hide: "(Ascunde)"
77
+ hours: 'Ore'
78
+ human_conditions:
79
+ association: "%{column} = %{value}"
80
+ boolean: "%{column} = %{value}"
81
+ inplace_edit_handle: "--"
82
+ internal_error: 'Cererea a eșuat'
83
+ live_search: 'Căutare rapidă'
84
+ loading: 'Se încarcă…'
85
+ logical_search: 'Căutare condițională'
86
+ mark_all_records: 'Marchează tot'
87
+ maximum: 'Maxim'
88
+ minimum: 'Minim'
89
+ minutes: 'Minute'
90
+ months: 'Luni'
91
+ nested_for_model: "%{nested_model} pentru %{parent_model}"
92
+ nested_of_model: "%{nested_model} a/al %{parent_model}"
93
+ next: 'Următorul'
94
+ next_month: 'Luna următoare'
95
+ next_week: 'Săptămâna următoare'
96
+ next_year: 'Anul următor'
97
+ no_authorization_for_action: 'Nu aveți dreptul să %{action}.'
98
+ no_color: 'Nicio culoare'
99
+ no_entries: 'Nicio înregistrare'
100
+ no_group: 'Niciun grup'
101
+ no_options: 'Nicio opțiune'
102
+ not_null: 'Completat'
103
+ 'null': 'Nul'
104
+ omit_header: 'Omite capul de tabel'
105
+ optional_attributes: 'Opțiuni suplimentare'
106
+ options: 'Opțiuni'
107
+ past: 'Trecut'
108
+ pdf: 'PDF'
109
+ prev_month: 'Luna trecută'
110
+ prev_week: 'Săptămâna trecută'
111
+ prev_year: 'Anul trecut'
112
+ previous: 'Anterior'
113
+ print: 'Listează'
114
+ range: 'Interval'
115
+ record_not_saved: 'Înregistrarea nu s-a putut salva din cauza unei erori necunoscute.'
116
+ records_marked:
117
+ one: un/o %{model} marcat(ă)
118
+ few: '%{count} %{model} marcați(te)'
119
+ other:
120
+ refresh: 'Împrospătează'
121
+ remove: 'Emilină'
122
+ remove_file: 'Elimină sau înlocuiește fișierul'
123
+ remove_files: 'Elimină sau adaugă fișiere'
124
+ replace_existing: 'Înlocuiește obiectul existent'
125
+ replace_with_new: 'Înlocuiește cu un obiect nou'
126
+ reset: 'Resetează'
127
+ revisions_for_model: 'Versiuni anterioare pentru %{model}'
128
+ saving: 'Se salvează…'
129
+ search: 'Caută'
130
+ search_terms: 'Criterii de căutare'
131
+ seconds: 'Secunde'
132
+ show: 'Arată'
133
+ show_block: "(Arată)"
134
+ show_model: 'Arată %{model}'
135
+ sum: 'Suma'
136
+ this_month: 'Această lună'
137
+ this_week: 'Această săptămână'
138
+ this_year: 'Acest an'
139
+ today: 'Astăzi'
140
+ tomorrow: 'Mâine'
141
+ 'true': 'Da'
142
+ uncheck_all: 'Demarcați toate'
143
+ update: 'Modifică'
144
+ update_apply: 'Actualizează'
145
+ update_model: 'Modifică %{model}'
146
+ updated_model: '%{model} modficat(ă)'
147
+ version_inconsistency: 'Versiune eronată - această înregistrare a fost modificată
148
+ de altcineva în timp ce dumneavoastră o editați.'
149
+ weeks: 'Săptămâni'
150
+ years: 'Ani'
151
+ yesterday: 'Ieri'
152
+ already_added_model: '%{model} has already been added.'
153
+ date:
154
+ formats:
155
+ month: "%B"
156
+ quarter: 'Trimestrul %{num}'
157
+ week: 'Săptămâna %W, %Y'
158
+ year_month: "%b %Y"
159
+ year_quarter: 'Trimestrul %{quarter} %{year}'
160
+ time:
161
+ formats:
162
+ picker: "%a, %d %b %Y %H:%M:%S"
163
+ datetime:
164
+ prompts:
165
+ hour: 'Ora'
166
+ minute: 'Minutul'
167
+ second: 'Secunda'
168
+ millisec: 'Milisecunda'
169
+ microsec: 'Microsecunda'
@@ -20,7 +20,7 @@ ru:
20
20
  begins_with: Начинается с
21
21
  between: В интервале
22
22
  cancel: Отмена
23
- cant_destroy_record: Запись %{record} не может быть удалена
23
+ cant_destroy_record: Запись %{record} не может быть удалена.
24
24
  changes: Изменения
25
25
  check_all: Выбрать все
26
26
  click_to_edit: Нажмите для редактирования
@@ -62,9 +62,9 @@ ru:
62
62
  template:
63
63
  body: 'Проблемы возникли со следующими полями:'
64
64
  header:
65
- one: '%{model}: сохранение не удалось из-за %{count} ошибки'
66
- few: '%{model}: сохранение не удалось из-за %{count} ошибок'
67
- many: '%{model}: сохранение не удалось из-за %{count} ошибок'
65
+ one: '%{model}: сохранение не удалось из-за %{count} ошибки.'
66
+ few: '%{model}: сохранение не удалось из-за %{count} ошибок.'
67
+ many: '%{model}: сохранение не удалось из-за %{count} ошибок.'
68
68
  export: Экспорт
69
69
  'false': Нет
70
70
  filtered: "(Найденное)"
@@ -96,7 +96,7 @@ ru:
96
96
  next_month: В следующем месяце
97
97
  next_week: На следующей неделе
98
98
  next_year: В следующем году
99
- no_authorization_for_action: Нет прав на выполнение действия "%{action}"
99
+ no_authorization_for_action: Нет прав на выполнение действия "%{action}".
100
100
  no_color: Без цвета
101
101
  no_entries: Нет записей
102
102
  no_group: Без группы
@@ -114,7 +114,7 @@ ru:
114
114
  previous: Предыдущее
115
115
  print: Печать
116
116
  range: Интервал
117
- record_not_saved: Запись не может быть сохранена из-за неизвестной ошибки
117
+ record_not_saved: Запись не может быть сохранена из-за неизвестной ошибки.
118
118
  records_marked:
119
119
  one: Отмечена 1 запись
120
120
  few: Отмечено %{count} записи
@@ -147,10 +147,11 @@ ru:
147
147
  update_model: "%{model}: обновить запись"
148
148
  updated_model: "%{model}: запись обновлена"
149
149
  version_inconsistency: Эта запись была обновлена с того момента, как вы
150
- начали ее редактировать
150
+ начали ее редактировать.
151
151
  weeks: недель
152
152
  years: лет
153
153
  yesterday: Вчера
154
+ already_added_model: '%{model} has already been added.'
154
155
  date:
155
156
  formats:
156
157
  month: '%B'