43 lines
1.3 KiB
Ruby
Executable File
43 lines
1.3 KiB
Ruby
Executable File
#!/usr/bin/env ruby
|
|
#require 'pathname'
|
|
#require 'active_support/all'
|
|
#require 'yaml'
|
|
#require 'pry'
|
|
#$root = Pathname.new File.expand_path('../../', __FILE__)
|
|
class UserApp
|
|
def path
|
|
Pathname.new File.expand_path('../../../mozo-user', __FILE__)
|
|
end
|
|
|
|
def user_translations
|
|
Dir.glob(Rails.root.join('config/user_locales/**/*.yml')).each_with_object({}) do |user_yaml, obj|
|
|
obj.deep_merge! YAML.load_file(user_yaml)
|
|
end
|
|
end
|
|
|
|
def all_translations
|
|
user_translations.deep_merge general_translations
|
|
end
|
|
|
|
def general_translations
|
|
Rails.application.config.i18n.available_locales.each_with_object({}) do |locale, obj|
|
|
obj[locale.to_s] = {
|
|
models: I18n.t('activemodel.models', locale: locale),
|
|
attributes: I18n.t('activemodel.attributes', locale: locale),
|
|
helpers: I18n.t('helpers', locale: locale),
|
|
pagination: I18n.t('views.pagination', locale: locale),
|
|
errors: I18n.t('errors', locale: locale),
|
|
date: {day_name: Hash[Date::DAYNAMES.map(&:downcase).zip(I18n.t('date.day_names', locale: locale))]}
|
|
}
|
|
end.deep_stringify_keys
|
|
end
|
|
|
|
def write_translations
|
|
File.open path.join('vendor/i18n/translations.js'), 'w+' do |f|
|
|
f.puts "$translations = #{JSON.pretty_generate all_translations}"
|
|
end
|
|
end
|
|
end
|
|
|
|
UserApp.new.write_translations
|