padrino-admin 0.7.6 → 0.7.7

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.6
1
+ 0.7.7
@@ -15,7 +15,7 @@ module Padrino
15
15
  column["header"] ||= column["method"].to_s
16
16
  column["dataIndex"] ||= column["method"]
17
17
  column["sortable"] ||= column["sortable"].nil? ? true : column["sortable"]
18
- column["header"] = @model.human_attribute_name(column["header"]) # try to translate with I18n the column name
18
+ column["header"] = @model.human_local_attribute_name(column["header"]) # try to translate with I18n the column name
19
19
 
20
20
  # Try to reformat the dataIndex
21
21
  data_indexes = Array(column["dataIndex"]).collect do |data_index|
@@ -51,7 +51,7 @@ module Padrino
51
51
  end
52
52
 
53
53
  # Add a carrierwave dependency
54
- insert_into_gemfile("carrierwave")
54
+ inject_into_file("Gemfile", "\n# Uploader requirements\n# gem 'mini_magick'\ngem 'carrierwave'\n", :before => "\n# Padrino")
55
55
 
56
56
  # Only for datamapper
57
57
  if orm == :datamapper
@@ -8,7 +8,6 @@ class Admin < Padrino::Application
8
8
  # set :sessions, false # Enabled by default
9
9
  # set :reload, false # Reload application files (default in development)
10
10
  # set :default_builder, "foo" # Set a custom form builder (default 'StandardFormBuilder')
11
- # set :locale, :en # Set the current I18n.locale (default :en)
12
11
  # set :locale_path, "bar" # Set path for I18n translations (default your_app/locales)
13
12
  # enable :autolocale # Auto Set locale if url match /:lang/foo/bar (disabled by default)
14
13
  # disable :padrino_helpers # Disables padrino markup helpers (enabled by default if present)
@@ -93,7 +93,6 @@ module Padrino
93
93
  #
94
94
  # Defaults:
95
95
  #
96
- # * :submit => false
97
96
  # * :collapsible => false
98
97
  # * :start => :close
99
98
  #
@@ -122,7 +121,6 @@ module Padrino
122
121
  <div class="#{"x-box-collapsible" if options[:collapsible]}" style="width:99%;#{"display:none" if options[:collapsible] && options[:start] == :close}">
123
122
  #{"<div style=\"font-size:10px\">&nbsp;</div>" if title.present? || subtitle.present?}
124
123
  #{capture_html(&block)}
125
- #{"<div style=\"text-align:right;margin-top:10px\">#{submit_tag(I18n.t("lipsiadmin.buttons.save"), :onclick=>"Backend.app.submitForm()")}</div>" if options[:submit]}
126
124
  </div>
127
125
  </div>
128
126
  </div>
@@ -0,0 +1,50 @@
1
+ de:
2
+ admin:
3
+ labels:
4
+ not_found: "Not Found"
5
+ none: "Nichts"
6
+ add: "Hinzufügen"
7
+ remove: "Entfernen"
8
+ general:
9
+ list: "Liste {{model}}"
10
+ editForm: "Ändern {{model}} {{value}}"
11
+ newForm: "Neu {{model}}"
12
+ cantDelete: "Du kannst diesen Satz nicht löschen!"
13
+ page: "Seite"
14
+ of: "von"
15
+ sessions:
16
+ wrong: "Ungültige E-Mail oder Passwort"
17
+ logout: "Korrekt abgemeldet!"
18
+ menus:
19
+ account: "Benutzerkonto"
20
+ list: "Liste"
21
+ new: "Neu"
22
+ javascripts:
23
+ buttons:
24
+ add: "Hinzufügen"
25
+ edit: "Ändern"
26
+ remove: "Löschen"
27
+ back: "Zurück"
28
+ save: "Sichern"
29
+ close: "Schliessen"
30
+ select: "Selektieren"
31
+ help: "Hilfe"
32
+ send: "Senden"
33
+ labels:
34
+ all: "Alle "
35
+ search: "Suchen "
36
+ messages:
37
+ compliments:
38
+ title: "Gratulation"
39
+ message: "Ihre Daten wurden korrekt gesichert!"
40
+ wait:
41
+ title: "Senden Daten"
42
+ message: "Senden Daten zu dem Server..."
43
+ confirm:
44
+ title: "Sind Sie sicher?"
45
+ message: "Sind sie sicher {0} Elemente zu löschen?"
46
+ alert:
47
+ title: "Achtung"
48
+ message: "Es gibt einige Verbindungs-Probleme.<br />Kontaktiere technische Unterstützung."
49
+ notConfigured: "Diese Funktion ist noch nicht feriggestellt.<br />Kontaktiere technische Unterstützung."
50
+ notSelected: "Du mußt mindestens ein Satz selektieren"
@@ -5,16 +5,6 @@ en:
5
5
  none: "Nothing"
6
6
  add: "Add"
7
7
  remove: "Remove"
