module Locale::Tag

def parse(tag)

* Returns: a Locale::Tag subclass.
* tag: a tag as a String. e.g.) ja-Hira-JP
object.
Parse a language tag/locale name and return Locale::Tag
def parse(tag)
  # Common is not used here.
  [Simple, Common, Rfc, Cldr, Posix].each do |parser|
    ret = parser.parse(tag)
    return ret if ret
  end
  Locale::Tag::Irregular.new(tag)
end