padrino-admin 0.7.6 → 0.7.7
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.
- 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
|