PDA

Visualizza la versione completa : Ruby on Rails Cms multilingua: problem messages


ben81
03-11-2009, 10:28
salve a tutti :ciauz:
sto realizzando delle applicazioni con ruby on rails, in particolare un CMS multilingua.
Per il multilingua utilizzo i file it.yml e en.yml che sono dentro la cartella config/locales e tutto funziona bene, ovvero quando cambio lingua tramite session i campi del mio form cambiano valore,
Il mio problema è il seguente:
io ho un campo del form chiamato 'title' che non deve essere vuoto ovvero 'blank' ho realizzato il modello così:
validates_presence_of :title

e nella view del create e così
<%= f.error_messages %>
<%= t(:struttura2) %>
<%= f.text_field :title %>

struttura2 prende in caso di scelta della lingua in italiano it.yml ="Il titolo" in inglese en.yml ="The title"
in it.yml e in en.yml è stato tradotto anche l'errore 'blank'
in italiano
activerecord:
errors:
messages:
blank: "non può essere lasciato in bianco"
in inglese
activerecord:
errors:
messages:
blank: "can't be blank"

il problema è che se io lascio il campo vuoto è clicco sul submit
Ruby mi traduce l'errore sia in italiano e in inglese a seconda della lingua scelta. pero non mi traduce il campo come voglio io mi spiego meglio:
in caso della lingua italiana
'title non può essere lasciato in bianco'
in caso della lingua inglese
'title can't be blank'

io invece vorrei così
in italiano
'Il titolo non può essere lasciato in bianco'
in inglese
'The title can't be blank'

ho provato anche mettere nel modello
HUMANIZED_ATTRIBUTES = {
:title => "Il Titolo"
}
però non cambia niente perché no cambia con la lingua
Qualcuno mi può aiutarmi? :incupito:
Grazie 1000!!!

XaserHW
19-12-2009, 19:44
per fare quello mi sa che devi internazionalizzare gli attributi del modello...

se il tuo form serve per inserire o modificare un oggetto nel modello, allora basterà internazionalizzare gli attributi del modello ;)


spero di essere stato chiaro (esempio)


activerecord:
models:
dummymodel: "Nome modello internazionalizzato"
attributes:
dummymodel:
attr1: "Attributo1"
attr2: "Attributo2"
attr3: "Attributo3"
created_at: "Data creazione"
updated_at: "Data aggiornamento"

Loading