Class LangTag


  • public class LangTag
    extends java.lang.Object
    Language tags: support for parsing and canonicalization of case. Grandfathered forms ("i-") are left untouched. Unsupported or syntactically illegal forms are handled in canonicalization by doing nothing.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int idxExtension
      Index of all extensions
      static int idxLanguage
      Index of the language part
      static int idxRegion
      Index of the region part
      static int idxScript
      Index of the script part
      static int idxVariant
      Index of the variant part
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String canonical​(java.lang.String str)
      Canonicalize with the rules of RFC 4646, or RFC5646 without replacement of preferred form.
      static java.lang.String canonical​(java.lang.String[] parts)
      Canonicalize with the rules of RFC 4646 "In this format, all non-initial two-letter subtags are uppercase, all non-initial four-letter subtags are titlecase, and all other subtags are lowercase." In addition, leave extensions unchanged.
      static boolean check​(java.lang.String languageTag)
      Validate - basic syntax check for a language tags: [a-zA-Z]+ ('-'[a-zA-Z0-9]+)*
      static java.lang.String[] parse​(java.lang.String languageTag)
      Parse a langtag string and return it's parts in canonical case.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • check

        public static boolean check​(java.lang.String languageTag)
        Validate - basic syntax check for a language tags: [a-zA-Z]+ ('-'[a-zA-Z0-9]+)*
      • parse

        public static java.lang.String[] parse​(java.lang.String languageTag)
        Parse a langtag string and return it's parts in canonical case. See constants for the array contents. Parts not present cause a null in the return array.
        Returns:
        Langtag parts, or null if the input string does not parse as a lang tag.
      • canonical

        public static java.lang.String canonical​(java.lang.String str)
        Canonicalize with the rules of RFC 4646, or RFC5646 without replacement of preferred form.
      • canonical

        public static java.lang.String canonical​(java.lang.String[] parts)
        Canonicalize with the rules of RFC 4646 "In this format, all non-initial two-letter subtags are uppercase, all non-initial four-letter subtags are titlecase, and all other subtags are lowercase." In addition, leave extensions unchanged.

        This is the same as RFC5646 without replacement of preferred form or consulting the registry.