Text in Webanwendungen lokalisieren

Sie können Ihre Webanwendung lokalisieren, um die Webseiten in unterschiedlichen Sprachen anzeigen zu können. Um eine Webanwendung lokalisieren zu können, müssen Sie für jede Sprache, die unterstützt werden soll, ein Ressourcenpaket erstellen. Diese Ressourcenpakete enthalten Zeichenfolgen, die zur Laufzeit auf den Webseiten dargestellt werden sollen. Jedes Ressourcenpaket ist für eine natürliche Sprache spezifisch, sodass die Zeichenfolgen auf den Webseiten in eine andere Sprache wechseln, wenn Sie zu einem anderen Ressourcenpaket wechseln.

Sie können für den Text auf Webseiten übersetzbare Zeichenfolgen verwenden. In den untenstehenden Abschnitten werden unterschiedliche Verwendungen dieser Zeichenfolgen auf Webseiten beschrieben. Übersetzbare Zeichenfolgen können auch als Fehlernachrichten für Webseiten verwendet werden; lesen Sie dazu das Kapitel Fehlernachrichten auf Webseiten anzeigen.

Übersetzbare Zeichenfolgen als Ausgabefelder verwenden

Um eine übersetzbare Zeichenfolge als Wert eines JSF-Feldes, wie zum Beispiel ein Ausgabefeld, zu verwenden, kann der Schlüssel der übersetzbaren Zeichenfolge keiner an das Feld gebundenen EGL-Variable zugewiesen werden. Um eine übersetzbare Zeichenfolge als Wert eines JSF-Feldes zu verwenden, kann dieses Feld an keine EGL-Variable gebunden werden. Stattdessen müssen Sie das Feld direkt an die übersetzbare Zeichenfolge binden, wie in den folgenden Schritten beschrieben:

  1. Ziehen Sie in einer JSP-Datei in Ihrem EGL-Webprojekt eine JSF-Ausgabekomponente auf die Seite, zum Beispiel ein Ausgabefeld vom Fach 'Erweiterte Faces-Komponenten' in der Palettenansicht.
  2. Klicken Sie auf ein Feld, um es auszuwählen.
  3. Suchen Sie in der Eigenschaftsansicht das Feld 'Wert'. In diesem Feld wird der Text für die Komponente angezeigt.
  4. Klicken Sie neben dem Feld 'Wert' auf die Schaltfläche 'Seitendatenobjekt auswählen'. Das Fenster 'Seitendatenobjekt auswählen' wird geöffnet. In der Regel wählen Sie in diesem Fenster eine Variable aus Ihrem JSF-Handler aus, aber in diesem Fall verwenden Sie stattdessen eine Zeichenfolge aus einem Ressourcenpaket.
  5. Rufen Sie die Registerkarte 'Zeichenfolgenressource' auf.
  6. Klicken Sie auf 'Eigenschaftendatei hinzufügen'.
  7. Wählen Sie im Fenster 'Eigenschaftendatei auswählen/erstellen' die Ressourcenpaketdatei aus, die Sie auf der Registerkarte 'Vorhandene Datei' verwenden möchten, oder wechseln Sie zur Registerkarte 'Neue Datei', um ein neues Ressourcenpaket zu erstellen. Befolgen Sie die in beiden Fällen die im Kapitel Ressourcenpaket erstellen beschriebenen Benennungs- und Platzierungskonventionen.
  8. Wenn Sie eine Ressourcenpaketdatei ausgewählt oder erstellt haben, geben Sie ein mnemonisches Zeichen ein, das im Feld 'Datei-ID' für die Datei stehen soll. Standardmäßig lautet das mnemonische Zeichen labels, wenn Sie es jedoch ändern, muss es mit dem mnemonischen Zeichen übereinstimmen, das wie im Kapitel Vorgaben für Webprojekte festlegen beschrieben in den Vorgaben von EGL Page Designer festgelegt ist.
  9. Klicken Sie auf 'OK', um das Fenster 'Eigenschaftendatei auswählen/erstellen' zu schließen. In der Tabelle auf der Registerkarte ''Zeichenfolgenressource' werden die Zeichenfolgen aus der Datei angezeigt. Sie können die bereits vorhandenen Zeichenfolgen verwenden oder über die Schaltfläche 'Ressource hinzufügen' neue Zeichenfolgen hinzufügen.
  10. Wählen Sie die Zeichenfolge aus, die Sie für das Feld verwenden möchten, und klicken Sie auf 'OK'. Im Feld wird der Schlüssel der übersetzbaren Zeichenfolge angezeigt. Wenn die Seite ausgeführt wird, wird die Zeichenfolge als Wert des Feldes im Server verwendet.

