Class: YamlTranslator::Translator

Inherits:
Object
  • Object
show all
Defined in:
lib/yaml-translator/translator.rb

Instance Method Summary collapse

Constructor Details

#initialize(adapter = Adapters::NoopAdapter.new) ⇒ Translator

Returns a new instance of Translator.



5
6
7
# File 'lib/yaml-translator/translator.rb', line 5

def initialize(adapter = Adapters::NoopAdapter.new)
  @adapter = adapter
end

Instance Method Details

#adapter_nameObject



9
10
11
# File 'lib/yaml-translator/translator.rb', line 9

def adapter_name
  @adapter.name
end

#file(f) ⇒ Object



31
32
33
# File 'lib/yaml-translator/translator.rb', line 31

def file(f)
  FileContext.new(Locale.load_file(f), self)
end

#string(s) ⇒ Object



27
28
29
# File 'lib/yaml-translator/translator.rb', line 27

def string(s)
  StringContext.new(Locale.load(s), self)
end

#translate(locale, options = {}) ⇒ Locale

Translate target

Parameters:

  • locale (Locale)

    of translate target

Returns:



17
18
19
20
21
22
23
24
25
# File 'lib/yaml-translator/translator.rb', line 17

def translate(locale, options={})
  translated = @adapter.translate(locale.to_single_key_hash, options)
  translated_tree = translated.to_tree

  result = {}
  result[options[:to].to_s] = translated_tree[locale.lang]

  Locale.new(result, options[:to])
end