Sha256: e52cd47eae29ff2e858046da1c2860197ad270a05cf7d7d5e3478aa1aebfa17b
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
if defined?(MongoMapper) namespace :mm do desc "Generates .yml files for I18n translations" task :translate => :environment do models = Dir["#{Padrino.root}/app/models/**/*.rb"].collect { |m| File.basename(m, ".rb") } models.each do |m| # Get the model class klass = m.camelize.constantize # Init the processing print "Processing #{m.humanize}: " FileUtils.mkdir_p("#{Padrino.root}/app/locale/models/#{m}") langs = Array(I18n.locale) # for now we use only one # Create models for it and en locales langs.each do |lang| filename = "#{Padrino.root}/app/locale/models/#{m}/#{lang}.yml" columns = klass.keys.values.collect(&:name).reject { |name| name =~ /id/i } # If the lang file already exist we need to check it if File.exist?(filename) locale = File.open(filename).read columns.each do |c| locale += "\n #{c}: #{c.humanize}" unless locale.include?("#{c}:") end print "Lang #{lang.to_s.upcase} already exist ... "; $stdout.flush # Do some ere else locale = "#{lang}:" + "\n" + " models:" + "\n" + " #{m}:" + "\n" + " name: #{klass.human_name}" + "\n" + " attributes:" + "\n" + columns.collect { |c| " #{c}: #{c.humanize}" }.join("\n") print "created a new for #{lang.to_s.upcase} Lang ... "; $stdout.flush end File.open(filename, "w") { |f| f.puts locale } end puts end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
padrino-gen-0.9.10 | lib/padrino-gen/padrino-tasks/mongomapper.rb |