Übersetzbare Zeichenfolgen in EGL-Eigenschaften verwenden

Sie können übersetzbare Zeichenfolgen auch als Werte bestimmter EGL-Eigenschaften verwenden, insbesondere von 'DisplayName':

  1. Erstellen Sie im Paket jsfhandlers des Ordners 'Java™ Resources' Ihres Projekts ein Ressourcenpaket für die Zeichenfolgen, die in der Anwendung verwendet werden sollen. Siehe Ressourcenpaket erstellen. Wenn Sie zum Beispiel amerikanisches Englisch verwenden, können Sie ein Ressourcenpaket mit dem Namen myBundle_en_US.properties erstellen.
  2. Fügen Sie, wie im folgenden Beispiel gezeigt, im Ressourcenpaket Schlüssel und Zeichenfolgewerte für den Text ein, der auf den Webseiten verwendet werden soll:
    myString01=Hello there!
    myString02=Welcome to my Web page.
  3. Legen Sie Ihre Workbenchvorgaben so fest, dass das Ressourcenpaket von einem mnemonischen Standardzeichen dargestellt wird:
    1. Klicken Sie auf 'Fenster' > 'Einstellungen'.
    2. Erweitern Sie im Fenster 'Benutzervorgaben' die Anzeige für die Überschrift 'EGL' und klicken Sie auf 'Page Designer'.
    3. Geben Sie im Feld 'Loadbundle-Variable' ein mnemonisches Zeichen für die übersetzbaren Zeichenfolgen ein. Standardmäßig lautet das mnemonische Zeichen labels, wenn Sie es jedoch ändern, muss es, wie bereits beschrieben, mit dem mnemonischen Zeichen übereinstimmen, das im Feld 'Datei-ID' im Fenster 'Eigenschaftendatei auswählen/erstellen' übereinstimmen.
    4. Klicken Sie auf 'OK'.
  4. Legen Sie im JSF-Handler für die Webseite die Eigenschaften 'DisplayName' oder 'Help' einer Variable auf den Schlüssel fest, durch den der auf der Webseite zu verwendende Text dargestellt wird:
    myFieldString string {DisplayUse = button,
        DisplayName = "%myString01",
        Action = "DoSomething"};

    Beachten Sie das Prozentzeichen (%) im Wert für 'DisplayName'. Mit diesem Symbol wird angegeben, dass der Wert vom im Ressourcenpaket angegebenen Schlüssel stammt.

  5. Ziehen Sie auf der dem JSF-Handler zugeordneten JSP die Variable auf die Seite. Wenn Sie zum Beispiel die Variable aus dem vorherigen Beispiel auf eine Seite ziehen, lautet der in der JSP erstellte Code wie folgt:
    <hx:commandExButton id="buttonMyFieldString1"
        styleClass="commandExButton" type="submit"
        value="#{labels.myString01}"
        actionListener="#{testResourceBundle._commandActionListener}"
        action="DoSomething"></hx:commandExButton>
    Beachten Sie, dass der Wert der Schaltfläche nicht der Name der Variable oder der Wert der Variable ist, sondern eine Zeichenfolge aus dem Ressourcenpaket, die sich aus dem in den Vorgaben eingegebenen mnemonischen Zeichen und dem im JSF-Handler verwendeten Schlüssel zusammensetzt.

    Ein anderes Verfahren zum Verwenden der übersetzbaren Zeichenfolgen ist, einen JSF-Handlerabschnitts ohne zugewiesene Seite zu definieren und EGL dann zu erlauben, die Seite basierend auf den Variablen im Handler zu erstellen. Lesen Sie dazu den Abschnitt 'Eine Seite aus einem bereits vorhandenen JSF-Handlerabschnitt erstellen' im Kapitel Eine Webseite erstellen. Wenn Sie diese Methode verwenden, können Sie auch eine übersetzbare Zeichenfolge für die Eigenschaft 'title' des JSF-Handlers verwenden. Wenn die Seite in EGL erstellt wird, erscheint diese Zeichenfolge auffällig im oberen Bereich der Seite.

  6. Fügen Sie im Code der JSP die folgende Codezeile direkt unter dem Code <f:view> hinzu:
    <f:loadBundle basename="myBundle" var="labels"/>
  7. Legen Sie die Werte der Attribute basename und var auf das Präfix Ihres Ressourcenpakets bzw. das mnemonische Zeichen fest. In diesem Beispiel wird vorausgesetzt, dass Ihre Ressourcenpakete myBundle_Ländereinstellung.properties heißen und dass Sie das mnemonische Standardzeichen labels verwendet haben.

    Mit diesem Code wird angegeben, dass die übersetzbaren Zeichenfolgen, die auf der Seite als labels.schlüsselname dargestellt werden, in den Ressourcenpaketdateien gefunden werden, deren Namen das Präfix myBundle enthalten. Mit dem Attribut basename dieses Tags wird das Präfix des Namens der Ressourcenpaketdatei angegeben und mit dem Attribut var wird der Start der im Code verwendeten übersetzbaren Zeichenfolge angegeben.

