tracks/vendor/plugins/translate/lib/translate/log.rb
Reinier Balt 48d9e49482 install translate from https://github.com/newsdesk/translate for non-production use
access /translate to view and edit i18n translations
2011-02-13 13:06:10 +01:00

35 lines
814 B
Ruby

class Translate::Log
attr_accessor :from_locale, :to_locale, :keys
def initialize(from_locale, to_locale, keys)
self.from_locale = from_locale
self.to_locale = to_locale
self.keys = keys
end
def write_to_file
current_texts = File.exists?(file_path) ? file.read : {}
current_texts.merge!(from_texts)
file.write(current_texts)
end
def read
file.read
end
private
def file
@file ||= Translate::File.new(file_path)
end
def from_texts
Translate::File.deep_stringify_keys(Translate::Keys.to_deep_hash(keys.inject({}) do |hash, key|
hash[key] = I18n.backend.send(:lookup, from_locale, key)
hash
end))
end
def file_path
File.join(Rails.root, "config", "locales", "log", "from_#{from_locale}_to_#{to_locale}.yml")
end
end