avo 2.21.0 → 2.21.1.pre.issue1444

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

Potentially problematic release.


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

Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/app/components/avo/empty_state_component.html.erb +1 -1
  4. data/app/components/avo/empty_state_component.rb +10 -12
  5. data/app/components/avo/fields/belongs_to_field/edit_component.rb +1 -1
  6. data/app/components/avo/fields/boolean_field/edit_component.html.erb +1 -1
  7. data/app/components/avo/fields/boolean_group_field/edit_component.html.erb +1 -1
  8. data/app/components/avo/fields/code_field/edit_component.html.erb +2 -2
  9. data/app/components/avo/fields/country_field/edit_component.html.erb +1 -1
  10. data/app/components/avo/fields/date_field/edit_component.html.erb +2 -2
  11. data/app/components/avo/fields/date_time_field/edit_component.html.erb +2 -2
  12. data/app/components/avo/fields/edit_component.rb +0 -4
  13. data/app/components/avo/fields/external_image_field/edit_component.html.erb +1 -1
  14. data/app/components/avo/fields/file_field/edit_component.html.erb +1 -1
  15. data/app/components/avo/fields/files_field/edit_component.html.erb +1 -1
  16. data/app/components/avo/fields/has_one_field/show_component.html.erb +3 -3
  17. data/app/components/avo/fields/markdown_field/edit_component.html.erb +1 -1
  18. data/app/components/avo/fields/markdown_field/show_component.html.erb +1 -1
  19. data/app/components/avo/fields/number_field/edit_component.html.erb +1 -1
  20. data/app/components/avo/fields/password_field/edit_component.html.erb +1 -1
  21. data/app/components/avo/fields/progress_bar_field/edit_component.html.erb +1 -1
  22. data/app/components/avo/fields/select_field/edit_component.html.erb +1 -1
  23. data/app/components/avo/fields/show_component.rb +0 -4
  24. data/app/components/avo/fields/status_field/edit_component.html.erb +1 -1
  25. data/app/components/avo/fields/tags_field/edit_component.html.erb +2 -2
  26. data/app/components/avo/fields/text_field/edit_component.html.erb +1 -1
  27. data/app/components/avo/fields/textarea_field/edit_component.html.erb +1 -1
  28. data/app/components/avo/fields/time_field/edit_component.html.erb +2 -2
  29. data/app/components/avo/fields/trix_field/edit_component.html.erb +2 -3
  30. data/app/components/avo/fields/trix_field/edit_component.rb +1 -5
  31. data/app/components/avo/index/resource_grid_component.html.erb +1 -1
  32. data/app/components/avo/index/resource_table_component.rb +3 -3
  33. data/app/components/avo/paginator_component.html.erb +5 -1
  34. data/app/components/avo/paginator_component.rb +0 -8
  35. data/app/components/avo/resource_component.rb +2 -17
  36. data/app/components/avo/views/resource_index_component.html.erb +1 -1
  37. data/app/controllers/avo/attachments_controller.rb +0 -4
  38. data/app/controllers/avo/base_controller.rb +2 -8
  39. data/app/controllers/avo/dashboards/cards_controller.rb +1 -1
  40. data/app/controllers/avo/search_controller.rb +5 -11
  41. data/app/javascript/js/controllers/fields/trix_field_controller.js +3 -6
  42. data/app/javascript/js/controllers/item_select_all_controller.js +4 -7
  43. data/app/views/avo/actions/show.html.erb +1 -1
  44. data/app/views/avo/base/_multiple_select_filter.html.erb +1 -1
  45. data/app/views/avo/partials/_resource_search.html.erb +1 -1
  46. data/config/i18n-tasks.yml +1 -1
  47. data/config/initializers/pagy.rb +0 -16
  48. data/config/master.key +1 -0
  49. data/lib/avo/base_action.rb +0 -8
  50. data/lib/avo/base_card.rb +2 -5
  51. data/lib/avo/base_resource.rb +2 -3
  52. data/lib/avo/concerns/handles_field_args.rb +1 -8
  53. data/lib/avo/fields/base_field.rb +1 -2
  54. data/lib/avo/fields/select_field.rb +1 -1
  55. data/lib/avo/services/authorization_service.rb +2 -2
  56. data/lib/avo/version.rb +1 -1
  57. data/lib/generators/avo/templates/field/components/edit_component.html.erb.tt +1 -1
  58. data/lib/generators/avo/templates/locales/avo.en.yml +2 -3
  59. data/lib/generators/avo/templates/locales/avo.fr.yml +2 -3
  60. data/lib/generators/avo/templates/locales/avo.nb.yml +2 -3
  61. data/lib/generators/avo/templates/locales/avo.nn.yml +2 -3
  62. data/lib/generators/avo/templates/locales/avo.pt-BR.yml +2 -3
  63. data/lib/generators/avo/templates/locales/avo.ro.yml +55 -56
  64. data/lib/generators/avo/templates/locales/avo.tr.yml +2 -3
  65. data/public/avo-assets/avo.base.js +2 -2
  66. data/public/avo-assets/avo.base.js.map +2 -2
  67. metadata +5 -9
  68. data/lib/avo/fields/concerns/is_disabled.rb +0 -19
  69. data/lib/avo/hosts/resource_record_host.rb +0 -7
  70. data/lib/generators/avo/templates/locales/avo.pt.yml +0 -120
  71. data/lib/generators/avo/templates/locales/pagy/nn.yml +0 -15
  72. data/lib/generators/avo/templates/locales/pagy/ro.yml +0 -17
