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(locale_code:, data:, metadata:) ⇒ Translations

Returns a new instance of Translations.



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

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

Instance Method Details

#delete_term(key) ⇒ Object



79
80
81
82
# File 'lib/i18n/migrations/migration_factory.rb', line 79

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



84
85
86
87
# File 'lib/i18n/migrations/migration_factory.rb', line 84

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
67
68
69
70
71
72
73
74
75
76
77
# 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
  if errors.present?
    puts [
           "=" * 100,
           "#{@locale_code}: #{key}",
           value,
           errors.map { |e| "Error: #{e}".red }.join("\n"),
           "=" * 100,
         ].compact.join("\n")
    # puts ["Error with #{@locale_code}: #{key}: \n  #{errors.join("\n  ")}".red,
    #       value].compact.join("\n")
  end
end