babelphish 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/babelphish +2 -1
- data/lib/babelphish/translator.rb +13 -7
- data/lib/babelphish.rb +1 -1
- data/lib/tasks/babelphish.rake +2 -1
- metadata +1 -1
data/bin/babelphish
CHANGED
@@ -7,8 +7,9 @@ task = :babelphish
|
|
7
7
|
|
8
8
|
OptionParser.new do |opts|
|
9
9
|
opts.banner = "Usage: babelphish [options]"
|
10
|
-
opts.on('-y', '--yaml yml', "Required. Path to the yml file to be translated") {|yml| ENV['yml'] = yml }
|
10
|
+
opts.on('-y', '--yaml yml', "Required. Path to the yml file to be translated") { |yml| ENV['yml'] = yml }
|
11
11
|
opts.on('-o', '--overwrite', "Overwrite existing translations(default 'false')") { ENV['overwrite'] = 'yes' }
|
12
|
+
opts.on('-t', '--translate_to to', "Only translate from the source file to a specific language (ie -t es will only translate to Spanish)") { |to| ENV['translate_to'] = to }
|
12
13
|
end.parse!
|
13
14
|
|
14
15
|
if Babelphish.load_tasks
|
@@ -7,15 +7,24 @@ module Babelphish
|
|
7
7
|
module Translator
|
8
8
|
class << self
|
9
9
|
|
10
|
-
def translate_yaml(yml, overwrite = false)
|
10
|
+
def translate_yaml(yml, overwrite = false, translate_to = nil)
|
11
|
+
@yml = yml
|
11
12
|
$KCODE = 'UTF8'
|
12
13
|
language = File.basename(yml, ".yml")
|
13
14
|
if !Babelphish::GoogleTranslate::LANGUAGES.include?(language)
|
14
15
|
STDERR.puts "#{language} is not one of the available languages. Please choose a standard localized yml file. i.e. en.yml."
|
15
16
|
return
|
16
17
|
end
|
17
|
-
|
18
|
-
|
18
|
+
if translate_to
|
19
|
+
puts "Translating #{language} to #{translate_to}"
|
20
|
+
translate_and_write_yml(yml, translate_to, language, overwrite)
|
21
|
+
puts "Finished translating #{language} to #{translate_to}"
|
22
|
+
else
|
23
|
+
Babelphish::GoogleTranslate::LANGUAGES.each do |to|
|
24
|
+
puts "Translating #{language} to #{to}"
|
25
|
+
translate_and_write_yml(yml, to, language, overwrite)
|
26
|
+
puts "Finished translating #{language} to #{to}"
|
27
|
+
end
|
19
28
|
end
|
20
29
|
end
|
21
30
|
|
@@ -81,10 +90,7 @@ module Babelphish
|
|
81
90
|
if json['responseStatus'] == 200
|
82
91
|
json['responseData']['translatedText']
|
83
92
|
else
|
84
|
-
puts response
|
85
|
-
puts to
|
86
|
-
puts from
|
87
|
-
raise StandardError, response['responseDetails']
|
93
|
+
puts "A problem occured while translating from #{from} to #{to}. To retry only this translation try: babelphish -o -y #{@yml} -t #{to} to babelphish. Response: #{response}"
|
88
94
|
end
|
89
95
|
end
|
90
96
|
|
data/lib/babelphish.rb
CHANGED
data/lib/tasks/babelphish.rake
CHANGED
@@ -4,9 +4,10 @@ task :babelphish do
|
|
4
4
|
options={}
|
5
5
|
yml = ENV['yml']
|
6
6
|
overwrite = ENV['overwrite'] == 'yes'
|
7
|
+
translate_to = ENV['translate_to'] || nil
|
7
8
|
|
8
9
|
if yml
|
9
|
-
Babelphish::Translator.translate_yaml(yml, overwrite)
|
10
|
+
Babelphish::Translator.translate_yaml(yml, overwrite, translate_to)
|
10
11
|
else
|
11
12
|
STDERR.puts "Please specify the directory where your files live. i.e. babelphish -d ./my/locales"
|
12
13
|
end
|