Sha256: ad19c791f60fb304af9495499defd7194d44d794a3e3c7b12ffe33e6698be3ac
Contents?: true
Size: 1.69 KB
Versions: 3
Compression:
Stored size: 1.69 KB
Contents
module I18n::Tasks::FillTasks def add_missing!(locale = base_locale, placeholder = nil) normalize_store! locale set_blank_values! locale, locale == base_locale do |keys| keys.map { |key| placeholder || key.split('.').last.to_s.humanize } end end def fill_with_blanks!(locales = nil) locales = non_base_locales(locales) add_missing! base_locale, '' normalize_store! locales locales.each do |locale| add_missing! locale, '' end end def fill_with_google_translate!(locales = nil) normalize_store! base_locale locales = non_base_locales(locales) normalize_store! locales locales.each do |locale| set_blank_values! locale do |blank_keys| google_translate blank_keys.map { |k| t(k) }, to: locale, from: base_locale end end end def fill_with_base_values!(locales = nil) normalize_store! base_locale locales = non_base_locales(locales) normalize_store! locales locales.each do |locale| set_blank_values! locale do |blank_keys| blank_keys.map { |k| t(k) } end end end # fill blank values with values from passed block # @param [String] locale # @param [true, false] include_missing Include keys present in source but missing from base locale def set_blank_values!(locale = base_locale, include_missing = (locale == base_locale), &fill_with) blank_keys = traverse_map_if(data[base_locale]) { |key, value| key if !key_value?(key, locale) && !ignore_key?(key, :missing) } blank_keys += keys_not_in_base if include_missing list = blank_keys.uniq.zip fill_with.call(blank_keys) data[locale] = data[locale].deep_merge(list_to_tree(list)) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
i18n-tasks-0.2.12 | lib/i18n/tasks/fill_tasks.rb |
i18n-tasks-0.2.11 | lib/i18n/tasks/fill_tasks.rb |
i18n-tasks-0.2.10 | lib/i18n/tasks/fill_tasks.rb |