org.crosswire.common.util

## Class Languages.RtoL

- java.lang.Object
- - org.crosswire.common.util.Languages.RtoL

- Enclosing class:
    Languages

      public static final class Languages.RtoL
      extends Object

  Provide a fallback lookup against a huge list of all languages. The basic list has a few hundred languages. The full list has over 7000. As a fallback, this file is not internationalized.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static Set` | `rtol` Do lazy loading of the huge file of languages.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `private` | `Languages.RtoL()` This is a singleton class.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `isRtoL(String script, String lang)` Determine whether this language is a Left-to-Right or a Right-to-Left language.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### rtol

          private static Set rtol

      Do lazy loading of the huge file of languages. Note: It is OK for it not to be present.

  - ### Constructor Detail

    - #### Languages.RtoL

          private Languages.RtoL()

      This is a singleton class. Do not allow construction.

  - ### Method Detail

    - #### isRtoL

          public static boolean isRtoL(String script,
                       String lang)

      Determine whether this language is a Left-to-Right or a Right-to-Left language. If the language has a script, it is used for the determination. Otherwise, check the language.

      Note: This is problematic. Languages do not have direction. Scripts do. Further, there are over 7000 living languages, many of which are written in Right-to-Left scripts and are not listed here.

      Parameters:
        `script` - the iso15924 script code, must be in Title case
        `lang` - the iso639 language code, must be lower case
      Returns:
        true if the language is Right-to-Left