2

我正在做一个 Spring Web 应用程序。

我可以访问语言环境,我需要确定它是否是 RTL(从右到左)。

这篇文章中,它似乎可以解决我的问题。但是,那里的解决方案:

ComponentOrientation.getOrientation(new Locale(System.getProperty("user.language"))).isLeftToRight();  

使用Java AWT 的组件(ComponentOrientation)。

我想知道是否可以在不使用 AWT 组件的情况下获取有关语言环境的 RTL 信息。

4

1 回答 1

3

您可以检查语言环境是否.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;
        }
}
于 2013-05-08T19:00:32.217 回答