我正在做一个Spring Web应用程序。
我可以访问语言环境,我需要它是否是RTL(从右到左)。
我发现了这个帖子:
Is there any way to detect an RTL language in Java?
它似乎可以解决我的问题。但是,那里有解决方案:
ComponentOrientation.getOrientation(new Locale(System.getProperty("user.language"))).isLeftToRight();
使用Java AWT的组件(ComponentOrientation)。
我想知道是否可以在不使用AWT组件的情况下获取有关语言环境的RTL信息。
感谢您的帮助!
最佳。
答案 0 :(得分:2)
您可以检查区域设置.getLanguage()
是否是从右到左的语言之一(希伯来语,阿拉伯语等)。这实际上是在AWT中实现该功能的方式。
public static ComponentOrientation getOrientation(Locale locale)
{
// A more flexible implementation would consult a ResourceBundle
// to find the appropriate orientation. Until pluggable locales
// are introduced however, the flexiblity isn't really needed.
// So we choose efficiency instead.
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;
}
}