Struts2 + Интернационализация + Java - PullRequest
2 голосов
/ 11 января 2011

Я использую Интернационализацию Struts2 для поддержки английского и арабского языков.

Я хочу знать, возможно ли динамическое или автоматическое изменение позиции метки, которая предшествует любому вводу (текст, дата и т. Д.) При изменении локали?

* 1005 Е.Г. *

LTR -> Английский -> Имя - «Текстовое поле ввода»

RTL -> Арабский -> «Ввод текстового поля» - أول اسم

Любое возможное решение для этого?

BR SC

Ответы [ 2 ]

4 голосов
/ 11 января 2011

Либо (ab) использовать java.awt.ComponentOrientation

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

(его исходный код довольно прост, хотя есть только 4 языка RTL, вот выдержка из уместности)

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;
    }
}

Или поместите его в пакет ресурсов самостоятельно.

this.direction = ltr

И прочитайте это следующим образом

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

В любом случае, вы можете использовать это, чтобы соответственно изменить направление.

<html dir="${direction}">

, который в результате будет генерироваться как <html dir="ltr"> или <html dir="rtl">.

0 голосов
/ 11 января 2011

Не так, как я знаю.

Сообщения могут быть локализованы и иметь аргументы для обработки символов валют и т. П., Но я не видел ни одной готовой доступной инфраструктуры, которая могла бы обрабатывать страницы слева направо и справа налево.

Я предполагаю, что вы должны обслуживать страницы, части страниц с помощью плиток или сами писать операторы if if.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...