Java:在不使用AWT组件的情况下在Spring Web应用程序中检测语言RTL?

时间:2013-05-08 14:09:25

标签: java web internationalization

我正在做一个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信息。

感谢您的帮助!

最佳。

1 个答案:

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