class Locale::Tag::Posix
-
C/POSIX (-> en_US)
* ja_JP.UTF-8@Osaka
* ja_JP.UTF-8
* ja_JP
* ja
Locale tag class for POSIX locale
def self.parse(tag)
def self.parse(tag) case tag when /^(C|POSIX)$/ ret = self.new("en", "US") ret.tag = tag ret when TAG_RE ret = self.new($1, $2, $3, $4) ret.tag = tag ret else nil end end
def candidates
Returns an Array of tag-candidates order by priority.
def candidates [self.class.new(language, region, charset, modifier), #ja_JP.UTF-8@Modifier self.class.new(language, region, charset), #ja_JP.UTF-8 self.class.new(language, region, nil, modifier), #ja_JP@Modifier self.class.new(language, region, nil, nil), #ja_JP@Modifier self.class.new(language, nil, charset, modifier), #ja.UTF-8@Modifier self.class.new(language, nil, charset), #ja.UTF-8 self.class.new(language, nil, nil, modifier), #ja@Modifier self.class.new(language)] #ja end
def charset=(val)
def charset=(val) @charset = val end
def convert_to(klass)
def convert_to(klass) if klass == Simple super elsif klass == Posix klass.new(language, region, charset, modifier) else klass.new(language, nil, region, modifier ? [modifier] : []) end end
def initialize(language, region = nil, charset = nil, modifier = nil)
def initialize(language, region = nil, charset = nil, modifier = nil) @charset, @modifier = charset, modifier super(language, region) end
def modifier=(val)
def modifier=(val) @modifier = val end
def to_s
Returns the language tag.
def to_s s = @language.dup s << "_#{@region}" if @region s << ".#{@charset}" if @charset s << "@#{@modifier}" if @modifier s end