Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Ruby on Rails Cms multilingua: problem messages

    salve a tutti
    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?
    Grazie 1000!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    3
    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"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.