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 +1 -1
- data/lib/padrino-admin/column_store.rb +1 -1
- data/lib/padrino-admin/generators/admin_uploader.rb +1 -1
- data/lib/padrino-admin/generators/app/app.rb.tt +0 -1
- data/lib/padrino-admin/helpers/view.rb +0 -2
- data/lib/padrino-admin/locale/admin/de.yml +50 -0
- data/lib/padrino-admin/locale/admin/en.yml +5 -27
- data/lib/padrino-admin/locale/admin/it.yml +51 -0
- data/lib/padrino-admin/locale/extjs/de.yml +147 -0
- data/lib/padrino-admin/locale/extjs/it.yml +147 -0
- data/lib/padrino-admin/locale/orm/de.yml +26 -0
- data/lib/padrino-admin/locale/orm/en.yml +26 -0
- data/lib/padrino-admin/locale/orm/it.yml +26 -0
- data/lib/padrino-admin/orm/activerecord.rb +20 -5
- data/lib/padrino-admin/orm/datamapper.rb +20 -5
- data/padrino-admin.gemspec +18 -11
- data/test/test_active_record.rb +3 -0
- data/test/test_data_mapper.rb +3 -0
- metadata +12 -5
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.7.
|
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.
|
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
|
-
|
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\"> </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: "
|
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
|
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
|
67
|
-
notConfigured: "This fatures is not ready yet.<br />Contact
|
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: "
|
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: " OK "
|
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: " OK "
|
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
|
-
#
|
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
|
35
|
-
options.reverse_merge!(:count => 1, :default => field.to_s.humanize, :scope =>
|
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
|
-
#
|
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
|
59
|
-
options.reverse_merge!(:count => 1, :default => field.to_s.humanize, :scope =>
|
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
|
##
|
data/padrino-admin.gemspec
CHANGED
@@ -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.
|
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-
|
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.
|
360
|
-
s.add_runtime_dependency(%q<padrino-gen>, ["= 0.7.
|
361
|
-
s.add_runtime_dependency(%q<padrino-helpers>, ["= 0.7.
|
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.
|
371
|
-
s.add_dependency(%q<padrino-gen>, ["= 0.7.
|
372
|
-
s.add_dependency(%q<padrino-helpers>, ["= 0.7.
|
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.
|
383
|
-
s.add_dependency(%q<padrino-gen>, ["= 0.7.
|
384
|
-
s.add_dependency(%q<padrino-helpers>, ["= 0.7.
|
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"])
|
data/test/test_active_record.rb
CHANGED
@@ -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
|
data/test/test_data_mapper.rb
CHANGED
@@ -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.
|
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-
|
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.
|
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.
|
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.
|
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
|