2
我正在使用Struts2國際化來支持英語&阿拉伯語。Struts2 +國際化+ Java
我想知道的是它可以動態地或自動改變標籤的任何輸入(文本,日期等)之前,其自帶的語言環境發生變化時的位置?
E.g.
LTR - >英語 - >名字 - 「文本框中輸入」
RTL - >阿拉伯語 - > 「文本框中輸入」 - أولاسم
這個任何可能的解決方案?
BR SC
我正在使用Struts2國際化來支持英語&阿拉伯語。Struts2 +國際化+ Java
我想知道的是它可以動態地或自動改變標籤的任何輸入(文本,日期等)之前,其自帶的語言環境發生變化時的位置?
E.g.
LTR - >英語 - >名字 - 「文本框中輸入」
RTL - >阿拉伯語 - > 「文本框中輸入」 - أولاسم
這個任何可能的解決方案?
BR SC
要麼(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;
}
}
或自己把它放在一個recourcebundle。
this.direction = ltr
而且如下
String direction = bundle.getString("this.direction");
無論哪種方式閱讀它,你可以利用這點來相應地改變方向。
<html dir="${direction}">
這將最終成爲<html dir="ltr">
或在生成的HTML <html dir="rtl">
。
嗨,非常感謝。我已將「this.direction」添加到我的資源包「en」和「ar」中。我在桌面上使用這樣的「
不受限制,只要我知道了。
消息可以本地化,並有論據來處理貨幣符號等,但我還沒有看到任何現成可用的框架,可以處理頁面的左到右,右到左的順序。
我的猜測是,你必須以服務頁面,使用瓷磚頁面的部分或者寫你自己的,如果else語句。
來源
2011-01-11 16:28:19 Kennet
相關問題