Class LikelySubtags

java.lang.Object
com.ibm.icu.impl.locale.LikelySubtags

public final class LikelySubtags extends Object
  • Field Details

    • PSEUDO_ACCENTS_PREFIX

      private static final String PSEUDO_ACCENTS_PREFIX
      See Also:
    • PSEUDO_BIDI_PREFIX

      private static final String PSEUDO_BIDI_PREFIX
      See Also:
    • PSEUDO_CRACKED_PREFIX

      private static final String PSEUDO_CRACKED_PREFIX
      See Also:
    • SKIP_SCRIPT

      public static final int SKIP_SCRIPT
      See Also:
    • DEBUG_OUTPUT

      private static final boolean DEBUG_OUTPUT
      See Also:
    • INSTANCE

      public static final LikelySubtags INSTANCE
    • languageAliases

      private final Map<String,String> languageAliases
    • regionAliases

      private final Map<String,String> regionAliases
    • trie

      private final BytesTrie trie
    • trieUndState

      private final long trieUndState
    • trieUndZzzzState

      private final long trieUndZzzzState
    • defaultLsrIndex

      private final int defaultLsrIndex
    • trieFirstLetterStates

      private final long[] trieFirstLetterStates
    • lsrs

      private final LSR[] lsrs
  • Constructor Details

  • Method Details

    • canonicalize

      public ULocale canonicalize(ULocale locale)
      Implementation of LocaleMatcher.canonicalize(ULocale).
    • getCanonical

      private static String getCanonical(Map<String,String> aliases, String alias)
    • makeMaximizedLsrFrom

      public LSR makeMaximizedLsrFrom(ULocale locale, boolean returnInputIfUnmatch)
    • makeMaximizedLsrFrom

      public LSR makeMaximizedLsrFrom(Locale locale)
    • makeMaximizedLsr

      private LSR makeMaximizedLsr(String language, String script, String region, String variant, boolean returnInputIfUnmatch)
    • isMacroregion

      private boolean isMacroregion(String region)
      Helper method to find out a region is a macroregion
    • maximize

      private LSR maximize(String language, String script, String region, boolean returnInputIfUnmatch)
      Raw access to addLikelySubtags. Input must be in canonical format, eg "en", not "eng" or "EN".
    • compareLikely

      int compareLikely(LSR lsr, LSR other, int likelyInfo)
      Tests whether lsr is "more likely" than other. For example, fr-Latn-FR is more likely than fr-Latn-CH because FR is the default region for fr-Latn.

      The likelyInfo caches lookup information between calls. The return value is an updated likelyInfo value, with bit 0 set if lsr is "more likely". The initial value of likelyInfo must be negative.

    • getLikelyIndex

      private int getLikelyIndex(String language, String script)
    • trieNext

      private static final int trieNext(BytesTrie iter, String s, int i)
    • minimizeSubtags

      public LSR minimizeSubtags(String languageIn, String scriptIn, String regionIn, ULocale.Minimize fieldToFavor)
    • getTable

      private Map<String,LSR> getTable()
    • toString

      public String toString()
      Overrides:
      toString in class Object