module I18n::Processes::Command::Commands::Preprocessing
Public Instance Methods
keys_source(dic, path, locale)
click to toggle source
# File lib/i18n/processes/command/commands/preprocessing.rb, line 48 def keys_source(dic, path, locale) filename = path + locale File.delete(filename) if File.exist?(filename) local_file = File.new(filename, 'w') dic.map do |key, value| value.include?("\n") ? local_file.write("#{key}=#{value}") : local_file.write("#{key}=#{value}\n") end local_file.close end
origin_file_read(file)
click to toggle source
# File lib/i18n/processes/command/commands/preprocessing.rb, line 31 def origin_file_read(file) {}.tap do |a| File.open(file).read.each_line do |line| next if line =~ /^#/ || line == "\n" || !line.include?('.') if line.include?('\':') line.gsub!(/'|,/, '') key = line.split(': ').first.delete(' ') value = line.split(': ').last else key = line.split('=').first.delete(' ') value = line.split('=').last end a[key] = value end end end
preprocessing(opt = {})
click to toggle source
# File lib/i18n/processes/command/commands/preprocessing.rb, line 19 def preprocessing(opt = {}) locale = opt[:locales].include?(base_locale) ? 'zh-CN' : opt[:locales].first dic = {} origin_files(locale).flatten.each do |file| # dic.merge!(origin_file_read(file)) { |key, v1, v2| fail "conflict: #{key}: #{v1}, #{v2} in #{file}" unless v1 == v2 } dic.merge!(origin_file_read(file)) end path = compare_path.first keys_source(dic, path, locale) $stderr.puts Rainbow('fetch all keys and values from origin files').green if locale == base_locale end