shvets-google_translate 0.5.3

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 ADDED
@@ -0,0 +1,7 @@
1
+
2
+ = Google-Translate Changelog
3
+
4
+ == Version 0.0.1
5
+
6
+ * Initial release.
7
+
data/README ADDED
@@ -0,0 +1,14 @@
1
+ = Google-Translate -- Client for Google Translate API
2
+
3
+ = Installing Google-Translate
4
+
5
+ == Installing the Gem
6
+ $ sudo gem sources -a http://gems.github.com
7
+ $ sudo gem install google-translate
8
+
9
+ == Usage
10
+
11
+ translate list - displays the list of supported languages
12
+ translate detect "hello world" - detects language of text
13
+ translate en:ru "hello world" - translates from en to ru
14
+ translate ru "hello world" - translated from auto-detected language to ru
data/Rakefile ADDED
@@ -0,0 +1,37 @@
1
+ # Rakefile for Scriptlandia-R
2
+
3
+ require 'rubygems'
4
+ require 'rake/gempackagetask'
5
+ require 'rake/testtask'
6
+ require 'spec/rake/spectask'
7
+ require 'rake/rdoctask'
8
+ require 'rcov/rcovtask'
9
+
10
+ SPEC = Gem::Specification.load('google-translate.gemspec')
11
+
12
+ Rake::GemPackageTask.new(SPEC) do |pkg|
13
+ pkg.need_tar = true
14
+ pkg.need_zip = true
15
+ end
16
+
17
+ Spec::Rake::SpecTask.new do |task|
18
+ task.libs << 'lib'
19
+ task.pattern = 'spec/**/*_spec.rb'
20
+ task.verbose = false
21
+ end
22
+
23
+ Rake::RDocTask.new do |rdoc|
24
+ rdoc.rdoc_dir = 'rdoc'
25
+ rdoc.title = 'teststuff'
26
+ rdoc.options << '--line-numbers' << '--inline-source'
27
+ rdoc.rdoc_files.include('README*')
28
+ rdoc.rdoc_files.include('lib/**/*.rb')
29
+ end
30
+
31
+ Rcov::RcovTask.new do |task|
32
+ task.libs << 'test'
33
+ task.test_files = FileList['test/**/*_test.rb']
34
+ task.verbose = true
35
+ end
36
+
37
+ task :default => :rcov
data/bin/translate ADDED
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $:.unshift(File::join(File::dirname(File::dirname(__FILE__)), "lib"))
4
+
5
+ require 'rubygems'
6
+ require 'google_translate.rb'
7
+
8
+ class Translate
9
+ USAGE= <<-TEXT
10
+ Usage:
11
+ translate list - displays the list of supported languages
12
+ translate detect "hello world" - detects language of text
13
+ translate en:ru "hello world" - translates from en to ru
14
+ translate ru "hello world" - translated from auto-detected language to ru
15
+ TEXT
16
+
17
+ def initialize
18
+ @translator = Google::Translator.new
19
+ end
20
+
21
+ def print_languages list, title
22
+ puts USAGE
23
+ puts list.join(', ')
24
+ end
25
+
26
+ def run
27
+ if(ARGV.size == 0)
28
+ puts USAGE and return
29
+ end
30
+
31
+ case ARGV.shift
32
+
33
+ when 'list':
34
+ hash = @translator.supported_languages
35
+
36
+ print_languages hash[:from_languages], "From Languages:"
37
+ print_languages hash[:to_languages], "To Languages:"
38
+ when 'detect':
39
+ language = @translator.detect_language(ARGV.shift)
40
+
41
+ puts "Language: #{language.inspect}"
42
+ when /(..):(..)/
43
+ from_text = ARGV.join(' ')
44
+ from = $1
45
+ to = $2
46
+
47
+ puts @translator.translate(from.to_sym, to.to_sym, from_text)
48
+
49
+ when /(..)/
50
+ from_text = ARGV.join(' ')
51
+
52
+ from = @translator.detect_language(from_text)['language']
53
+ to = $1
54
+
55
+ puts @translator.translate(from.to_sym, to.to_sym, from_text)
56
+ end
57
+
58
+ end
59
+ end
60
+
61
+ Translate.new.run
data/bin/translate.bat ADDED
@@ -0,0 +1,6 @@
1
+ @ECHO OFF
2
+ IF NOT "%~f0" == "~f0" GOTO :WinNT
3
+ @"ruby.exe" "C:/Ruby/ruby-1.8.7/bin/translate" %1 %2 %3 %4 %5 %6 %7 %8 %9
4
+ GOTO :EOF
5
+ :WinNT
6
+ @"ruby.exe" "%~dpn0" %*
@@ -0,0 +1,32 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{google_translate}
5
+ s.version = "0.5.3"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+
9
+ s.authors = ["Alexander Shvets"]
10
+ s.date = %q{2009-01-21}
11
+ s.description = %q{Simple client for Google Translate API.}
12
+ s.email = %q{alexander.shvets@gmail.com}
13
+
14
+ s.files = ["CHANGES", "google_translate.gemspec", "Rakefile", "README", "lib/google_translate.rb ",
15
+ "bin/translate", "bin/translate.bat", "spec/spec_helper.rb" , "spec/translate_spec.rb"]
16
+
17
+ s.has_rdoc = false
18
+ s.homepage = %q{http://github.com/shvets/google_translate}
19
+ s.require_paths = ["lib"]
20
+ s.rubyforge_project = %q{google_translate}
21
+ s.rubygems_version = %q{1.3.1}
22
+ s.summary = %q{Simple client for Google Translate API.}
23
+
24
+ if s.respond_to? :specification_version then
25
+ s.specification_version = 2
26
+ end
27
+
28
+ s.executables = ['translate']
29
+ s.platform = Gem::Platform::RUBY
30
+ s.requirements = ["none"]
31
+ s.bindir = "bin"
32
+ end
@@ -0,0 +1,11 @@
1
+ # spec_helper.rb
2
+
3
+ require 'rubygems'
4
+ require 'spec'
5
+
6
+ # add lib directory
7
+ $:.unshift File.dirname(__FILE__) + '/../lib'
8
+
9
+ Spec::Runner.configure do |config|
10
+ config.mock_with :mocha
11
+ end
@@ -0,0 +1,58 @@
1
+ # translate_spec.rb
2
+
3
+ require File.dirname(__FILE__) + '/spec_helper'
4
+
5
+ require 'google_translate'
6
+
7
+ module Google
8
+
9
+ describe Translator do
10
+ before :each do
11
+ @translator = Translator.new
12
+ end
13
+
14
+ it "should raise an error if one of parameters is missing" do
15
+ lambda {
16
+ @translator.translate(nil, :ru)
17
+ }.should raise_error
18
+
19
+ lambda {
20
+ @translator.translate(:en, nil)
21
+ }.should raise_error
22
+
23
+ lambda {
24
+ @translator.translate(:en, :ru, nil)
25
+ }.should raise_error
26
+ end
27
+
28
+ it "should translate test string from one language to another" do
29
+ r = @translator.translate(:en, :ru, "hello world!")
30
+
31
+ puts r
32
+
33
+ r.size.should be > 0
34
+ end
35
+
36
+ it "should detect the language of a string" do
37
+ @translator.detect_language("bonjour tout le monde")['language'].should be == "fr"
38
+ end
39
+
40
+ it "should raise an error if no string" do
41
+ lambda {
42
+ @translator.detect_language(nil)
43
+ }.should raise_error
44
+ end
45
+
46
+ it "should return unreliable flag if language is not recognized" do
47
+ @translator.detect_language("azafretmkldt")['isReliable'].should be false
48
+ end
49
+
50
+ it "should return list of supportd languages" do
51
+ languages = @translator.supported_languages
52
+
53
+ languages[:from_languages].size.should > 0
54
+ languages[:to_languages].size.should > 0
55
+ end
56
+ end
57
+
58
+ end
metadata ADDED
@@ -0,0 +1,61 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shvets-google_translate
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.3
5
+ platform: ruby
6
+ authors:
7
+ - Alexander Shvets
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-01-21 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: Simple client for Google Translate API.
17
+ email: alexander.shvets@gmail.com
18
+ executables:
19
+ - translate
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
24
+ files:
25
+ - CHANGES
26
+ - google_translate.gemspec
27
+ - Rakefile
28
+ - README
29
+ - "lib/google_translate.rb "
30
+ - bin/translate
31
+ - bin/translate.bat
32
+ - spec/spec_helper.rb
33
+ - spec/translate_spec.rb
34
+ has_rdoc: false
35
+ homepage: http://github.com/shvets/google_translate
36
+ post_install_message:
37
+ rdoc_options: []
38
+
39
+ require_paths:
40
+ - lib
41
+ required_ruby_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: "0"
46
+ version:
47
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: "0"
52
+ version:
53
+ requirements:
54
+ - none
55
+ rubyforge_project: google_translate
56
+ rubygems_version: 1.2.0
57
+ signing_key:
58
+ specification_version: 2
59
+ summary: Simple client for Google Translate API.
60
+ test_files: []
61
+