Class: I18n::Migrations::MigrationFactory::Translations
- Inherits:
-
Object
- Object
- I18n::Migrations::MigrationFactory::Translations
- 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
- #delete_term(key) ⇒ Object
- #get_term(key) ⇒ Object
-
#initialize(locale_code:, data:, metadata:) ⇒ Translations
constructor
A new instance of Translations.
- #move_term(from, to) ⇒ Object
- #set_term(key, value:, errors:, autotranslated:) ⇒ Object
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 |