shvets-google_translate 0.5.9 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +4 -0
- data/bin/translate +6 -1
- data/google_translate.gemspec +3 -1
- data/lib/google_translate.rb +10 -34
- metadata +12 -3
data/CHANGES
CHANGED
data/bin/translate
CHANGED
@@ -8,6 +8,7 @@ require 'google_translate'
|
|
8
8
|
#$KCODE='u'
|
9
9
|
|
10
10
|
class Translate
|
11
|
+
|
11
12
|
USAGE= <<-TEXT
|
12
13
|
Usage:
|
13
14
|
translate list - displays the list of supported languages
|
@@ -62,7 +63,11 @@ class Translate
|
|
62
63
|
from = @translator.detect_language(from_text)['language']
|
63
64
|
to = $1
|
64
65
|
|
65
|
-
|
66
|
+
begin
|
67
|
+
display(@translator.translate(from.to_sym, to.to_sym, from_text))
|
68
|
+
rescue Exception => e
|
69
|
+
puts "Error: " + e.message
|
70
|
+
end
|
66
71
|
end
|
67
72
|
end
|
68
73
|
end
|
data/google_translate.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{google_translate}
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.6.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
|
@@ -29,4 +29,6 @@ Gem::Specification.new do |s|
|
|
29
29
|
s.platform = Gem::Platform::RUBY
|
30
30
|
s.requirements = ["none"]
|
31
31
|
s.bindir = "bin"
|
32
|
+
|
33
|
+
s.add_dependency("json_pure", ">= 1.1.4")
|
32
34
|
end
|
data/lib/google_translate.rb
CHANGED
@@ -5,28 +5,21 @@ require 'cgi'
|
|
5
5
|
require 'json'
|
6
6
|
|
7
7
|
module Google
|
8
|
-
|
9
|
-
attr_reader :name, :code
|
10
|
-
|
11
|
-
def initialize(name, code)
|
12
|
-
@name = name
|
13
|
-
@code = code
|
14
|
-
end
|
15
|
-
|
8
|
+
Language = Struct.new(:name, :code) do
|
16
9
|
def to_s
|
17
|
-
"(" +
|
10
|
+
"(" + code + ": " + name + ")"
|
18
11
|
end
|
19
12
|
end
|
20
13
|
|
21
14
|
class Translator
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
15
|
+
def self.Exception(*names)
|
16
|
+
cl = Module === self ? self : Object
|
17
|
+
names.each {|n| cl.const_set(n, Class.new(Exception))}
|
18
|
+
end
|
19
|
+
|
20
|
+
Exception :MissingFromLanguage, :MissingToLanguage, :MissingTextLanguage,
|
21
|
+
:TranslateServerIsDown, :InvalidResponse, :MissingText, :MissingTestText
|
22
|
+
|
30
23
|
URL_STRING = "http://ajax.googleapis.com/ajax/services/language/"
|
31
24
|
URL2_STRING = "http://translate.google.com"
|
32
25
|
|
@@ -135,23 +128,6 @@ module Google
|
|
135
128
|
|
136
129
|
languages
|
137
130
|
end
|
138
|
-
|
139
|
-
def encode_text text
|
140
|
-
s = ''
|
141
|
-
text.unpack("U*").each do |ch|
|
142
|
-
if (1072..1087).include? ch
|
143
|
-
s << (ch-912).chr
|
144
|
-
elsif (1088..1103).include? ch
|
145
|
-
s << (ch-864).chr
|
146
|
-
elsif (1020..1071).include? ch
|
147
|
-
s << (ch-892).chr
|
148
|
-
else
|
149
|
-
s << ch
|
150
|
-
end
|
151
|
-
end
|
152
|
-
|
153
|
-
s
|
154
|
-
end
|
155
131
|
end
|
156
132
|
|
157
133
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shvets-google_translate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Shvets
|
@@ -11,8 +11,17 @@ cert_chain: []
|
|
11
11
|
|
12
12
|
date: 2009-01-21 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: json_pure
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.1.4
|
24
|
+
version:
|
16
25
|
description: Simple client for Google Translate API.
|
17
26
|
email: alexander.shvets@gmail.com
|
18
27
|
executables:
|