8
- upload_file: "Upload File"
9
- upload_files: "Upload Files"
10
- upload_image: "Upload Image"
11
- upload_images: "Upload Images"
12
- buttons:
13
- save: "Save"
14
- tabs:
15
- general: "General"
16
- titles:
17
- welcome: "Welcome"
18
8
  general:
19
9
  list: "List {{model}}"
20
10
  editForm: "Edit {{model}} {{value}}"
@@ -24,14 +14,11 @@ en:
24
14
  of: "of"
25
15
  sessions:
26
16
  wrong: "Wrong email or password"
27
- logout: "Correctly Logged Out"
17
+ logout: "Successfully Logged Out"
28
18
  menus:
29
19
  account: "Account"
30
20
  list: "List"
31
21
  new: "New"
32
- help: "Help"
33
- texts:
34
- order_updated: Order updated!
35
22
  javascripts:
36
23
  buttons:
37
24
  add: "Add"
@@ -39,22 +26,17 @@ en:
39
26
  remove: "Delete"
40
27
  back: "Back"
41
28
  save: "Save"
42
- save_and_back: "Save & Back"
43
29
  close: "Close"
44
30
  select: "Select"
45
31
  help: "Help"
46
32
  send: "Send"
47
- help:
48
- title: "Support request"
49
- description: "Say us what problem do you have and how we can reproduce it"
50
- compliments: "Your request was correctly delivered."
51
33
  labels:
52
34
  all: "All "
53
35
  search: "Search"
54
36
  messages:
55
37
  compliments:
56
38
  title: "Congratulations"
57
- message: "Your data are correctly saved."
39
+ message: "Your data was saved successfully."
58
40
  wait:
59
41
  title: "Sending Data"
60
42
  message: "Sending data to server..."
@@ -63,11 +45,7 @@ en:
63
45
  message: "Are you sure to destroy {0} element/s ?"
64
46
  alert:
65
47
  title: "Attention"
66
- message: "There are some connection issues.<br />Contact tecnical support."
67
- notConfigured: "This fatures is not ready yet.<br />Contact tecnical support."
48
+ message: "There are some connection issues.<br />Contact technical support."
49
+ notConfigured: "This fatures is not ready yet.<br />Contact technical support."
68
50
  notSelected: "You must select at least one record"
