dict 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/.gitignore +1 -1
  2. data/.rspec +2 -2
  3. data/.travis.yml +14 -14
  4. data/Gemfile +4 -4
  5. data/Gemfile.lock +40 -40
  6. data/README.md +34 -34
  7. data/Rakefile +8 -8
  8. data/bin/dict +7 -7
  9. data/dict.gemspec +28 -28
  10. data/lib/dict.rb +5 -5
  11. data/lib/dict/cli/runner.rb +137 -137
  12. data/lib/dict/dict.rb +38 -40
  13. data/lib/dict/dictionary.rb +45 -45
  14. data/lib/dict/glosbe.rb +68 -68
  15. data/lib/dict/result.rb +38 -38
  16. data/lib/dict/version.rb +3 -3
  17. data/lib/dict/wiktionary.rb +91 -91
  18. data/spec/dict/lib_dict_cli_runner_spec.rb +120 -120
  19. data/spec/dict/lib_dict_spec.rb +39 -39
  20. data/spec/dict/lib_glosbe_spec.rb +48 -48
  21. data/spec/dict/lib_wiktionary_spec.rb +68 -68
  22. data/spec/dict/spec_helper.rb +17 -17
  23. data/spec/dict/vcr_cassettes/glosbe_translations_asdfff_cassette.yml +1518 -1518
  24. data/spec/dict/vcr_cassettes/glosbe_translations_atomic_cassette.yml +2794 -2794
  25. data/spec/dict/vcr_cassettes/glosbe_translations_usage_cassette.yml +2530 -2530
  26. data/spec/dict/vcr_cassettes/glosbe_translations_woda_cassette.yml +1949 -1949
  27. data/spec/dict/vcr_cassettes/slowik_runner_cassette.yml +4178 -4178
  28. data/spec/dict/vcr_cassettes/translations_dragon_cassette.yml +8659 -8659
  29. data/spec/dict/vcr_cassettes/translations_slownik_cassette.yml +4177 -4177
  30. data/spec/dict/vcr_cassettes/wiktionary_no_usage_examples.yml +8634 -8634
  31. data/spec/dict/vcr_cassettes/wiktionary_translate_result_uppercase.yml +6120 -6120
  32. data/spec/dict/vcr_cassettes/wiktionary_translations_field_cassette.yml +8600 -8600
  33. data/spec/dict/vcr_cassettes/wiktionary_translations_samochod_cassette.yml +6140 -6140
  34. data/spec/dict/vcr_cassettes/wiktionary_usage_examples_kot.yml +6444 -6444
  35. data/spec/dict/vcr_setup.rb +19 -19
  36. metadata +20 -2
data/.gitignore CHANGED
@@ -1,2 +1,2 @@
1
- *~
1
+ *~
2
2
  *.gem