Übersetzbare Zeichenfolgen für unterschiedliche Sprachen zur Laufzeit verwenden

Gehen Sie wie folgt vor, um übersetzbare Zeichenfolgen für unterschiedliche Sprachen zur Laufzeit zu verwenden:

  1. Erstellen Sie für jede Sprache, die von Ihrer Anwendung unterstützt wird, ein Ressourcenpaket. Der Dateiname aller Ressourcenpakete in der Anwendung muss dasselbe Präfix enthalten. Wenn der Name Ihres ersten Ressourcenpakets myBundle_en_US.properties lautet, müssen die Namen der anderen Ressourcenpakete mit myBundle beginnen.
  2. Doppelklicken Sie im Projektexplorer auf die Datei faces-config.xml, um sie zu öffnen. Diese Datei befindet sich im Ordner 'WebContent/WEB-INF'.
  3. Fügen Sie im Tag <application> der Datei faces-config.xml ein Tag <locale-config>:
    <faces-config>
    <application>
        <locale-config>
    
        </locale-config>
    ...
    </application
    </faces-config>
  4. Fügen Sie im Tag <locale-config> ein Tag <default-locale> mit den Ländereinstellungen des Standardressourcenpakets hinzu. Wenn Sie zum Beispiel möchten, dass Ihre Anwendung auf Deutsch erscheint, wenn der Benutzer keine Ländereinstellungen angibt oder eine Ländereinstellung angibt, die in Ihrer Anwendung nicht unterstützt wird, fügen Sie den folgenden Code im Tag <locale-config> hinzu:
    <default-locale>de</default-locale>

    Es empfiehlt sich, eine Standardländereinstellung festzulegen, dies ist jedoch nicht erforderlich.

  5. Fügen Sie nach dem Tag <default-locale> ein Tag <supported-locale> für jede Ländereinstellung ein, die von Ihrer Anwendung unterstützt wird. Wenn Ihre Anwendung zum Beispiel amerikanisches Englisch unterstützt, fügen Sie im Tag <locale-config> den folgenden Code hinzu:
    <supported-locale>en_US</supported-locale>
    Im Folgenden ist ein Beispiel aus einer Anwendung aufgeführt, in der mehrere Ländereinstellungen unterstützt werden:
    <faces-config>
    <application>
      <locale-config>
        <default-locale>de</default-locale>
        <supported-locale>en_US</supported-locale>
        <supported-locale>es</supported-locale>
        <supported-locale>de</supported-locale>
        <supported-locale>fr_FR</supported-locale>
        <supported-locale>it_IT</supported-locale>
        <supported-locale>pt_br</supported-locale>
      </locale-config>
    ...
    </application>	
    </faces-config>
    Wenn Sie eine Standardländereinstellung definieren, müssen Sie diese Ländereinstellung auch als unterstützte Ländereinstellung definieren.
    Anmerkung: Für jede in dieser Datei definierte Ländereinstellung ist ein für diese Ländereinstellung definiertes Ressourcenpaket erforderlich.
  6. Speichern und schließen Sie die Datei.
  7. Stellen Sie in Ihrem Web-Browser unterschiedliche Sprachen ein, um Ihre Anwendung zu testen und die unterschiedlichen Zeichenfolgen anzuzeigen.

Feedback