Sha256: adf309ce0d537160f607aefcb5d55c953dd46f069126715451fdba451200ceab
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
#!/usr/bin/env ruby require 'light_tr' command = ARGV[0].to_s.strip return LightTr::Commands.command_runner '-config' if LightTr::Config.config_missing? return LightTr::Commands.command_runner(command) if LightTr::Commands.command?(command) raise LightTr::Error, "Please put some text!" if ARGV[0].nil? override_language = /^\-[a-zA-Z]{2}$/.match(command) languages = (override_language ? ARGV[0].strip[1..2] : LightTr::Config.languages).split(',').map(&:strip) full_text = (override_language ? ARGV[1..] : ARGV).join(' ') store = LightTr::Store.new(name: 'translations', file_path: LightTr::Config.config_path) translator = LightTr::Translator.new(LightTr::Config.api_key) text = full_text.gsub(/[[:space:]]+/, ' ').strip interactive = command == '-i' unless text.empty? runner = LightTr::Runner.new(store, translator) return puts runner.translate(languages[0], text) if languages.count == 1 languages.each { |target| puts "#{target.upcase}: #{runner.translate(target, text)}" } end if interactive puts 'Interactive mode! (quit by /q or empty line)' puts 'Type any sentence now:' loop do text = STDIN.gets.chomp.to_s.gsub(/[[:space:]]+/, ' ').strip break if text == '/q' || text.empty? runner = LightTr::Runner.new(store, translator) return puts " " + runner.translate(languages[0], text) if languages.count == 1 languages.each { |target| puts " #{target.upcase}: #{runner.translate(target, text)}" } puts "\n" end end LightTr::Commands.print_footer
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
light_tr-1.0.0 | exe/trans |