data/.rspec CHANGED
@@ -1,2 +1,2 @@
1
- --color
2
- --format progress
1
+ --color
2
+ --format progress
data/.travis.yml CHANGED
@@ -1,14 +1,14 @@
1
- language: ruby
2
- rvm:
3
- - 1.9.3
4
- - 1.9.2
5
- notifications:
6
- email:
7
- - gozdek.aleksander@gmail.com
8
- - grk@ragnarson.com
9
- - jan.borwin@gmail.com
10
- - kosmadunikowski@gmail.com
11
- - mtczerwinski@gmail.com
12
- - michalk@ragnarson.com
13
- - m.podlecki@op.pl
14
- - rafal.osko@gmail.com
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 1.9.2
5
+ notifications:
6
+ email:
7
+ - gozdek.aleksander@gmail.com
8
+ - grk@ragnarson.com
9
+ - jan.borwin@gmail.com
10
+ - kosmadunikowski@gmail.com
11
+ - mtczerwinski@gmail.com
12
+ - michalk@ragnarson.com
13
+ - m.podlecki@op.pl
14
+ - rafal.osko@gmail.com
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "http://rubygems.org"
2
-
3
- # Specify your gem's dependencies in dict.gemspec
4
- gemspec
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in dict.gemspec
4
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,40 +1,40 @@
1
- PATH
2
- remote: .
3
- specs:
4
- dict (0.3.4)
5
- nokogiri (~> 1.5.5)
6
- slop (~> 3.3.2)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- activesupport (3.2.6)
12
- i18n (~> 0.6)
13
- multi_json (~> 1.0)
14
- diff-lcs (1.1.3)
15
- fakeweb (1.3.0)
16
- i18n (0.6.0)
17
- multi_json (1.3.6)
18
- nokogiri (1.5.5)
19
- rake (0.9.2.2)
20
- rspec (2.11.0)
21
- rspec-core (~> 2.11.0)
22
- rspec-expectations (~> 2.11.0)
23
- rspec-mocks (~> 2.11.0)
24
- rspec-core (2.11.0)
25
- rspec-expectations (2.11.1)
26
- diff-lcs (~> 1.1.3)
27
- rspec-mocks (2.11.1)
28
- slop (3.3.2)
29
- vcr (2.2.3)
30
-
31
- PLATFORMS
32
- ruby
33
-
34
- DEPENDENCIES
35
- activesupport
36
- dict!
37
- fakeweb
38
- rake
39
- rspec (~> 2.11)
40
- vcr
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ dict (0.3.4)
5
+ nokogiri (~> 1.5.5)
6
+ slop (~> 3.3.2)
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ activesupport (3.2.6)
12
+ i18n (~> 0.6)
13
+ multi_json (~> 1.0)
14
+ diff-lcs (1.1.3)
15
+ fakeweb (1.3.0)
16
+ i18n (0.6.0)
17
+ multi_json (1.3.6)
18
+ nokogiri (1.5.5)
19
+ rake (0.9.2.2)
20
+ rspec (2.11.0)
21
+ rspec-core (~> 2.11.0)
22
+ rspec-expectations (~> 2.11.0)
23
+ rspec-mocks (~> 2.11.0)
24
+ rspec-core (2.11.0)
25
+ rspec-expectations (2.11.1)
26
+ diff-lcs (~> 1.1.3)
27
+ rspec-mocks (2.11.1)
28
+ slop (3.3.2)
29
+ vcr (2.2.3)
30
+
31
+ PLATFORMS
32
+ ruby
33
+
34
+ DEPENDENCIES
35
+ activesupport
36
+ dict!
37
+ fakeweb
38
+ rake
39
+ rspec (~> 2.11)
40
+ vcr
data/README.md CHANGED
@@ -1,35 +1,35 @@
1
- # dict [![Build Status](https://secure.travis-ci.org/Ragnarson/dict-gem.png?branch=master)](http://travis-ci.org/Ragnarson/dict-gem)
2
- CLI and backend for dict - an open source dictionary aggregator.
3
-
4
- ## Usage ##
5
- To search for `WORD`:
6
-
7
- dict WORD [OPTIONS]
8
-
9
- ### Available options ###
10
-
11
- - `-h` or `--help` - displays help message
12
- - `-t` or `--time` - used to set timeout in seconds. Default value: 300
13
- - `-d` or `--dict` - used to select desired dictionary
14
- - `-v` or `--version` - used to show version, authors, license
15
- - `-c` or `--clean` - used to delete examples from translation
16
-
17
-
18
-
19
- ## People
20
-
21
- ### Trainees
22
- - [Jan Borwin](https://github.com/janiuuuu)
23
- - [Mateusz Czerwiński](https://github.com/mrfustrr)
24
- - [Kosma Dunikowski](https://github.com/kdunee)
25
- - [Aleksander Gozdek](https://github.com/alexgozdek)
26
- - [Rafał Ośko](https://github.com/rekosko)
27
- - [Michał Podlecki](https://github.com/michalpodlecki)
28
-
29
- ### Mentors
30
- - [Grzegorz Kołodziejczyk](https://github.com/grk)
31
- - [Michał Kwiatkowski](https://github.com/mkwiatkowski)
32
-
33
- ## Made during internship at [Ragnarson](http://ragnarson.com/)
34
-
1
+ # dict [![Build Status](https://secure.travis-ci.org/Ragnarson/dict-gem.png?branch=master)](http://travis-ci.org/Ragnarson/dict-gem)
2
+ CLI and backend for dict - an open source dictionary aggregator.
3
+
4
+ ## Usage ##
5
+ To search for `WORD`:
6
+
7
+ dict WORD [OPTIONS]
8
+
9
+ ### Available options ###
10
+
11
+ - `-h` or `--help` - displays help message
12
+ - `-t` or `--time` - used to set timeout in seconds. Default value: 300
13
+ - `-d` or `--dict` - used to select desired dictionary
14
+ - `-v` or `--version` - used to show version, authors, license
15
+ - `-c` or `--clean` - used to delete examples from translation
16
+
17
+
18
+
19
+ ## People
20
+
21
+ ### Trainees
22
+ - [Jan Borwin](https://github.com/janiuuuu)
23
+ - [Mateusz Czerwiński](https://github.com/mrfustrr)
24
+ - [Kosma Dunikowski](https://github.com/kdunee)
25
+ - [Aleksander Gozdek](https://github.com/alexgozdek)
26
+ - [Rafał Ośko](https://github.com/rekosko)
27
+ - [Michał Podlecki](https://github.com/michalpodlecki)
28
+
29
+ ### Mentors
30
+ - [Grzegorz Kołodziejczyk](https://github.com/grk)
31
+ - [Michał Kwiatkowski](https://github.com/mkwiatkowski)
32
+
33
+ ## Made during internship at [Ragnarson](http://ragnarson.com/)
34
+
35
35
  ## Hosted by [Shelly Cloud](https://shellycloud.com/)
data/Rakefile CHANGED
@@ -1,8 +1,8 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- task :default => :spec
5
- desc "Run specs"
6
- RSpec::Core::RakeTask.new do |t|
7
- t.rspec_opts = %w(-fp --color)
8
- end
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ task :default => :spec
5
+ desc "Run specs"
6
+ RSpec::Core::RakeTask.new do |t|
7
+ t.rspec_opts = %w(-fp --color)
8
+ end
data/bin/dict CHANGED
@@ -1,7 +1,7 @@
1
- #!/usr/bin/ruby
2
- # -*- coding: utf-8 -*-
3
-
4
- require 'dict/cli/runner'
5
-
6
- runner = Dict::CLI::Runner.new
7
- runner.run
1
+ #!/usr/bin/ruby
2
+ # -*- coding: utf-8 -*-
3
+
4
+ require 'dict/cli/runner'
5
+
6
+ runner = Dict::CLI::Runner.new
7
+ runner.run
data/dict.gemspec CHANGED
@@ -1,28 +1,28 @@
1
- $:.push File.expand_path("../lib", __FILE__)
2
- require "dict/version"
3
-
4
- Gem::Specification.new do |s|
5
- s.add_dependency 'slop', '~> 3.3.2'
6
- s.add_dependency 'nokogiri', '~>1.5.5'
7
- s.add_development_dependency "rspec", "~> 2.11"
8
- s.add_development_dependency "rake"
9
- s.add_development_dependency "vcr"
10
- s.add_development_dependency "activesupport"
11
- s.add_development_dependency "fakeweb"
12
-
13
- s.name = %q{dict}
14
- s.version = Dict::VERSION
15
- s.authors = ['Aleksander Gozdek', 'Mateusz Czerwinski', 'Michał Podlecki', 'Rafał Ośko', 'Kosma Dunikowski', 'Jan Borwin']
16
- s.email = ['mtczerwinski@gmail.com']
17
- s.date = Time.now.strftime('%Y-%m-%d')
18
- s.summary = %q{Gem stworzony dla aplikacji słownikowej}
19
- s.description = <<-END
20
- Dict to open-source'owy agregator słowników.
21
- END
22
- s.homepage = 'https://github.com/Ragnarson/dict-gem'
23
-
24
- s.files = `git ls-files`.split("\n")
25
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
26
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
27
- s.require_paths = ["lib"]
28
- end
1
+ $:.push File.expand_path("../lib", __FILE__)
2
+ require "dict/version"
3
+
4
+ Gem::Specification.new do |s|
5
+ s.add_dependency 'slop', '~> 3.3.2'
6
+ s.add_dependency 'nokogiri', '~>1.5.5'
7
+ s.add_development_dependency "rspec", "~> 2.11"
8
+ s.add_development_dependency "rake"
9
+ s.add_development_dependency "vcr"
10
+ s.add_development_dependency "activesupport"
11
+ s.add_development_dependency "fakeweb"
12
+
13
+ s.name = %q{dict}
14
+ s.version = Dict::VERSION
15
+ s.authors = ['Aleksander Gozdek', 'Mateusz Czerwinski', 'Michał Podlecki', 'Rafał Ośko', 'Kosma Dunikowski', 'Jan Borwin']
16
+ s.email = ['mtczerwinski@gmail.com']
17
+ s.date = Time.now.strftime('%Y-%m-%d')
18
+ s.summary = %q{Gem stworzony dla aplikacji słownikowej}
19
+ s.description = <<-END
20
+ Dict to open-source'owy agregator słowników.
21
+ END
22
+ s.homepage = 'https://github.com/Ragnarson/dict-gem'
23
+
24
+ s.files = `git ls-files`.split("\n")
25
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
26
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
27
+ s.require_paths = ["lib"]
28
+ end
data/lib/dict.rb CHANGED
@@ -1,5 +1,5 @@
1
- require 'dict/dict'
2
-
3
- module Dict
4
- autoload :VERSION, "dict/version"
5
- end
1
+ require 'dict/dict'
2
+
3
+ module Dict
4
+ autoload :VERSION, "dict/version"
5
+ end
@@ -1,137 +1,137 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- # Class, which provides using application in Command Line Interface.
4
-
5
- require 'dict/dict'
6
- require 'dict/version'
7
- require 'slop'
8
- require 'timeout'
9
-
10
- module Dict
11
- module CLI
12
- class Runner
13
-
14
- def parameters_valid?
15
- not ARGV.empty?
16
- end
17
-
18
- def parse_parameters
19
- opts = Slop.parse! do
20
- banner <<-END
21
- Przykład użycia: dict SŁOWO [OPCJE]
22
- Wyszukaj SŁOWO w dict, open-source'owym agregatorze słowników.
23
- END
24
-
25
- on '-h', :help=, 'Wyświetl pomoc', :argument => :optional
26
- on '-t', :time=, 'Ustaw limit czasu żądania w sekundach. Domyślnie: 300', :as => :int
27
- on '-d', :dict=, "Wybierz słownik. Dostępne są : #{Dict.available_dictionaries.join(', ')}"
28
- on '-v', :version=, "Informacje o gemie, autorach, licencji", :argument => :optional
29
- on '-c', :clean=, "Nie wyświetlaj przykładów użycia", :argument => :optional
30
-
31
- end
32
- end
33
-
34
- def get_translations(opts, word)
35
- Timeout::timeout(opts[:time].to_i || 300) do
36
- if opts.dict?
37
- Dict.get_single_dictionary_translations(word, opts[:dict])
38
- else
39
- Dict.get_all_dictionaries_translations(word)
40
- end
41
- end
42
- rescue Timeout::Error
43
- "Upłynął limit czasu żądania."
44
- end
45
-
46
- def expected_argument_description(option)
47
- case option
48
- when "dict"
49
- Dict.available_dictionaries.join(', ')
50
- when "time"
51
- "liczba sekund"
52
- else
53
- "?"
54
- end
55
- end
56
-
57
- MSG = "Przykład użycia: dict SŁOWO [OPCJE]\n `dict --help, aby uzyskać więcej informacji.\n"
58
- VERSION = "dict wersja #{Dict::VERSION}\nWyszukaj SŁOWO w dict, open-source'owym agregatorze słowników. \nCopyright (C) 2012 by\nZespół:\n Jan Borwin\n Mateusz Czerwiński\n Kosma Dunikowski\n Aleksander Gozdek\n Rafał Ośko\n Michał Podlecki\nMentorzy:\n Grzegorz Kołodziejski\n Michał Kwiatkowski\nLicencja: MIT\nStworzono na praktykach w : http://ragnarson.com/\nHosting: Shelly Cloud :\t http://shellycloud.com/\nStrona domowa:\t\t http://github.com/Ragnarson/dict-gem/\nSłowniki:\t\t http://wiktionary.org/\n\t\t\t http://glosbe.com/\n"
59
-
60
- # Returns array without duplicates
61
- def clean_translation(results)
62
- clean = []
63
- results.each do |_, translations_hash|
64
- translations_hash.each do |_, translations|
65
- clean.concat(translations)
66
- end
67
- end
68
- clean.uniq
69
- end
70
-
71
- # Prints translations from all dictionaries
72
- def print_all_dictionaries_translations(results)
73
- results.each do |dictionary, translations_hash|
74
- puts "Nazwa słownika - #{dictionary.upcase}"
75
- print_translations(translations_hash)
76
- end
77
- end
78
-
79
- # Prints translations for given Hash or Array
80
- def print_translations(results)
81
- if results.empty?
82
- puts 'Przepraszamy, ale w wybranym słowniku nie znaleziono tłumaczenia.'
83
- else
84
- if results.instance_of?(Hash)
85
- results.each do |_, translations|
86
- print_array(translations)
87
- end
88
- elsif results.instance_of?(Array)
89
- print_array(results)
90
- end
91
- end
92
- end
93
-
94
- # Prints array elements one by one vertically
95
- def print_array(arr)
96
- puts "Znaleziono: #{arr.size} tłumaczeń"
97
- arr.each { |el| puts "- #{el}" }
98
- end
99
-
100
- def run
101
- begin
102
- opts = parse_parameters
103
- rescue Slop::MissingArgumentError => e
104
- incomplete_option = /(.*?) expects an argument/.match(e.to_s)[1]
105
- description = expected_argument_description(incomplete_option)
106
- abort("Brakujący argument. Spodziewano: #{description}")
107
- end
108
-
109
- if opts.help?
110
- abort(opts.to_s)
111
- elsif opts.version?
112
- abort(VERSION)
113
- elsif opts.time?
114
- if (opts[:time].to_i) == 0
115
- abort("Nieprawidłowa wartość czasu.")
116
- else
117
- print_all_dictionaries_translations(get_translations(opts, ARGV[0]))
118
- end
119
- else
120
- if !parameters_valid?
121
- abort(MSG)
122
- else
123
- if opts.clean? && !opts.dict?
124
- print_translations(clean_translation(get_translations(opts, ARGV[0])))
125
- else
126
- if opts.dict?
127
- print_translations(get_translations(opts, ARGV[0]))
128
- else
129
- print_all_dictionaries_translations(get_translations(opts, ARGV[0]))
130
- end
131
- end
132
- end
133
- end
134
- end
135
- end
136
- end
137
- end
1
+ # -*- coding: utf-8 -*-
2
+
3
+ # Class, which provides using application in Command Line Interface.
4
+
5
+ require 'dict/dict'
6
+ require 'dict/version'
7
+ require 'slop'
8
+ require 'timeout'
9
+
10
+ module Dict
11
+ module CLI
12
+ class Runner
13
+
14
+ def parameters_valid?
15
+ not ARGV.empty?
16
+ end
17
+
18
+ def parse_parameters
19
+ opts = Slop.parse! do
20
+ banner <<-END
21
+ Przykład użycia: dict SŁOWO [OPCJE]
22
+ Wyszukaj SŁOWO w dict, open-source'owym agregatorze słowników.
23
+ END
24
+
25
+ on '-h', :help=, 'Wyświetl pomoc', :argument => :optional
26
+ on '-t', :time=, 'Ustaw limit czasu żądania w sekundach. Domyślnie: 300', :as => :int
27
+ on '-d', :dict=, "Wybierz słownik. Dostępne są : #{Dict.available_dictionaries.join(', ')}"
28
+ on '-v', :version=, "Informacje o gemie, autorach, licencji", :argument => :optional
29
+ on '-c', :clean=, "Nie wyświetlaj przykładów użycia", :argument => :optional
30
+
31
+ end
32
+ end
33
+
34
+ def get_translations(opts, word)
35
+ Timeout::timeout(opts[:time].to_i || 300) do
36
+ if opts.dict?
37
+ Dict.get_single_dictionary_translations(word, opts[:dict])
38
+ else
39
+ Dict.get_all_dictionaries_translations(word)
40
+ end
41
+ end
42
+ rescue Timeout::Error
43
+ "Upłynął limit czasu żądania."
44
+ end
45
+
46
+ def expected_argument_description(option)
47
+ case option
48
+ when "dict"
49
+ Dict.available_dictionaries.join(', ')
50
+ when "time"
51
+ "liczba sekund"
52
+ else
53
+ "?"
54
+ end
55
+ end
56
+
57
+ MSG = "Przykład użycia: dict SŁOWO [OPCJE]\n `dict --help, aby uzyskać więcej informacji.\n"
58
+ VERSION = "dict wersja #{Dict::VERSION}\nWyszukaj SŁOWO w dict, open-source'owym agregatorze słowników. \nCopyright (C) 2012 by\nZespół:\n Jan Borwin\n Mateusz Czerwiński\n Kosma Dunikowski\n Aleksander Gozdek\n Rafał Ośko\n Michał Podlecki\nMentorzy:\n Grzegorz Kołodziejski\n Michał Kwiatkowski\nLicencja: MIT\nStworzono na praktykach w : http://ragnarson.com/\nHosting: Shelly Cloud :\t http://shellycloud.com/\nStrona domowa:\t\t http://github.com/Ragnarson/dict-gem/\nSłowniki:\t\t http://wiktionary.org/\n\t\t\t http://glosbe.com/\n"
59
+
60
+ # Returns array without duplicates
61
+ def clean_translation(results)
62
+ clean = []
63
+ results.each do |_, translations_hash|
64
+ translations_hash.each do |_, translations|
65
+ clean.concat(translations)
66
+ end
67
+ end
68
+ clean.uniq
69
+ end
70
+
71
+ # Prints translations from all dictionaries
72
+ def print_all_dictionaries_translations(results)
73
+ results.each do |dictionary, translations_hash|
74
+ puts "Nazwa słownika - #{dictionary.upcase}"
75
+ print_translations(translations_hash)
76
+ end
77
+ end
78
+
79
+ # Prints translations for given Hash or Array
80
+ def print_translations(results)
81
+ if results.empty?
82
+ puts 'Przepraszamy, ale w wybranym słowniku nie znaleziono tłumaczenia.'
83
+ else
84
+ if results.instance_of?(Hash)
85
+ results.each do |_, translations|
86
+ print_array(translations)
87
+ end
88
+ elsif results.instance_of?(Array)
89
+ print_array(results)
90
+ end
91
+ end
92
+ end
93
+
94
+ # Prints array elements one by one vertically
95
+ def print_array(arr)
96
+ puts "Znaleziono: #{arr.size} tłumaczeń"
97
+ arr.each { |el| puts "- #{el}" }
98
+ end
99
+
100
+ def run
101
+ begin
102
+ opts = parse_parameters
103
+ rescue Slop::MissingArgumentError => e
104
+ incomplete_option = /(.*?) expects an argument/.match(e.to_s)[1]
105
+ description = expected_argument_description(incomplete_option)
106
+ abort("Brakujący argument. Spodziewano: #{description}")
107
+ end
108
+
109
+ if opts.help?
110
+ abort(opts.to_s)
111
+ elsif opts.version?
112
+ abort(VERSION)
113
+ elsif opts.time?
114
+ if (opts[:time].to_i) == 0
115
+ abort("Nieprawidłowa wartość czasu.")
116
+ else
117
+ print_all_dictionaries_translations(get_translations(opts, ARGV[0]))
118
+ end
119
+ else
120
+ if !parameters_valid?
121
+ abort(MSG)
122
+ else
123
+ if opts.clean? && !opts.dict?
124
+ print_translations(clean_translation(get_translations(opts, ARGV[0])))
125
+ else
126
+ if opts.dict?
127
+ print_translations(get_translations(opts, ARGV[0]))
128
+ else
129
+ print_all_dictionaries_translations(get_translations(opts, ARGV[0]))
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
137
+ end