@@ -18,7 +18,8 @@ export default class extends Controller {
18
18
  document.querySelectorAll(`[data-controller="item-selector"][data-resource-name="${this.resourceName}"] input[type=checkbox]`)
19
19
  .forEach((checkbox) => checkbox.checked !== checked && checkbox.click())
20
20
 
21
- if (this.selectAllEnabled()) {
21
+ // Only run "all matching" if there are more pages available
22
+ if (this.pageCountValue > 1) {
22
23
  this.selectAllOverlay(checked)
23
24
 
24
25
  // When de-selecting everything, ensure the selectAll toggle is false and hide overlay.
@@ -34,7 +35,8 @@ export default class extends Controller {
34
35
  this.itemCheckboxTargets.forEach((checkbox) => allSelected = allSelected && checkbox.checked)
35
36
  this.checkboxTarget.checked = allSelected
36
37
 
37
- if (this.selectAllEnabled()) {
38
+ // Only run "all matching" if there are more pages available
39
+ if (this.pageCountValue > 1) {
38
40
  this.selectAllOverlay(allSelected)
39
41
  this.resetUnselected()
40
42
  }
@@ -61,9 +63,4 @@ export default class extends Controller {
61
63
  this.selectAllOverlayTarget.classList.add('hidden')
62
64
  }
63
65
  }
64
-
65
- // True if there are more pages available and if query encryption run successfully
66
- selectAllEnabled() {
67
- return this.pageCountValue > 1 && this.selectedAllQueryValue !== 'select_all_disabled'
68
- }
69
66
  }
@@ -18,7 +18,7 @@
18
18
  <%= @action.action_name %>
19
19
  <% end %>
20
20
  <div class="flex-1 flex">
21
- <%= @action.get_message %>
21
+ <%= @action.message %>
22
22
  </div>
23
23
  <%= form.hidden_field :avo_resource_ids, value: params[:resource_ids], 'data-action-target': 'resourceIds' %>
24
24
  <%= form.hidden_field :avo_selected_query, 'data-action-target': 'selectedAllQuery' %>
@@ -13,7 +13,7 @@
13
13
  %>
14
14
  <div class="flex justify-end">
15
15
  <%= a_button class: 'mt-4', color: :primary, size: :xs, data: { action: "multiple-select-filter#changeFilter" } do %>
16
- <%= "#{t("avo.filter_by")} #{filter.name}" %>
16
+ Filter by <%=filter.name %>
17
17
  <% end %>
18
18
  </div>
19
19
  <%= link_to 'url_redirect', request.url, data: { 'multiple-select-filter-target': 'urlRedirect', 'turbo-frame': params[:turbo_frame] }, style: 'hidden', class: 'hidden' %>
@@ -2,7 +2,7 @@
2
2
  <div class="w-full"
3
3
  data-search-target="autocomplete"
4
4
  data-search-resource="<%= resource %>"
5
- data-translation-keys='{"no_item_found": "<%= I18n.translate 'avo.no_item_found' %>", "placeholder": "<%= I18n.translate 'avo.search.placeholder' %>", "cancel_button": "<%= I18n.translate 'avo.search.cancel_button' %>"}'
5
+ data-translation-keys='{"no_item_found": "<%= I18n.translate 'avo.no_item_found' %>"}'
6
6
  <% if via_reflection.present? %>
7
7
  data-via-association="<%= via_reflection[:association] %>"
8
8
  data-via-association-id="<%= via_reflection[:association_id] %>"
@@ -3,7 +3,7 @@
3
3
  # The "main" locale.
4
4
  base_locale: en
5
5
  ## All available locales are inferred from the data by default. Alternatively, specify them explicitly:
6
- locales: [en, fr, nb, nn, pt-BR, pt, ro, tr]
6
+ locales: [en, fr, nb, nn, pt-BR, ro, tr]
7
7
  ## Reporting locale, default: en. Available: en, ru.
8
8
  # internal_locale: en
9
9
 
@@ -1,17 +1 @@
1
1
  require "pagy/extras/trim"
2
-
3
- # For locales without native pagy i18n support
4
- def pagy_locale_path(file_name)
5
- Avo::Engine.root.join("lib", "generators", "avo", "templates", "locales", "pagy", file_name)
6
- end
7
-
8
- Pagy::I18n.load(
9
- { locale: 'en' },
10
- { locale: 'fr' },
11
- { locale: 'nb' },
12
- { locale: 'pt-BR' },
13
- { locale: 'pt' },
14
- { locale: 'tr' },
15
- { locale: 'nn', filepath: pagy_locale_path("nn.yml") },
16
- { locale: 'ro', filepath: pagy_locale_path("ro.yml") },
17
- )
data/config/master.key ADDED
@@ -0,0 +1 @@
1
+ 2aeb23d82b909d9c6b5abb62f7058c2a
@@ -72,14 +72,6 @@ module Avo
72
72
  @response[:messages] = []
73
73
  end
74
74
 
75
- def get_message
76
- if self.class.message.respond_to? :call
77
- Avo::Hosts::ResourceRecordHost.new(block: self.class.message, record: self.class.model, resource: self.class.resource).handle
78
- else
79
- self.class.message
80
- end
81
- end
82
-
83
75
  def get_attributes_for_action
84
76
  get_fields.map do |field|
85
77
  [field.id, field.value || field.default]
data/lib/avo/base_card.rb CHANGED
@@ -20,10 +20,6 @@ module Avo
20
20
  attr_accessor :params
21
21
 
22
22
  delegate :context, to: ::Avo::App
23
- delegate :current_user, to: ::Avo::App
24
- delegate :view_context, to: ::Avo::App
25
- delegate :params, to: ::Avo::App
26
- delegate :request, to: ::Avo::App
27
23
 
28
24
  class << self
29
25
  def query(&block)
@@ -110,8 +106,9 @@ module Avo
110
106
  self
111
107
  end
112
108
 
113
- def hydrate(dashboard: nil)
109
+ def hydrate(dashboard: nil, params: nil)
114
110
  @dashboard = dashboard if dashboard.present?
111
+ @params = params if params.present?
115
112
 
116
113
  self
117
114
  end
@@ -117,10 +117,9 @@ module Avo
117
117
  end
118
118
 
119
119
  def valid_attachment_name(record, association_name)
120
- association_exists = get_record_associations(record).keys.any? do |name|
121
- name == "#{association_name}_attachment" || name == "#{association_name}_attachments"
120
+ get_record_associations(record).keys.each do |name|
121
+ return association_name if name == "#{association_name}_attachment" || name == "#{association_name}_attachments"
122
122
  end
123
- return association_name if association_exists
124
123
  end
125
124
 
126
125
  def get_available_models
@@ -12,14 +12,7 @@ module Avo
12
12
  value = default
13
13
 
14
14
  if type == :boolean
15
- case args[name.to_sym]
16
- when nil
17
- value = default
18
- when false
19
- value = false
20
- when true
21
- value = true
22
- end
15
+ value = args[name.to_sym] == true
23
16
  else
24
17
  value = args[name.to_sym] unless args.dig(name.to_sym).nil?
25
18
  end
@@ -10,10 +10,10 @@ module Avo
10
10
  include ActionView::Helpers::UrlHelper
11
11
  include Avo::Fields::FieldExtensions::VisibleInDifferentViews
12
12
 
13
+ include Avo::Concerns::HandlesFieldArgs
13
14
  include Avo::Concerns::HasHTMLAttributes
14
15
  include Avo::Fields::Concerns::IsRequired
15
16
  include Avo::Fields::Concerns::IsReadonly
16
- include Avo::Fields::Concerns::IsDisabled
17
17
  include Avo::Fields::Concerns::HasDefault
18
18
 
19
19
  delegate :view_context, to: ::Avo::App
@@ -65,7 +65,6 @@ module Avo
65
65
  @block = block
66
66
  @required = args.dig(:required) # Value if :required present on args, nil otherwise
67
67
  @readonly = args[:readonly] || false
68
- @disabled = args[:disabled] || false
69
68
  @sortable = args[:sortable] || false
70
69
  @nullable = args[:nullable] || false
71
70
  @null_values = args[:null_values] || [nil, ""]
@@ -58,7 +58,7 @@ module Avo
58
58
 
59
59
  # Cache options as options given on block or as options received from arguments
60
60
  def options
61
- if options_from_args.respond_to? :call
61
+ @options ||= if options_from_args.respond_to? :call
62
62
  options_from_args.call model: model, resource: resource, view: view, field: self
63
63
  else
64
64
  options_from_args
@@ -119,7 +119,7 @@ module Avo
119
119
  end
120
120
 
121
121
  def authorize_action(action, **args)
122
- self.class.authorize_action(user, args[:record] || record, action, policy_class: policy_class, **args)
122
+ self.class.authorize_action(user, record, action, policy_class: policy_class, **args)
123
123
  end
124
124
 
125
125
  def apply_policy(model)
@@ -131,7 +131,7 @@ module Avo
131
131
  end
132
132
 
133
133
  def has_method?(method, **args)
134
- defined_methods(args[:record] || record, **args).include? method.to_sym
134
+ defined_methods(record, **args).include? method.to_sym
135
135
  end
136
136
  end
137
137
  end
data/lib/avo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Avo
2
- VERSION = "2.21.0" unless const_defined?(:VERSION)
2
+ VERSION = "2.21.1.pre.issue1444" unless const_defined?(:VERSION)
3
3
  end
@@ -2,5 +2,5 @@
2
2
  <%%= @form.text_field @field.id,
3
3
  class: classes("w-full"),
4
4
  placeholder: @field.placeholder,
5
- disabled: disabled? %>
5
+ disabled: @field.is_readonly? %>
6
6
  <%% end %>
@@ -46,7 +46,6 @@ en:
46
46
  one: peep
47
47
  other: peeps
48
48
  zero: peeps
49
- filter_by: Filter by
50
49
  filters: Filters
51
50
  go_back: Go back
52
51
  grid_view: Grid view
@@ -63,9 +62,9 @@ en:
63
62
  new: new
64
63
  next_page: Next page
65
64
  no_cards_present: No cards present
66
- no_item_found: No record found
65
+ no_item_found: No %{item} found
67
66
  no_options_available: No options available
68
- no_related_item_found: No related record found
67
+ no_related_item_found: No related %{item} found
69
68
  not_authorized: You are not authorized to perform this action.
70
69
  number_of_items:
71
70
  one: one %{item}
@@ -46,7 +46,6 @@ fr:
46
46
  one: personne
47
47
  other: personnes
48
48
  zero: personne
49
- filter_by: Filtrer par
50
49
  filters: Filtres
51
50
  go_back: Retourner en arrière
52
51
  grid_view: Vue grille
@@ -63,9 +62,9 @@ fr:
63
62
  new: Nouveau
64
63
  next_page: Page suivante
65
64
  no_cards_present: Aucune carte présente
66
- no_item_found: Enregistrement non trouvé
65
+ no_item_found: Aucun %{item} trouvé
67
66
  no_options_available: Aucune option disponible
68
- no_related_item_found: Enregistrement connexe introuvable
67
+ no_related_item_found: Aucun %{item} apparenté n'a été trouvé
69
68
  not_authorized: Vous n'êtes pas autorisé à effectuer cette action.
70
69
  number_of_items:
71
70
  one: un %{item}
@@ -46,7 +46,6 @@ nb:
46
46
  one: person
47
47
  other: personer
48
48
  zero: personer
49
- filter_by: Filtrer etter
50
49
  filters: Filter
51
50
  go_back: Gå tilbake
52
51
  grid_view: Grid visning
@@ -63,9 +62,9 @@ nb:
63
62
  new: ny
64
63
  next_page: Neste side
65
64
  no_cards_present: Ingen kort til stede
66
- no_item_found: Ingen funnet
65
+ no_item_found: Ingen %{item} funnet
67
66
  no_options_available: Ingen tilgjengelige alternativer
68
- no_related_item_found: Ingen relaterte funnet
67
+ no_related_item_found: Ingen relaterte %{item} funnet
69
68
  not_authorized: Du er ikke autorisert til å gjøre denne handlingen.
70
69
  number_of_items:
71
70
  one: en %{item}
@@ -46,7 +46,6 @@ nn:
46
46
  one: person
47
47
  other: personar
48
48
  zero: personar
49
- filter_by: Filtrer etter
50
49
  filters: Filter
51
50
  go_back: Gå tilbake
52
51
  grid_view: Gridvisning
@@ -63,9 +62,9 @@ nn:
63
62
  new: ny
64
63
  next_page: Neste side
65
64
  no_cards_present: Ingen kort til stades
66
- no_item_found: Fann ingen
65
+ no_item_found: Fann ingen %{item}
67
66
  no_options_available: Ingen tilgjengelege alternativ
68
- no_related_item_found: Fann ingen relaterte
67
+ no_related_item_found: Fann ingen relaterte %{item}
69
68
  not_authorized: Du er ikkje autorisert til å gjere denne handlinga.
70
69
  number_of_items:
71
70
  one: en %{item}
@@ -46,7 +46,6 @@ pt-BR:
46
46
  one: pessoa
47
47
  other: pessoas
48
48
  zero: ninguém
49
- filter_by: Filtrar por
50
49
  filters: Filtros
51
50
  go_back: Voltar
52
51
  grid_view: Visualização em grade
@@ -63,9 +62,9 @@ pt-BR:
63
62
  new: novo
64
63
  next_page: Próxima página
65
64
  no_cards_present: Nenhum cartão presente
66
- no_item_found: Nenhum registro encontrado
65
+ no_item_found: Nenhum %{item} encontrado
67
66
  no_options_available: Nenhuma opção disponível
68
- no_related_item_found: Nenhum registro relacionado encontrado
67
+ no_related_item_found: Nenhum %{item} relacionado encontrado
69
68
  not_authorized: Você não está autorizado à executar essa ação.
70
69
  number_of_items:
71
70
  one: um %{item}
@@ -1,112 +1,111 @@
1
1
  ---
2
2
  ro:
3
3
  avo:
4
- action_ran_successfully: Acțiunea a rulat cu succes!
5
- actions: Acțiuni
6
- and_x_other_resources: plus alte %{count} recorduri
7
- are_you_sure: Ești sigur?
4
+ action_ran_successfully: Actiunea a rulat cu succes!
5
+ actions: Actiuni
6
+ and_x_other_resources: plus alte %{count} resources
7
+ are_you_sure: Esti sigur?
8
8
  are_you_sure_detach_item: Sigur vrei să detașezi asta %{item}.
9
- are_you_sure_you_want_to_run_this_option: Ești sigur vrei rulezi aceasta acțiune?
10
- attach: Atașează
11
- attach_and_attach_another: Atașează și atașează inca unul
12
- attach_item: Atașează %{item}
9
+ are_you_sure_you_want_to_run_this_option: Esti sigur ca vrei sa rulezi aceasta actiune?
10
+ attach: Ataseaza
11
+ attach_and_attach_another: Ataseaza si ataseaza inca unul
12
+ attach_item: Anexeaza %{item}
13
13
  attachment_class_attached: "%{attachment_class} anexat."
14
14
  attachment_class_detached: "%{attachment_class} separat."
15
15
  attachment_destroyed: Atașamentul a fost distrus
16
- cancel: Anulează
17
- choose_a_country: Alege o țară
18
- choose_an_option: Alege o opțiune
16
+ cancel: Anuleaza
17
+ choose_a_country: Alege o tara
18
+ choose_an_option: Alege o optiune
19
19
  choose_item: Alege %{item}
20
- clear_value: Șterge valoarea
20
+ clear_value: Sterge valoarea
21
21
  click_to_reveal_filters: Faceți clic pentru a afișa filtrele
22
22
  confirm: Confirm
23
- create_new_item: Creează %{item}
23
+ create_new_item: Creeaza %{item}
24
24
  dashboard: Panou de control
25
25
  dashboards: Panouri de control
26
- delete: șterge
27
- delete_file: Șterge fișierul
28
- delete_item: Șterge %{item}
29
- detach_item: detașează %{item}
26
+ delete: sterge
27
+ delete_file: Sterge fisierul
28
+ delete_item: Sterge %{item}
29
+ detach_item: detaseaza %{item}
30
30
  details: detalii
31
- download: Descarcă
32
- download_file: Descarcă fișier
33
- download_item: Descarcă %{item}
34
- edit: modifică
35
- edit_item: modifică %{item}
36
- empty_dashboard_message: Adaugă carduri în acest dashboard
31
+ download: Descarca
32
+ download_file: Descărcă fișier
33
+ download_item: Descarca %{item}
34
+ edit: modifica
35
+ edit_item: modifica %{item}
36
+ empty_dashboard_message: Adauga carduri in acest dashboard
37
37
  failed: A eșuat
38
38
  failed_to_find_attachment: Atașamentul nu a fost găsit
39
- failed_to_load: Încărcarea a eșuat
39
+ failed_to_load: Incarcarea a esuat
40
40
  field_translations:
41
41
  file:
42
- one: fișier
43
- other: fișiere
44
- zero: fișiere
42
+ one: fisier
43
+ other: fisiere
44
+ zero: fisiere
45
45
  people:
46
46
  one: peep
47
47
  other: peeps
48
48
  zero: peeps
49
- filter_by: Filtează după
50
49
  filters: Filtre
51
- go_back: Înapoi
52
- grid_view: Vezi sub formă de grid
53
- hide_content: Ascunde conținutul
54
- home: Acasă
50
+ go_back: Inapoi
51
+ grid_view: Vezi sub forma de grid
52
+ hide_content: Ascunde continutul
53
+ home: Acasa
55
54
  key_value_field:
56
- add_row: Adaugă rând
57
- delete_row: Șterge rând
55
+ add_row: Adauga rand
56
+ delete_row: Sterge rand
58
57
  key: Cheie
59
58
  value: Valoare
60
- list_is_empty: Lista este goală
61
- loading: Se incarcă
59
+ list_is_empty: Lista este goala
60
+ loading: Se incarca
62
61
  more: Mai multe
63
62
  new: nou
64
- next_page: Pagina următoare
63
+ next_page: Pagina urmatoare
65
64
  no_cards_present: Niciun card disponibil
66
- no_item_found: Nici un articol găsit
67
- no_options_available: Nicio opțiune disponibilă
68
- no_related_item_found: Nici un articol asociat găsit
65
+ no_item_found: Nu s-au gasit %{item}
66
+ no_options_available: Nicio optiune disponibila
67
+ no_related_item_found: Nu s-au gasit %{item} asociate
69
68
  not_authorized: Nu sunteți autorizat să efectuați această acțiune.
70
69
  number_of_items:
71
70
  one: un %{item}
72
71
  other: "%{count} %{item}"
73
72
  zero: 0 %{item}
74
- oops_nothing_found: Oups! Nu am găsit rezultate...
73
+ oops_nothing_found: Oups! Nu am gasit rezultate...
75
74
  order:
76
75
  higher: Mutați înregistrarea mai sus
77
76
  lower: Mutați înregistrarea mai jos
78
77
  reorder_record: Reordonați înregistrarea
79
78
  to_bottom: Mutați înregistrarea jos de tot
80
79
  to_top: Mutați înregistrarea sus de tot
81
- per_page: Pe pagină
80
+ per_page: Pe pagina
82
81
  prev_page: Pagina anterioara
83
- remove_selection: Șterge selecția
82
+ remove_selection: Sterge selectia
84
83
  reset_filters: Resetați filtrele
85
- resource_created: Resursă creata
86
- resource_destroyed: Resursă ștearsă
84
+ resource_created: Resursa creata
85
+ resource_destroyed: Resursa stearsa
87
86
  resource_translations:
88
87
  user:
89
88
  one: utilizator
90
89
  other: utilizatori
91
90
  zero: utilizatori
92
- resource_updated: Resursă actualizata
91
+ resource_updated: Resursa actualizata
93
92
  resources: Resurse
94
- run: Rulează
95
- save: Salvează
93
+ run: Ruleaza
94
+ save: Salveaza
96
95
  search:
97
96
  cancel_button: Anulare
98
- placeholder: Caută
99
- select_all: Selectează totul
100
- select_all_matching: Selectează toate care se potrivesc
101
- select_item: Selectează record
102
- show_content: Arată conținutul
97
+ placeholder: Cauta
98
+ select_all: Selecteaza totul
99
+ select_all_matching: Selecteaza toate care se potrivesc
100
+ select_item: Selecteaza record
101
+ show_content: Arata continutul
103
102
  sign_out: Delogare
104
103
  switch_to_view: Comutați la vizualizarea %{view_type}
105
- table_view: Vezi sub formă de tabel
104
+ table_view: Vezi sub forma de tabel
106
105
  tools: Instrumente
107
- type_to_search: Caută aici...
106
+ type_to_search: Cauta aici...
108
107
  unauthorized: Neautorizat
109
- undo: Anulează
108
+ undo: Anuleaza
110
109
  view: vezi
111
110
  view_item: vezi %{item}
112
111
  was_successfully_created: a fost creat
@@ -46,7 +46,6 @@ tr:
46
46
  one: kişi
47
47
  other: kişi
48
48
  zero: kişi
49
- filter_by: Tarafından filtre
50
49
  filters: Filtreler
51
50
  go_back: Geri dön
52
51
  grid_view: Grid görünümü
@@ -63,9 +62,9 @@ tr:
63
62
  new: yeni
64
63
  next_page: Sonraki sayfa
65
64
  no_cards_present: Kart yok
66
- no_item_found: Hiç bulunamadı
65
+ no_item_found: Hiç %{item} bulunamadı
67
66
  no_options_available: Seçenek yok
68
- no_related_item_found: İlişkili bulunamadı
67
+ no_related_item_found: İlişkili %{item} bulunamadı
69
68
  not_authorized: Bu eylemi gerçekleştirme yetkiniz yok.
70
69
  number_of_items:
71
70
  one: bir %{item}