module TranslateYamlGenerator
Public Class Methods
main()
click to toggle source
# File lib/translate_yaml_generator/cli.rb, line 35 def self.main if ARGV.length == 2 data_filename = ARGV[0] config_filename = ARGV[1] run data_filename, config_filename else puts <<eos Usage: #{$0} <translate excel> <config yaml> translate excel : Internationalization Excel File (extension: xlsx) config yaml : Configuration File (extension: yml) eos end end
run(data_filename, config_filename)
click to toggle source
# File lib/translate_yaml_generator/cli.rb, line 7 def self.run(data_filename, config_filename) config_content = File.read config_filename config = YAML.load(config_content) reader = TranslateYamlGenerator::Reader::XlsxReader.new root = reader.read data_filename base_dir = File.dirname(data_filename) config["languages"].each_with_index do |data, idx| writer = TranslateYamlGenerator::Writer::YamlWriter.new writer.locale = data["lang"] writer.locale_idx = idx filename = data["file"] if filename[0] == '/' target_dir = File.dirname(filename) else target_dir = File.join(base_dir, File.dirname(filename)) end FileUtils::mkdir_p target_dir File.open(File.join(base_dir, filename), 'w') do |f| f.write(writer.write root) end end end