Java:在SpringWeb应用程序中检测语言RTL而不使用AWT组件?

Java:在SpringWeb应用程序中检测语言RTL而不使用AWT组件?,java,web,internationalization,Java,Web,Internationalization,我正在做一个SpringWeb应用程序 我可以访问区域设置,我需要知道它是否是RTL(从右到左) 总之,它似乎可以解决我的问题。然而,解决办法是: ComponentOrientation.getOrientation(new Locale(System.getProperty("user.language"))).isLeftToRight(); 使用JavaAWT的组件(ComponentOrientation) 我想知道是否可以在不使用AWT组件的情况下获取有关区

我正在做一个SpringWeb应用程序

我可以访问区域设置,我需要知道它是否是RTL(从右到左)

总之,它似乎可以解决我的问题。然而,解决办法是:

ComponentOrientation.getOrientation(new Locale(System.getProperty("user.language"))).isLeftToRight();  
使用JavaAWT的组件(ComponentOrientation)


我想知道是否可以在不使用AWT组件的情况下获取有关区域设置的RTL信息。

您可以检查区域设置的
.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;
        }
}

感谢您深入了解AWT的源代码,了解它是如何实现的。聪明的想法!