Closed britzke closed 10 years ago
www.coreservlets.com/JSF-Tutorial/jsf2/code/properties.zip
Die <p:messages/> werden nicht in der korrekten Sprache angezeigt, weil sie sich nicht in einem View mit dem korrekten local befinden (siehe templates/structure.xhtml).
Sollen wir die Fehlermeldungen auch sprachlich verändern lassen, wenn es geht? und wissen Sie wo die Methode(n) stehen ?
In den View-Definitionen, die direkt im Verzeichnis "webapp" gespeichert sind, wird in der obersten Zeile jeweils ein Template adressiert, das zur Erzeugung des View-Baum herangezogen wird. Es reicht aus, wenn in diesem View das View-Element mit dem "language"-Attribut definiert wird. Dann kann aus den anderen xhtml-Dateien im Verzeichnis "templates" das View-Element wieder entfernt werden. Die Datei template/structure.xhtml wird zur Erzeugung eines jeden Views herangezogen. Hier sind auch die <p:messages>-Objekte definiert, welche für das Rendering der Fehlermeldungen verantwortlich sind. Wenn diese in sich einem View mit entsprechend eingestellter Sprache befinden, so werden (hoffentlich) auch die Fehlermeldungen in der entsprechenden Sprache ausgegeben.
Welche Probleme gibt es noch?
Wir finden keine lösung für die Message in den LoginBean. Wie man das am schnellsten in andere sprachen übersetzt.
Ich finde den folgende Ansätze ganz elegant: http://stackoverflow.com/questions/3478073/jsf-2-localization-managed-bean/3676059#3676059 oder http://stackoverflow.com/questions/6272945/jsf-2-how-can-i-get-a-message-bundle-string-from-inside-a-managed-bean. Der zweite ist noch einfacher. Was halten Sie davon?
Die Benutzungsschnittstelle muss in unterschiedliche Sprachen übersetzt werden. Benutzer sollen die Sprache angeboten, die in ihrem Browser eingestellt ist. (siehe http://de.slideshare.net/martyhall/jsf-2-tutorial-property-files-and-internationalization-i18n-localization-l10n )