# module I18n

### Public Class Methods

available_locales() click to toggle source

    # File lib/wikicloth/i18n.rb, line 34
    def available_locales
      load_translations
      @@available_locales
    end

default_locale() click to toggle source

    # File lib/wikicloth/i18n.rb, line 6
    def default_locale
      :en
    end

initialized!() click to toggle source

    # File lib/wikicloth/i18n.rb, line 74
    def initialized!
      @@initialized = true
    end

initialized?() click to toggle source

    # File lib/wikicloth/i18n.rb, line 70
    def initialized?
      @@initialized ||= false
    end

load_path() click to toggle source

    # File lib/wikicloth/i18n.rb, line 39
    def load_path
      @@load_paths ||= []
    end

load_path=(val) click to toggle source

    # File lib/wikicloth/i18n.rb, line 43
    def load_path=(val)
      @@load_paths = val
    end

load_translations() click to toggle source

    # File lib/wikicloth/i18n.rb, line 47
    def load_translations
      return if initialized?

      @@available_locales = []
      @@translations = {}
      load_path.each do |path|
        Dir[path].each do |file|
          begin
            data = YAML::load(File.read(file))
            data.each do |key,value|
              @@available_locales << key.to_sym unless @@available_locales.include?(key.to_sym)
              @@translations[key.to_sym] ||= {}
              import_values(key.to_sym,value)
            end
          rescue ArgumentError => err
            puts "error in #{file}: #{err.message}"
          end
        end
      end

      initialized!
    end

locale() click to toggle source

    # File lib/wikicloth/i18n.rb, line 10
    def locale
      @@locale ||= default_locale
    end

locale=(val) click to toggle source

    # File lib/wikicloth/i18n.rb, line 14
    def locale=(val)
      @@locale = val
    end

t(*args) click to toggle source

    # File lib/wikicloth/i18n.rb, line 18
    def t(*args)
      options  = args.last.is_a?(Hash) ? args.pop : {}
      key      = args.shift

      load_translations
      use_locale = @@translations[locale].nil? || @@translations[locale].empty? ? default_locale : locale

      if !@@translations[use_locale].nil? && @@translations[use_locale].has_key?(key)
        add_vars(@@translations[use_locale][key], options)
      elsif use_locale != default_locale && @@translations[default_locale].has_key?(key)
        add_vars(@@translations[default_locale][key], options)
      else
        "translation missing: #{locale}, #{key}"
      end
    end

with_locale(tmp_locale = nil) { || ... } click to toggle source

Executes block with given `I18n.locale` set.

    # File lib/wikicloth/i18n.rb, line 79
    def with_locale(tmp_locale = nil)
      if tmp_locale
        current_locale = self.locale
        self.locale    = tmp_locale
      end
      yield
    ensure
      self.locale = current_locale if tmp_locale
    end