69
- tooMany: "You have selected too many records. Maximum is 10!"
70
- print:
71
- footer:
72
- page: "Page"
73
- page_of: "of"
51
+ tooMany: "Sie haben zu viele Datensätze ausgewählt. Das Maximum ist 10!"
@@ -0,0 +1,51 @@
1
+ it:
2
+ admin:
3
+ labels:
4
+ not_found: "Non trovato"
5
+ none: "Nessuno"
6
+ add: "Aggiungi"
7
+ remove: "Rimuovi"
8
+ general:
9
+ list: "Elenco {{model}}"
10
+ editForm: "Modifica {{model}} {{value}}"
11
+ newForm: "Nuovo {{model}}"
12
+ cantDelete: "Non puoi cancellare questo record."
13
+ page: "Pagina"
14
+ of: "di"
15
+ sessions:
16
+ wrong: "Email o password sbagliati"
17
+ logout: "Sei correttamente uscito dal sistema"
18
+ menus:
19
+ account: "Account"
20
+ list: "Elenco"
21
+ new: "Nuovo"
22
+ javascripts:
23
+ buttons:
24
+ add: "Aggiungi"
25
+ edit: "Modifica"
26
+ remove: "Elimina"
27
+ back: "Indietro"
28
+ save: "Salva"
29
+ close: "Chiudi"
30
+ select: "Seleziona"
31
+ help: "Aiuto"
32
+ send: "Invia"
33
+ labels:
34
+ all: "Elenco "
35
+ search: "Cerca"
36
+ messages:
37
+ compliments:
38
+ title: "Complimenti"
39
+ message: "I tuoi dati sono stati correttamente salvati."
40
+ wait:
41
+ title: "Invio dati"
42
+ message: "Invio dei dati al server in corso..."
43
+ confirm:
44
+ title: "Sei sicuro ?"
45
+ message: "Vuoi veramente eliminare {0} elemento/i ?"
46
+ alert:
47
+ title: "Attenzione"
48
+ message: "Si è verificato un problema di connessione.<br />Contatta il supporto tecnico."
49
+ notConfigured: "Questa funzione non è stata ancora implementata.<br />Contatta il supporto tecnico."
50
+ notSelected: "Devi selezionare almeno un record!"
51
+ tooMany: "Hai selezionato troppi records. Il massimo è di 10!"
@@ -0,0 +1,147 @@
1
+ de:
2
+ extjs:
3
+ dateFormat: "d.m.Y"
4
+ dateTimeFormat: "d.m.Y G:i"
5
+ ddText: "{0} selektierten Datensatz/-sätze"
6
+ closeText: "Schliesse diesen Tab"
7
+ invalidText: "Der Wert in diesem Feld ist ungültig"
8
+ msg: "Lade..."
9
+ emptyText: ""
10
+ splitRegion:
11
+ splitTip: "Ziehen um Größe zu verändern."
12
+ collapsibleSplitTip: "Ziehen um Größe zu verändern. Doppelklick zum verstecken."
13
+ messageBox:
14
+ ok: "OK"
15
+ yesse: "Ja"
16
+ cancel: "Abbruch"
17
+ none: "Nein"
18
+ datePicker:
19
+ todayText: "Heute"
20
+ minText: "Dieses Datum ist vor dem Minimum-Datum"
21
+ maxText: "Dieses Datum ist nach dem Maximum-Datum"
22
+ disabledDaysText: ""
23
+ disabledDatesText: ""
24
+ nextText: 'Nächsten Monat (Control+Rechts)'
25
+ prevText: 'Vorherigen Monat(Control+Links)'
26
+ monthYearText: 'Wähle ein Monat (Control+Auf/Runter um Jahre zu ändern)'
27
+ todayTip: "{0} (Leertaste)"
28
+ format: "d.m.y"
29
+ cancelText: "Abbruch"
30
+ okText: "&#160;OK&#160;"
31
+ startDay: 0
32
+ grid:
33
+ gridView:
34
+ sortAscText: "Sortiere aufsteigend"
35
+ sortDescText: "Sortiere absteigend"
36
+ lockText: "Sperren Spalte"
37
+ unlockText: "Spaltesperre aufheben"
38
+ columnsText: "Spalte"
39
+ groupingView:
40
+ emptyGroupText: '(Nichts)'
41
+ groupByText: 'Gruppiere mit diesem Feld'
42
+ showGroupsText: 'Anzeige in Gruppen'
43
+ propertyColumnModel:
44
+ nameText: "Name"
45
+ valueText: "Wert"
46
+ dateFormat: "m/j/Y"
47
+ search:
48
+ searchText: "Suche"
49
+ searchTipText: "Füge ein Wort ein oder drücke Suchen"
50
+ selectAllText: "Selektiere alle"
51
+ minCharsTipText: "Füge mindestens {0} Zeichen ein"
52
+ pagingToolbar:
53
+ beforePageText: "Seite"
54
+ afterPageText: "von {0}"
55
+ firstText: "Erste Seite"
56
+ prevText: "Vorherige Seite"
57
+ nextText: "Nächste Seite"
58
+ lastText: "Letzte Seite"
59
+ refreshText: "Auffrischen"
60
+ displayMsg: "Anzeige {0} - {1} von {2}"
61
+ emptyMsg: 'Keine Daten zum Anzeigen'
62
+ form:
63
+ textField:
64
+ minLengthText: "Die minimale Eingabelänge für dieses Feld ist {0}"
65
+ maxLengthText: "Die maximale Eingabelänge für dieses Feld ist {0}"
66
+ blankText: "Dieses Feld wird benötigt"
67
+ regexText: ""
68
+ emptyText: ""
69
+ numberField:
70
+ minText: "Der minimale Wert für dieses Feld ist {0}"
71
+ maxText: "Der maximale Wert für dieses Feld ist {0}"
72
+ nanText: "{0} ist nicht eine gültige Zahl"
73
+ dateField:
74
+ disabledDaysText: "Nicht verfügbar"
75
+ disabledDatesText: "Nicht verfügbar"
76
+ minText: "Das Datum in diesem Feld muss nach dem {0} sein"
77
+ maxText: "Das Datum in diesem Feld muss vor dem {0} sein"
78
+ invalidText: "{0} ist kein gültiges Datum - es muss in dem Format sein: {1}"
79
+ format: "d.m.y"
80
+ altFormats: "d.m.Y|m/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d"
81
+ comboBox:
82
+ loadingText: "Lade..."
83
+ valueNotFoundText: ""
84
+ vTypes:
85
+ emailText: 'Dieses Feld soll eine E-Mail Adresse in dem Format "user@domain.com" sein'
86
+ urlText: 'Dieses Feld soll eine URL in dem Format "http://www.domain.com" sein'
87
+ alphaText: 'Dieses Feld soll nur Buchstaben und _ enthalten'
88
+ alphanumText: 'Dieses Feld soll nur Buchstaben, Nummern und _ enthalten'
89
+ htmlEditor:
90
+ createLinkText: 'Bitte gebe die URL für den Link ein:'
91
+ buttonTips:
92
+ bold:
93
+ title: 'Fett (Ctrl+B)'
94
+ text: 'Stelle den selektierten Text fett dar.'
95
+ cls: 'x-html-editor-tip'
96
+ italic:
97
+ title: 'Italic (Ctrl+I)'
98
+ text: 'Stelle den selektierten Text italic dar.'
99
+ cls: 'x-html-editor-tip'
100
+ underline:
101
+ title: 'Untertrichen (Ctrl+U)'
102
+ text: 'Unterstreicht den selektierten Text.'
103
+ cls: 'x-html-editor-tip'
104
+ increasefontsize:
105
+ title: 'Vergrößern Text'
106
+ text: 'Vergrößert die Schriftgröße.'
107
+ cls: 'x-html-editor-tip'
108
+ decreasefontsize:
109
+ title: 'Verkleinern Text'
110
+ text: 'Verkleinert die Schriftgröße.'
111
+ cls: 'x-html-editor-tip'
112
+ backcolor:
113
+ title: 'Text Hintergrund Farbe'
114
+ text: 'Ändert Hintergrundfarbe des selektierten Textes'
115
+ cls: 'x-html-editor-tip'
116
+ forecolor:
117
+ title: 'Text Schrift Farbe'
118
+ text: 'Ändert die Farbe des selektierten Textes'
119
+ cls: 'x-html-editor-tip'
120
+ justifyleft:
121
+ title: 'Text linksbündig anordnen'
122
+ text: 'Stelle text linksbündig dar'
123
+ cls: 'x-html-editor-tip'
124
+ justifycenter:
125
+ title: 'Zentriere Text'
126
+ text: 'Zentriert den Text in dem Editor.'
127
+ cls: 'x-html-editor-tip'
128
+ justifyright:
129
+ title: 'Text rechtsbündig anordnen'
130
+ text: 'Stelle text rechtsbündig dar.'
131
+ cls: 'x-html-editor-tip'
132
+ insertunorderedlist:
133
+ title: 'Gliederungs-Liste'
134
+ text: 'Beginnt eine Gliederungsliste.'
135
+ cls: 'x-html-editor-tip'
136
+ insertorderedlist:
137
+ title: 'Nummerierte Liste'
138
+ text: 'Beginnt eine nummerierte Liste.'
139
+ cls: 'x-html-editor-tip'
140
+ createlink:
141
+ title: 'Hyperlink'
142
+ text: 'Stelle selektierten Text als Hyperlink dar.'
143
+ cls: 'x-html-editor-tip'
144
+ sourceedit:
145
+ title: 'Quelle Editieren'
146
+ text: 'Wechsel zur Quelle im Editierungs-Modus.'
147
+ cls: 'x-html-editor-tip'
@@ -0,0 +1,147 @@
1
+ it:
2
+ extjs:
3
+ dateFormat: "d/m/Y"
4
+ dateTimeFormat: "d/m/Y G:i"
5
+ ddText: "{0} righe selezionate"
6
+ closeText: "Chiudi pannello"
7
+ invalidText: "Valore non valido"
8
+ msg: "Caricamento in corso..."
9
+ emptyText: ""
10
+ splitRegion:
11
+ splitTip: "Trascina per cambiare dimensioni."
12
+ collapsibleSplitTip: "Trascina per cambiare dimensioni. Doppio click per nascondere."
13
+ messageBox:
14
+ ok: "OK"
15
+ yesse: "Sì"
16
+ cancel: "Annulla"
17
+ none: "No"
18
+ datePicker:
19
+ todayText: "Oggi"
20
+ minText: "Data precedente alla data minima"
21
+ maxText: "Data successiva alla data massima"
22
+ disabledDaysText: ""
23
+ disabledDatesText: ""
24
+ nextText: 'Mese successivo (Ctrl+Destra)'
25
+ prevText: 'Mese precedente (Ctrl+Sinistra)'
26
+ monthYearText: 'Scegli un mese (Ctrl+Su/Giu per cambiare anno)'
27
+ todayTip: "{0} (Barra spaziatrice)"
28
+ format: "d/m/y"
29
+ cancelText: "Annulla"
30
+ okText: "&#160;OK&#160;"
31
+ startDay: 1
32
+ grid:
33
+ gridView:
34
+ sortAscText: "Ordinamento crescente"
35
+ sortDescText: "Ordinamento decrescente"
36
+ lockText: "Blocca colonna"
37
+ unlockText: "Sblocca colonna"
38
+ columnsText: "Colonne"
39
+ groupingView:
40
+ emptyGroupText: '(Nessun dato)'
41
+ groupByText: 'Raggruppa per questo campo'
42
+ showGroupsText: 'Mostra nei gruppi'
43
+ propertyColumnModel:
44
+ nameText: "Nome"
45
+ valueText: "Valore"
46
+ dateFormat: "j/m/Y"
47
+ search:
48
+ searchText: "Cerca"
49
+ searchTipText: "Inserisci una parola o premi cerca"
50
+ selectAllText: "Seleziona Tutto"
51
+ minCharsTipText: "Inserisci almeno {0} caratteri"
52
+ pagingToolbar:
53
+ beforePageText: "Pagina"
54
+ afterPageText: "di {0}"
55
+ firstText: "Prima pagina"
56
+ prevText: "Pagina precedente"
57
+ nextText: "Pagina successiva"
58
+ lastText: "Ultima pagina"
59
+ refreshText: "Aggiorna"
60
+ displayMsg: "Record {0} - {1} di {2}"
61
+ emptyMsg: 'Nessun dato da mostrare'
62
+ form:
63
+ textField:
64
+ minLengthText: "La lunghezza minima è {0}"
65
+ maxLengthText: "La lunghezza massima è {0}"
66
+ blankText: "Campo obbligatorio"
67
+ regexText: ""
68
+ emptyText: ""
69
+ numberField:
70
+ minText: "Il valore minimo è {0}"
71
+ maxText: "Il valore massimo è {0}"
72
+ nanText: "{0} non è un valore numerico corretto"
73
+ dateField:
74
+ disabledDaysText: "Disabilitato"
75
+ disabledDatesText: "Disabilitato"
76
+ minText: "La data deve essere successiva al {0}"
77
+ maxText: "La data deve essere precedente al {0}"
78
+ invalidText: "{0} non \u00E8 una data valida. Deve essere nel formato {1}"
79
+ format: "d/m/y"
80
+ altFormats: "d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d"
81
+ comboBox:
82
+ loadingText: "Caricamento in corso..."
83
+ valueNotFoundText: ""
84
+ vTypes:
85
+ emailText: 'Il campo deve essere un indirizzo e-mail nel formato "user@domain.com"'
86
+ urlText: 'Il campo deve essere un indirizzo web nel formato "http://www.domain.com"'
87
+ alphaText: 'Il campo deve contenere solo lettere e _'
88
+ alphanumText: 'Il campo deve contenere solo lettere, numeri e _'
89
+ htmlEditor:
90
+ createLinkText: 'Inserire un URL per il link:'
91
+ buttonTips:
92
+ bold:
93
+ title: 'Grassetto (Ctrl+B)'
94
+ text: 'Rende il testo selezionato in grassetto.'
95
+ cls: 'x-html-editor-tip'
96
+ italic:
97
+ title: 'Corsivo (Ctrl+I)'
98
+ text: 'Rende il testo selezionato in corsivo.'
99
+ cls: 'x-html-editor-tip'
100
+ underline:
101
+ title: 'Sottolinea (Ctrl+U)'
102
+ text: 'Sottolinea il testo selezionato.'
103
+ cls: 'x-html-editor-tip'
104
+ increasefontsize:
105
+ title: 'Ingrandisci testo'
106
+ text: 'Aumenta la dimensione del carattere.'
107
+ cls: 'x-html-editor-tip'
108
+ decreasefontsize:
109
+ title: 'Rimpicciolisci testo'
110
+ text: 'Diminuisce la dimensione del carattere.'
111
+ cls: 'x-html-editor-tip'
112
+ backcolor:
113
+ title: 'Colore evidenziatore testo'
114
+ text: 'Modifica il colore di sfondo del testo selezionato.'
115
+ cls: 'x-html-editor-tip'
116
+ forecolor:
117
+ title: 'Colore carattere'
118
+ text: 'Modifica il colore del testo selezionato.'
119
+ cls: 'x-html-editor-tip'
120
+ justifyleft:
121
+ title: 'Allinea a sinistra'
122
+ text: 'Allinea il testo a sinistra.'
123
+ cls: 'x-html-editor-tip'
124
+ justifycenter:
125
+ title: 'Centra'
126
+ text: 'Centra il testo.'
127
+ cls: 'x-html-editor-tip'
128
+ justifyright:
129
+ title: 'Allinea a destra'
130
+ text: 'Allinea il testo a destra.'
131
+ cls: 'x-html-editor-tip'
132
+ insertunorderedlist:
133
+ title: 'Elenco puntato'
134
+ text: 'Elenco puntato.'
135
+ cls: 'x-html-editor-tip'
136
+ insertorderedlist:
137
+ title: 'Elenco numerato'
138
+ text: 'Elenco numerato.'
139
+ cls: 'x-html-editor-tip'
140
+ createlink:
141
+ title: 'Collegamento'
142
+ text: 'Trasforma il testo selezionato in un collegamanto.'
143
+ cls: 'x-html-editor-tip'
144
+ sourceedit:
145
+ title: 'Sorgente'
146
+ text: 'Passa alla modalit\u00E0 editing del sorgente.'
147
+ cls: 'x-html-editor-tip'
@@ -0,0 +1,26 @@
1
+ de:
2
+ activemodel: &activemodel
3
+ errors:
4
+ messages:
5
+ inclusion: "ist nicht in der Liste enthalten"
6
+ exclusion: "ist reserviert"
7
+ invalid: "ist ung¸ltig"
8
+ confirmation: "entspricht nicht der Best‰tigung"
9
+ accepted: "muss akzeptiert werden"
10
+ empty: "Darf nicht leer sein"
11
+ blank: "Darf nicht nur Leerzeichen sein"
12
+ too_long: "ist zu lang (Maximum ist {{count}} Zeichen)"
13
+ too_short: "ist zu kurz (Minimum ist {{count}} Zeichen)"
14
+ wrong_length: "ist ung¸ltiger L‰nge (soll {{count}} Zeichen sein)"
15
+ taken: "has already been taken"
16
+ not_a_number: "ist nicht eine Nummer"
17
+ greater_than: "muss grˆfler sein als {{count}}"
18
+ greater_than_or_equal_to: "muss grˆfler gleich sein als {{count}}"
19
+ equal_to: "muss gleich sein als {{count}}"
20
+ less_than: "muss weniger sein als {{count}}"
21
+ less_than_or_equal_to: "muss weniger oder gleich sein als {{count}}"
22
+ odd: "muss ungerade sein"
23
+ even: "muss gerade sein"
24
+ record_invalid: "Validierung schlug fehl: {{errors}}"
25
+ content_type: "Datei-Format wird nicht unterst¸tzt"
26
+ activerecord: *activemodel
@@ -0,0 +1,26 @@
1
+ en:
2
+ activemodel: &activemodel
3
+ errors:
4
+ messages:
5
+ inclusion: "is not included in the list"
6
+ exclusion: "is reserved"
7
+ invalid: "is invalid"
8
+ confirmation: "doesn't match confirmation"
9
+ accepted: "must be accepted"
10
+ empty: "can't be empty"
11
+ blank: "can't be blank"
12
+ too_long: "is too long (maximum is {{count}} characters)"
13
+ too_short: "is too short (minimum is {{count}} characters)"
14
+ wrong_length: "is the wrong length (should be {{count}} characters)"
15
+ taken: "has already been taken"
16
+ not_a_number: "is not a number"
17
+ greater_than: "must be greater than {{count}}"
18
+ greater_than_or_equal_to: "must be greater than or equal to {{count}}"
19
+ equal_to: "must be equal to {{count}}"
20
+ less_than: "must be less than {{count}}"
21
+ less_than_or_equal_to: "must be less than or equal to {{count}}"
22
+ odd: "must be odd"
23
+ even: "must be even"
24
+ record_invalid: "Validation failed: {{errors}}"
25
+ content_type: "file format not supported"
26
+ activerecord: *activemodel
@@ -0,0 +1,26 @@
1
+ it:
2
+ activemodel: &activemodel
3
+ errors:
4
+ messages:
5
+ inclusion: "non è incluso nella lista"
6
+ exclusion: "è riservato"
7
+ invalid: "non è valido"
8
+ confirmation: "non coincide con la conferma"
9
+ accepted: "deve essere accettata"
10
+ empty: "non può essere vuoto"
11
+ blank: "non può essere lasciato in bianco"
12
+ too_long: "è troppo lungo (il massimo è {{count}} lettere)"
13
+ too_short: "è troppo corto (il minimo è {{count}} lettere)"
14
+ wrong_length: "è della lunghezza sbagliata (deve essere di {{count}} lettere)"
15
+ taken: "è già in uso"
16
+ not_a_number: "non è un numero"
17
+ greater_than: "deve essere superiore a {{count}}"
18
+ greater_than_or_equal_to: "deve essere superiore o uguale a {{count}}"
19
+ equal_to: "deve essere uguale a {{count}}"
20
+ less_than: "deve essere meno di {{count}}"
21
+ less_than_or_equal_to: "deve essere meno o uguale a {{count}}"
22
+ odd: "deve essere dispari"
23
+ even: "deve essere pari"
24
+ record_invalid: "Validazione fallita: {{errors}}"
25
+ content_type: "il seguente tipo di file non è supportato"
26
+ activerecord: *activemodel
@@ -24,16 +24,31 @@ module Padrino
24
24
 
