Class | GetText::TextDomainManager
In: | lib/gettext/textdomainmanager.rb
Parent: | Object

Manage TextDomain (Internal use only) A class/module is able to have plural textdomains.

### Methods

add_textdomain each each_all new output_charset output_charset= set_locale textdomain

### Included Modules

Enumerable

### Attributes

target | [R] |
textdomains | [R] |

### Public Class methods

each_all() {|textdomain| ...}

[Source]

        # File lib/gettext/textdomainmanager.rb, line 39
    39:     def self.each_all
    40:       @@textdomain_all.each do |k, textdomain|
    41:         yield textdomain
    42:       end
    43:     end

new(target, locale)

Initialize a TextDomainManager

- target: a target class/module to bind this TextDomainManager.
- locale: a Locale::Object.

[Source]

        # File lib/gettext/textdomainmanager.rb, line 52
    52:     def initialize(target, locale)
    53:       @target = target
    54:       @locale = locale
    55:       @textdomains = {}
    56:     end

output_charset()

Gets the current output_charset.

- Returns: output_charset.

[Source]

        # File lib/gettext/textdomainmanager.rb, line 35
    35:     def self.output_charset
    36:       @@output_charset
    37:     end

output_charset=(charset)

Sets the current output_charset.

- charset: output_charset.
- Returns: output_charset.

[Source]

        # File lib/gettext/textdomainmanager.rb, line 29
    29:     def self.output_charset=(charset)
    30:       @@output_charset = charset
    31:     end

textdomain(domainname)

[Source]

        # File lib/gettext/textdomainmanager.rb, line 45
    45:     def self.textdomain(domainname)
    46:       @@textdomain_all[domainname]
    47:     end

### Public Instance methods

add_textdomain(domainname, options = {})

Add a textdomain

- options: If they aren‘t set or invalid, default values are used.
  - :path - the path to the mo-files. If not set, it will search default paths such as /usr/share/locale, /usr/local/share/locale)

[Source]

        # File lib/gettext/textdomainmanager.rb, line 62
    62:     def add_textdomain(domainname, options = {})
    63:       path = options[:path]
    64:       if $DEBUG
    65:         $stderr.print "Bind the domain '#{domainname}' to '#{@target}'. "
    66:         $stderr.print "Current locale is #{@locale.inspect}\n"
    67:       end
    68:       textdomain = @@textdomain_all[domainname]
    69:       if textdomain
    70:         textdomain.set_locale(@locale)
    71:       else
    72:         textdomain = TextDomain.new(domainname, path, @locale)
    73:         @@textdomain_all[domainname] = textdomain
    74:       end
    75:         @textdomains[domainname] = textdomain
    76:       textdomain
    77:     end

each() {|textdomain| ...}

Iterate textdomains.

[Source]

        # File lib/gettext/textdomainmanager.rb, line 80
    80:     def each
    81:       @textdomains.each do |k, textdomain|
    82:         yield textdomain
    83:       end
    84:       self
    85:     end

set_locale(locale, force = false)

Sets locale such as "de", "fr", "it", "ko", "ja_JP.eucJP", "zh_CN.EUC" …

Notice that you shouldn‘t use this for your own Libraries.

- locale: a locale string or Locale::Object.
- force: Change locale forcely.
- Returns: self

[Source]

         # File lib/gettext/textdomainmanager.rb, line 93
     93:     def set_locale(locale, force = false)
     94:       if locale != @locale or force
     95:         each do |textdomain|
     96:           textdomain.set_locale(locale, force)
     97:         end
     98:         @locale = locale
     99:       end
    100:       self
    101:     end

[Validate]