# File lib/ramaze/helper/localize.rb, line 73 def [](locale) @dict[arg_to_locale(locale)] end
# File lib/ramaze/helper/localize.rb, line 77 def []=(locale, dict) @dict[arg_to_locale(locale)] = dict end
# File lib/ramaze/helper/localize.rb, line 81 def load(locale, options = {}) if file = options.delete(:yaml) dict = ::YAML.load_file(file) elsif hash = options.delete(:hash) dict = hash elsif marshal = options.delete(:marshal) dict = Marshal.load(File.read(marshal)) else raise ArgumentError, "either :yaml, :marshal, or :hash" end @dict[arg_to_locale(locale)] = dict end
# File lib/ramaze/helper/localize.rb, line 69 def locales @dict.keys end
# File lib/ramaze/helper/localize.rb, line 59 def lookup(string, locales) locales.each do |locale| next unless dict = self[locale] next unless translated = dict[string] return translated end string end
# File lib/ramaze/helper/localize.rb, line 42 def translate(string, locales, substitute) target = string.to_s.dup locales = locales.flatten.uniq if substitute substitute.each do |key, value| target.gsub!(/\{#{Regexp.escape(key)}\}/, lookup(value, locales)) end return target elsif target =~ /\{/ target.gsub!(/\{([^\}]+)\}/){ lookup($1, locales) } return target else lookup(target, locales) end end
Generated with the Darkfish Rdoc Generator 2.