25
25
  module ClassMethods
26
26
  ##
27
- # Transforms attribute key names into a more humane format, such as "First name" instead of "first_name".
27
+ # Transforms attribute key names into a more humane and localizable format, such as "First name" instead of "first_name".
28
28
  #
29
29
  # ==== Examples
30
- # Person.human_attribute_name("first_name") # => "First name"
30
+ # # Do: I18n.translate("models.person.attributes.first_name")
31
+ # Person.human_local_attribute_name("first_name") # => "First name"
31
32
  #
32
33
  # Specify +options+ with additional translating options.
33
34
  #
34
- def human_attribute_name(field, options = {})
35
- options.reverse_merge!(:count => 1, :default => field.to_s.humanize, :scope => [:model, :attributes])
36
- I18n.translate("#{self.name.underscore}.#{field}", options)
35
+ def human_local_attribute_name(field, options = {})
36
+ options.reverse_merge!(:count => 1, :default => field.to_s.humanize, :scope => :models)
37
+ I18n.translate("#{self.name.underscore}.attributes.#{field}", options)
38
+ end
39
+
40
+ ##
41
+ # Transform table name into a more humane and localizable format, such as "Blog Posts" instead of "BlogPost".
42
+ #
43
+ # ==== Examples
44
+ # # Do: I18n.translate("models.person.name")
45
+ # Person.human_local_name # => "Persona"
46
+ #
47
+ # Specify +options+ with additional translating options.
48
+ #
49
+ def human_local_name(options = {})
50
+ options.reverse_merge!(:count => 1, :default => self.name.humanize, :scope => :models)
51
+ I18n.translate("#{self.name.underscore}.name", options)
37
52
  end
