Included Modules

Locale::Tag::Cldr

Unicode locale identifier class for CLDR-1.6.1. (Unicode Common Locale Data Repository).

Constants

VARIANT
EXTENSION
TAG_RE

Attributes

extensions[R]

Public Class Methods

new(language, script = nil, region = nil, variants = [], extensions = {}) click to toggle source

Create Locale::Tag::Cldr.

variants should be upcase.

    # File lib/locale/tag/cldr.rb, line 58
58:       def initialize(language, script = nil, region = nil, 
59:                      variants = [], extensions = {})
60:         @extensions = extensions
61:         super(language, script, region, variants.map{|v| v.upcase})
62:       end
parse(tag) click to toggle source

Parse the language tag and return the new Locale::Tag::CLDR.

    # File lib/locale/tag/cldr.rb, line 31
31:         def parse(tag)
32:           if tag =~ /\APOSIX\Z/  # This is the special case of POSIX locale but match this regexp.
33:             nil
34:           elsif tag =~ TAG_RE
35:             lang, script, region, subtag = $1, $2, $3, $4
36:             
37:             extensions = {}
38:             subtag.scan(/#{EXTENSION}/).each{|v| 
39:               subtag.sub!(v, "")
40:               key, type = v.split("=")
41:               extensions[key] = type
42:             }
43:             variants = subtag.scan(/#{VARIANT}/).collect{|v| v[0].upcase}
44:             
45:             ret = self.new(lang, script, region, variants, extensions)
46:             ret.tag = tag
47:             ret
48:           else
49:             nil
50:           end
51:         end

Public Instance Methods

extensions=(val) click to toggle source

Sets the extensions as an Hash.

    # File lib/locale/tag/cldr.rb, line 65
65:       def extensions=(val)
66:         clear
67:         @extensions = val
68:       end

Private Instance Methods

to_string() click to toggle source

Returns the language tag. (e.g.) “ja_Hira_JP_VARIANT1_VARIANT2@foo1=var1;foo2=var2“

This is used in internal only. Use to_s instead.

    # File lib/locale/tag/cldr.rb, line 90
90:       def to_string
91:         s = super
92:         if @extensions.size > 0
93:           s << "@" << @extensions.to_a.sort.map{|k, v| "#{k}=#{v}"}.join(";")
94:         end
95:         s 
96:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.