Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116

    [JSF] Grosso problema di internazionalizzazione

    Sto lavorando in un grosso progetto (per cui probabilmente non è colpa mia =P ma sempre meglio essere certi..) e cercando di inserire l'internazionalizzazione mi sono trovato di fronte ad un ostacolo non da poco..

    Ho riscontrato un comportamento anomalo dell'attributo locale nel tag view, più precisamente:

    la versione delle jsf è la 1.2

    il resource bundle è dichiarato così:
    codice:
    <resource-bundle>
            <base-name>bundle.message-resources</base-name>
            <var>messages</var>
    </resource-bundle>
    Ho 3 resource bundle:
    message-resources.properties
    message-resources_it.properties
    message-resources_de.properties

    E le mie pagine sono dei .xhtml il cui tag <f:view ..> (dove f è http://java.sun.com/jsf/core) ha l'attributo impostato locale="de" oppure locale="it" (notare che non è un bean, per ora è una stringa secca)

    Con <f:view locale="de"> e impostando così il faces-config.xml:
    codice:
    <locale-config>
            <default-locale>de</default-locale>
    </locale-config>
    ottengo le scritte del bundle giusto ma....
    modificando così il faces-config:
    codice:
    <locale-config>
            <default-locale>de</default-locale>
            <supported-locale>it</supported-locale>
    </locale-config>
    senza cambiare il "de" dell'attributo locale le scritte sono in italiano (vengono prese sicuramente dal bundle _it, perchè i 3 bundle sono differenziati per essere riconosciuti)

    invece lasciando solo il <default-locale>de</default-locale> e mettendo a "it" la proprietà di locale le pagine rimangono in tedesco!

    In generale ho osservato questo comportamento:

    Il faces-config ha la priorità sull'attributo locale della view, oltretutto nel faces-config indipendentemente che sia di default o solo supported, se c'è registrato "it" le scritte appaiono in italiano (anche se nel tag view l'attributo locale è "de".. visto che viene bypassato dal faces-config)

    cosa può scatenare questo comportamento? C'è qualche opzione che permette di fare una cosa del genere? (sperando che qualcuno non abbia fatto paciocco nel ciclo di vita del framework sputtanando il meccanismo..)

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    Ok, ho capito una cosa:

    NON è il faces-config a comandare, ma il la lingua del browser!

    è normale questo?
    posso evitarlo?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.