2 Stimmen

Struts2 + Internationalisierung + Java

Ich verwende Struts2 Internationalization, um Englisch und Arabisch zu unterstützen.

Ich möchte wissen, ob es möglich ist, die Position der Beschriftung, die vor einer Eingabe (Text, Datum usw.) steht, dynamisch oder automatisch zu ändern, wenn sich das Gebietsschema ändert?

z.B.

LTR -> Englisch -> Vorname - "Eingabe-Textfeld"

RTL -> Arabisch -> "Eingabe-Textfeld" -

Gibt es eine mögliche Lösung für dieses Problem?

BR SC

4voto

BalusC Punkte 1034465

Entweder (ab)verwenden java.awt.ComponentOrientation

String direction = ComponentOrientation.getOrientation(locale).isLeftToRight() ? "ltr" : "rtl";

(der Quellcode ist allerdings ziemlich trivial, es gibt nur 4 Sprachen, die RTL sind, hier ist ein Auszug von Bedeutung)

public static ComponentOrientation getOrientation(Locale locale) {
    String lang = locale.getLanguage();
    if ("iw".equals(lang) || "ar".equals(lang) || "fa".equals(lang) || "ur".equals(lang)) {
        return RIGHT_TO_LEFT;
    } else {
        return LEFT_TO_RIGHT;
    }
}

Oder selbst in ein Recourcebundle einbringen.

this.direction = ltr

Und lesen Sie ihn wie folgt

String direction = bundle.getString("this.direction");

In jedem Fall können Sie dies nutzen, um die Richtung entsprechend zu ändern.

<html dir="${direction}">

was am Ende zu folgendem Ergebnis führen würde <html dir="ltr"> o <html dir="rtl"> in generiertem HTML.

0voto

Kennet Punkte 5548

Nicht, soweit ich weiß.

Nachrichten können lokalisiert werden und haben Argumente, um Währungssymbole und ähnliches zu handhaben, aber ich habe noch kein fertiges Framework gesehen, das die Reihenfolge der Seiten von links nach rechts und von rechts nach links handhaben kann.

Ich vermute, dass Sie Seiten, Teile von Seiten mit Kacheln bedienen oder die if else-Anweisungen selbst schreiben müssen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X