38
53
 
39
54
  ##
@@ -48,16 +48,31 @@ module Padrino
48
48
 
49
49
  module ClassMethods
50
50
  ##
51
- # Transforms attribute key names into a more humane format, such as "First name" instead of "first_name".
51
+ # Transforms attribute key names into a more humane and localizable format, such as "First name" instead of "first_name".
52
52
  #
53
53
  # ==== Examples
54
- # Person.human_attribute_name("first_name") # => "First name"
54
+ # # Do: I18n.translate("models.person.attributes.first_name")
55
+ # Person.human_local_attribute_name("first_name") # => "First name"
55
56
  #
56
57
  # Specify +options+ with additional translating options.
57
58
  #
58
- def human_attribute_name(field, options = {})
59
- options.reverse_merge!(:count => 1, :default => field.to_s.humanize, :scope => [:model, :attributes])
60
- I18n.translate("#{self.name.underscore}.#{field}", options)
59
+ def human_local_attribute_name(field, options = {})
60
+ options.reverse_merge!(:count => 1, :default => field.to_s.humanize, :scope => :models)
61
+ I18n.translate("#{self.name.underscore}.attributes.#{field}", options)
62
+ end
63
+
64
+ ##
65
+ # Transform table name into a more humane and localizable format, such as "Blog Posts" instead of "BlogPost".
66
+ #
67
+ # ==== Examples
68
+ # # Do: I18n.translate("models.person.name")
69
+ # Person.human_local_name # => "Persona"
70
+ #
71
+ # Specify +options+ with additional translating options.
72
+ #
73
+ def human_local_name(options = {})
74
+ options.reverse_merge!(:count => 1, :default => self.name.humanize, :scope => :models)
75
+ I18n.translate("#{self.name.underscore}.name", options)
61
76
  end
