Class: I18n::Migrations::MigrationFactory::Translations

Inherits:
Object
  • Object
show all
Defined in:
lib/i18n/migrations/migration_factory.rb

Overview

This is a facade over our translations data = all keys -> all translations in this locale metadata = some keys -> metadata about the translation in this locale

Instance Method Summary collapse

Constructor Details

#initialize(data:, metadata:) ⇒ Translations

Returns a new instance of Translations.



47
48
49
# File 'lib/i18n/migrations/migration_factory.rb', line 47

def initialize(data:, metadata:)
  @data, @metadata = data, 
end

Instance Method Details

#delete_term(key) ⇒ Object



68
69
70
71
# File 'lib/i18n/migrations/migration_factory.rb', line 68

def delete_term(key)
  @data.delete(key)
  @metadata.delete(key)
end

#get_term(key) ⇒ Object



51
52
53
# File 'lib/i18n/migrations/migration_factory.rb', line 51

def get_term(key)
  @data[key]
end

#move_term(from, to) ⇒ Object



73
74
75
76
# File 'lib/i18n/migrations/migration_factory.rb', line 73

def move_term(from, to)
  @data[to] = @data.delete(from)
  @metadata[to] = @metadata.delete(from)
end

#set_term(key, value:, errors:, autotranslated:) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/i18n/migrations/migration_factory.rb', line 55

def set_term(key, value:, errors:, autotranslated:)
  #  translated_term, errors = lookup_with_errors(term, key: key)
  #  unless errors.empty?
  #    STDERR.puts "'#{term}' => '#{translated_term}'\n#{errors.join(', ').red}"
  #  end
  #  [translated_term, (errors.map { |e| "[error: #{e}]" } + ['[autotranslated]']).join("\n")]

  @data[key] = value
  @metadata[key].errors = errors
  @metadata[key].notes = nil
  @metadata[key].autotranslated = autotranslated
end