|
jsp-develop.de presents: Internationale Webseiten |
| von shark, 18.01.2003 15:35:18 |
|
Die Internationalisierung einer Webseite kann sehr einfach mit Java Locals realisiert werden. Ein Local ist die zwei Charakter Bezeichnung für eine Sprache (z.B.: "en" für die englische Sprache) plus optional eine zwei Charakter Bezeichnung für den Dialekt (z.B.: "en_US" für amerikanisches Englisch). Die Landessprache ist im Browser voreingestellt und kann dort auch geändert werden. Im Internet Explorer stellt man beispielsweise die Landessprache im Menü "Extras" bei "Internetoptionen --> Sprachen" ein. Nach dem Hinzufügen einer Landessprache und Positionierung an oberster Stelle ist diese aktiv. Verwendet man nun in seiner Webseite die Java Local Funktionen, bezieht man sich automatisch auf die Einstellungen des Browsers. Das nachfolgende Anwendungsbeispiel zeigt die Realisierung einer internationalen "Hallo Welt" Webseite: (1) Im webapps Verzeichnis der Servlet Engine ein Verzeichnis "inter" anlegen (2) Im Verzeichnis "inter" ein Verzeichnis "web-inf" anlegen (3) Im Verzeichnis "web-inf" ein Verzeichnis "classes" anlegen (kompletter Pfad = \webapps\inter\web-inf\classes") (4) Im Verzeichnis "classes" eine "inter_de.properties" Datei mit folgendem Inhalt erzeugen: helloworld.title = Hallo Welt! (5) Im Verzeichnis "classes" eine "inter_en.properties" Datei mit folgendem Inhalt erzeugen: helloworld.title = Hello World! (6) Im Verzeichnis "inter" eine JSP-Seite mit folgendem Inhalt erzeugen: <%@page language="java" contentType="text/html" %> <%@page import = "java.util.*"%> <html> <head> <title>- Internationalisierung -</title> </head> <body> <% // resource bundle lesen ResourceBundle rb = PropertyResourceBundle.getBundle("inter", request.getLocale()); // resource string lesen String title = rb.getString("helloworld.title"); // resource string ausgeben out.println(title); %> </body> </html> (7) Servlet Engine starten und im Browser "http://localhost:8080/inter" eingeben (8) Im Browser die englische Sprache Hinzufügen und an oberste Position bringen, die Anwendung erneut ausführen. Die Property-Dateien können mit weiteren Strings belegt werden und das Ressource-Bundle sollte in einer Session-Variablen gehalten werden, damit dieses auch auf den anderen Webseiten zugreifbar ist. Auf Basis des vorliegenden Beispiels können auch komplexere internationalisierte Webseiten umgesetzt werden. |
|
URL dieses Beitrags: http://www.jsp-develop.de/forumbeitrag/view/7083/ |