62
77
 
63
78
  ##
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{padrino-admin}
8
- s.version = "0.7.6"
8
+ s.version = "0.7.7"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Padrino Team", "Nathan Esquenazi", "Davide D'Agostino", "Arthur Chiu"]
12
- s.date = %q{2010-02-10}
12
+ s.date = %q{2010-02-11}
13
13
  s.description = %q{Admin View for Padrino applications}
14
14
  s.email = %q{padrinorb@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -320,8 +320,15 @@ Gem::Specification.new do |s|
320
320
  "lib/padrino-admin/generators/templates/uploader/views/store.jml",
321
321
  "lib/padrino-admin/helpers/authentication.rb",
322
322
  "lib/padrino-admin/helpers/view.rb",
323
+ "lib/padrino-admin/locale/admin/de.yml",
323
324
  "lib/padrino-admin/locale/admin/en.yml",
325
+ "lib/padrino-admin/locale/admin/it.yml",
326
+ "lib/padrino-admin/locale/extjs/de.yml",
324
327
  "lib/padrino-admin/locale/extjs/en.yml",
328
+ "lib/padrino-admin/locale/extjs/it.yml",
329
+ "lib/padrino-admin/locale/orm/de.yml",
330
+ "lib/padrino-admin/locale/orm/en.yml",
331
+ "lib/padrino-admin/locale/orm/it.yml",
325
332
  "lib/padrino-admin/middleware/flash_middleware.rb",
326
333
  "lib/padrino-admin/orm.rb",
327
334
  "lib/padrino-admin/orm/abstract.rb",
@@ -356,9 +363,9 @@ Gem::Specification.new do |s|
356
363
 
357
364
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
358
365
  s.add_runtime_dependency(%q<json_pure>, [">= 1.2.0"])
359
- s.add_runtime_dependency(%q<padrino-core>, ["= 0.7.6"])
360
- s.add_runtime_dependency(%q<padrino-gen>, ["= 0.7.6"])
361
- s.add_runtime_dependency(%q<padrino-helpers>, ["= 0.7.6"])
366
+ s.add_runtime_dependency(%q<padrino-core>, ["= 0.7.7"])
367
+ s.add_runtime_dependency(%q<padrino-gen>, ["= 0.7.7"])
368
+ s.add_runtime_dependency(%q<padrino-helpers>, ["= 0.7.7"])
362
369
  s.add_runtime_dependency(%q<tilt>, [">= 0.4"])
363
370
  s.add_development_dependency(%q<haml>, [">= 2.2.1"])
364
371
  s.add_development_dependency(%q<shoulda>, [">= 0"])
@@ -367,9 +374,9 @@ Gem::Specification.new do |s|
367
374
  s.add_development_dependency(%q<webrat>, [">= 0.5.1"])
368
375
  else
369
376
  s.add_dependency(%q<json_pure>, [">= 1.2.0"])
370
- s.add_dependency(%q<padrino-core>, ["= 0.7.6"])
371
- s.add_dependency(%q<padrino-gen>, ["= 0.7.6"])
372
- s.add_dependency(%q<padrino-helpers>, ["= 0.7.6"])
377
+ s.add_dependency(%q<padrino-core>, ["= 0.7.7"])
378
+ s.add_dependency(%q<padrino-gen>, ["= 0.7.7"])
379
+ s.add_dependency(%q<padrino-helpers>, ["= 0.7.7"])
373
380
  s.add_dependency(%q<tilt>, [">= 0.4"])
374
381
  s.add_dependency(%q<haml>, [">= 2.2.1"])
375
382
  s.add_dependency(%q<shoulda>, [">= 0"])
@@ -379,9 +386,9 @@ Gem::Specification.new do |s|
379
386
  end
380
387
  else
381
388
  s.add_dependency(%q<json_pure>, [">= 1.2.0"])
382
- s.add_dependency(%q<padrino-core>, ["= 0.7.6"])
383
- s.add_dependency(%q<padrino-gen>, ["= 0.7.6"])
384
- s.add_dependency(%q<padrino-helpers>, ["= 0.7.6"])
389
+ s.add_dependency(%q<padrino-core>, ["= 0.7.7"])
390
+ s.add_dependency(%q<padrino-gen>, ["= 0.7.7"])
391
+ s.add_dependency(%q<padrino-helpers>, ["= 0.7.7"])
385
392
  s.add_dependency(%q<tilt>, [">= 0.4"])
386
393
  s.add_dependency(%q<haml>, [">= 2.2.1"])
387
394
  s.add_dependency(%q<shoulda>, [">= 0"])
@@ -34,8 +34,11 @@ class TestActiveRecord < Test::Unit::TestCase
34
34
  assert_respond_to account, :to_param
35
35
  assert_respond_to account, :update_attributes
36
36
  assert_respond_to account, :valid?
37
+ assert_respond_to Account, :human_local_attribute_name
38
+ assert_respond_to Account, :human_local_name
37
39
  assert_respond_to Account, :properties
38
40
  assert_respond_to Account, :count
41
+ assert_respond_to Account, :orm
39
42
  end
40
43
 
41
44
  should 'have errors_keys' do
@@ -38,8 +38,11 @@ class TestDataMapper < Test::Unit::TestCase
38
38
  assert_respond_to account, :to_param
39
39
  assert_respond_to account, :update_attributes
40
40
  assert_respond_to account, :valid?
41
+ assert_respond_to Account, :human_local_attribute_name
42
+ assert_respond_to Account, :human_local_name
41
43
  assert_respond_to Account, :properties
42
44
  assert_respond_to Account, :count
45
+ assert_respond_to Account, :orm
43
46
  end
44
47
 
45
48
  should 'have category_ids' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: padrino-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.6
4
+ version: 0.7.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Padrino Team
@@ -12,7 +12,7 @@ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
14
 
15
- date: 2010-02-10 00:00:00 +01:00
15
+ date: 2010-02-11 00:00:00 +01:00
16
16
  default_executable:
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
@@ -33,7 +33,7 @@ dependencies:
33
33
  requirements:
34
34
  - - "="
35
35
  - !ruby/object:Gem::Version
36
- version: 0.7.6
36
+ version: 0.7.7
37
37
  version:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: padrino-gen
@@ -43,7 +43,7 @@ dependencies:
43
43
  requirements:
44
44
  - - "="
45
45
  - !ruby/object:Gem::Version
46
- version: 0.7.6
46
+ version: 0.7.7
47
47
  version:
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: padrino-helpers
@@ -53,7 +53,7 @@ dependencies:
53
53
  requirements:
54
54
  - - "="
55
55
  - !ruby/object:Gem::Version
56
- version: 0.7.6
56
+ version: 0.7.7
57
57
  version:
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: tilt
@@ -428,8 +428,15 @@ files:
428
428
  - lib/padrino-admin/generators/templates/uploader/views/store.jml
429
429
  - lib/padrino-admin/helpers/authentication.rb
430
430
  - lib/padrino-admin/helpers/view.rb
431
+ - lib/padrino-admin/locale/admin/de.yml
431
432
  - lib/padrino-admin/locale/admin/en.yml
433
+ - lib/padrino-admin/locale/admin/it.yml
434
+ - lib/padrino-admin/locale/extjs/de.yml
432
435
  - lib/padrino-admin/locale/extjs/en.yml
436
+ - lib/padrino-admin/locale/extjs/it.yml
437
+ - lib/padrino-admin/locale/orm/de.yml
438
+ - lib/padrino-admin/locale/orm/en.yml
439
+ - lib/padrino-admin/locale/orm/it.yml
433
440
  - lib/padrino-admin/middleware/flash_middleware.rb
434
441
  - lib/padrino-admin/orm.rb
435
442
  - lib/padrino-admin/orm/abstract.rb