# File lib/i18n/backend/key_value.rb, line 81
81: def available_locales
82: locales = @store.keys.map { |k| k =~ /\./; $` }
83: locales.uniq!
84: locales.compact!
85: locales.map! { |k| k.to_sym }
86: locales
87: end
# File lib/i18n/backend/key_value.rb, line 62
62: def store_translations(locale, data, options = {})
63: escape = options.fetch(:escape, true)
64: flatten_translations(locale, data, escape, @subtrees).each do |key, value|
65: key = "#{locale}.#{key}"
66:
67: case value
68: when Hash
69: if @subtrees && (old_value = @store[key])
70: old_value = ActiveSupport::JSON.decode(old_value)
71: value = old_value.deep_symbolize_keys.deep_merge!(value) if old_value.is_a?(Hash)
72: end
73: when Proc
74: raise "Key-value stores cannot handle procs"
75: end
76:
77: @store[key] = ActiveSupport::JSON.encode(value) unless value.is_a?(Symbol)
78: end
79: end
# File lib/i18n/backend/key_value.rb, line 91
91: def lookup(locale, key, scope = [], options = {})
92: key = normalize_flat_keys(locale, key, scope, options[:separator])
93: value = @store["#{locale}.#{key}"]
94: value = ActiveSupport::JSON.decode(value) if value
95: value.is_a?(Hash) ? value.deep_symbolize_keys : value
96: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.