30. Juli 2010  
  Suche:
 
  Basics
  Code-Galerie
  Forum
  FAQ
  Tipps & Tricks
  Literatur
  Knowledge Base
  Workshops
  JSP-Hosting
  JSP-Engines
  Jobbörse
  Links
  JSP-Sites
  Newsletter
  JSP-Test
  Impressum
  Username:
  
  Passwort:
  
  

  Jetzt registrieren
  Warum registrieren?

  Valid HTML 4.01!
  Valid CSS!

Internationale Webseiten

von shark,  18.01.2003 15:35:18  (5 votes)  [vote]
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.
[Druckansicht]    [Beitrag versenden]
<< zurück  Kommentieren

Kommentare zu diesem Eintrag
Re: Internationale Webseiten
mj, 08.05.2003 14:26:39

Nur ein kleiner Fehler, der Anfänger aber zur Verzweiflung treiben kann:

in (3) steht zweimal 'web-inf', richtig ist 'WEB-INF'


<< zurück


Hinweis: Auf dieser Seite liegen Links zu anderen Seiten im Internet. Für alle diese Links gilt: Wir betonen ausdrücklich, daß wir keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf dieser Homepage und machen uns ihre Inhalte nicht zueigen. Diese Erklärung gilt für alle auf unserer Homepage angebrachten Links

Redaktion/Betreiber von JSP-Develop übernehmen keinerlei Gewährleistung und Verantwortung für die Richtig- und/oder Vollständigkeit von den auf den Webseiten JSP-Develop veröffentlichten Source Codes. Die Verantwortung der Verwendung/Anwendung sowie etwaige Modifikation der hier veröffentlichten Sourcen obliegt einzig dem Benutzer der Webseite, welche die veröffentlichten Sourcen in einer Applikation/Anwendung einsetzt. Durch das Kopieren und/oder Benutzen der Sourcen in einer Applikation/Anwendung bzw. etwaigen Abschriften wird dieser Rechtshinweis anerkannt.

Java, JSP, JavaServer Pages, J2EE, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries. IBM, WebSphere are trademarks or registered trademarks of International Business Machines Corporation. Other trademarks and registered trademarks are the property of their respective owners.