dictionaries 0.3.81
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +354 -0
- data/bin/dictionaries +7 -0
- data/bin/unique_words_in_this_file +7 -0
- data/dictionaries.gemspec +84 -0
- data/doc/README.gen +292 -0
- data/doc/todo/todo.md +8 -0
- data/lib/dictionaries/ask_english_word.rb +141 -0
- data/lib/dictionaries/ask_italian_word.rb +84 -0
- data/lib/dictionaries/base/base.rb +78 -0
- data/lib/dictionaries/class/class.rb +903 -0
- data/lib/dictionaries/commandline/parse_commandline.rb +85 -0
- data/lib/dictionaries/constants/constants.rb +134 -0
- data/lib/dictionaries/gui/tk/README.md +2 -0
- data/lib/dictionaries/gui/tk/dictionary.rb +85 -0
- data/lib/dictionaries/gui/universal_widgets/dictionary/dictionary.rb +516 -0
- data/lib/dictionaries/helper_module/helper_module.rb +60 -0
- data/lib/dictionaries/project/project.rb +36 -0
- data/lib/dictionaries/require_project/require_project.rb +14 -0
- data/lib/dictionaries/sinatra/app.rb +123 -0
- data/lib/dictionaries/sinatra/english_to_german.rb +84 -0
- data/lib/dictionaries/spell_checker/README.md +5 -0
- data/lib/dictionaries/spell_checker/spell_checker.rb +133 -0
- data/lib/dictionaries/statistics/statistics.rb +59 -0
- data/lib/dictionaries/toplevel_methods/e.rb +16 -0
- data/lib/dictionaries/toplevel_methods/english_to_german.rb +31 -0
- data/lib/dictionaries/toplevel_methods/has_key.rb +32 -0
- data/lib/dictionaries/toplevel_methods/is_on_roebe.rb +16 -0
- data/lib/dictionaries/toplevel_methods/main_file.rb +88 -0
- data/lib/dictionaries/toplevel_methods/misc.rb +231 -0
- data/lib/dictionaries/toplevel_methods/module_methods.rb +9 -0
- data/lib/dictionaries/toplevel_methods/show_help.rb +31 -0
- data/lib/dictionaries/version/version.rb +19 -0
- data/lib/dictionaries/yaml/chinese.yml +25 -0
- data/lib/dictionaries/yaml/danish.yml +4 -0
- data/lib/dictionaries/yaml/deutsche_fremdw/303/266rter.yml +1 -0
- data/lib/dictionaries/yaml/dutch.yml +3 -0
- data/lib/dictionaries/yaml/english.yml +3263 -0
- data/lib/dictionaries/yaml/farsi.yml +8 -0
- data/lib/dictionaries/yaml/finnish.yml +2 -0
- data/lib/dictionaries/yaml/italian.yml +532 -0
- data/lib/dictionaries/yaml/japanese.yml +15 -0
- data/lib/dictionaries/yaml/norwegian.yml +26 -0
- data/lib/dictionaries/yaml/polish.yml +2 -0
- data/lib/dictionaries/yaml/portugese.yml +41 -0
- data/lib/dictionaries/yaml/russian.yml +10 -0
- data/lib/dictionaries/yaml/spanish.yml +147 -0
- data/lib/dictionaries/yaml/swedish.yml +104 -0
- data/lib/dictionaries.rb +1 -0
- data/test/translation_example.html +2758 -0
- metadata +211 -0
@@ -0,0 +1,85 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'dictionaries/commandline/parse_commandline.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module Dictionaries
|
8
|
+
|
9
|
+
require 'dictionaries/toplevel_methods/show_help.rb'
|
10
|
+
require 'dictionaries/class/class.rb'
|
11
|
+
require 'dictionaries/statistics/statistics.rb'
|
12
|
+
|
13
|
+
# ========================================================================= #
|
14
|
+
# === Dictionaries.start_gtk_component
|
15
|
+
#
|
16
|
+
# This module-method will start the GTK component.
|
17
|
+
# ========================================================================= #
|
18
|
+
def self.start_gtk_component
|
19
|
+
require 'dictionaries/gui/gtk3/dictionary/dictionary.rb'
|
20
|
+
Dictionaries::GUI::Gtk::Dictionary.run
|
21
|
+
end
|
22
|
+
|
23
|
+
# ========================================================================= #
|
24
|
+
# === Dictionaries.parse_commandline
|
25
|
+
# ========================================================================= #
|
26
|
+
def self.parse_commandline(
|
27
|
+
i = ARGV
|
28
|
+
)
|
29
|
+
if i.is_a? Array
|
30
|
+
i.each {|entry| parse_commandline(entry) }
|
31
|
+
else
|
32
|
+
case i # case tag
|
33
|
+
# ===================================================================== #
|
34
|
+
# === dictionaries --stats
|
35
|
+
#
|
36
|
+
# This entry point allows the user to show some statistics about
|
37
|
+
# this project.
|
38
|
+
# ===================================================================== #
|
39
|
+
when /^-?-?stats\??$/i,
|
40
|
+
/^-?-?statistics\??$/i
|
41
|
+
Dictionaries::Statistics.report
|
42
|
+
# ===================================================================== #
|
43
|
+
# === dictionaries --read=www.nytimes.com.html
|
44
|
+
# ===================================================================== #
|
45
|
+
when /^-?-?read=(.+)$/i
|
46
|
+
_ = $1.to_s.dup
|
47
|
+
require 'dictionaries/toplevel_methods/misc.rb'
|
48
|
+
if File.exist? _
|
49
|
+
e 'Finding unique words ... this may take a while. Please be'
|
50
|
+
e 'patient.'
|
51
|
+
unique_words = ::Dictionaries.return_unique_words_from_this_file(_, :default, :remove_HTML_tags).sort
|
52
|
+
pp unique_words
|
53
|
+
e 'n entries: '+unique_words.size.to_s
|
54
|
+
else
|
55
|
+
e 'No file exists at '+sfile(_)+'.'
|
56
|
+
end
|
57
|
+
# ===================================================================== #
|
58
|
+
# === dictionaries --gui
|
59
|
+
# ===================================================================== #
|
60
|
+
when /^-?-?gui$/i,
|
61
|
+
/^-?-?gtk$/i,
|
62
|
+
/^-?-?start(-|_)?gtk$/i
|
63
|
+
start_gtk_component
|
64
|
+
# ===================================================================== #
|
65
|
+
# === dictionaries --sinatra
|
66
|
+
# ===================================================================== #
|
67
|
+
when /^-?-?sinatra$/i
|
68
|
+
require 'dictionaries/sinatra/app.rb'
|
69
|
+
Dictionaries.start_sinatra_interface
|
70
|
+
# ===================================================================== #
|
71
|
+
# === dictionaries --n-words?
|
72
|
+
# ===================================================================== #
|
73
|
+
when /^-?-?n(_|-)?words\??$/i
|
74
|
+
e "#{Colours.sfancy(Dictionaries.n_entries?)} english-to-german "\
|
75
|
+
"translations are presently registered in this project."
|
76
|
+
# ===================================================================== #
|
77
|
+
# === dictionaries --help
|
78
|
+
# ===================================================================== #
|
79
|
+
when /help/
|
80
|
+
show_help
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
end
|
@@ -0,0 +1,134 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'dictionaries/constants/constants.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
|
8
|
+
module Dictionaries
|
9
|
+
|
10
|
+
require 'dictionaries/project/project.rb'
|
11
|
+
require 'dictionaries/version/version.rb'
|
12
|
+
|
13
|
+
# ========================================================================= #
|
14
|
+
# === Dictionaries::N
|
15
|
+
# ========================================================================= #
|
16
|
+
N = "\n"
|
17
|
+
|
18
|
+
# ========================================================================= #
|
19
|
+
# === Dictionaries::URL_FOR_DICT_LEO
|
20
|
+
# ========================================================================= #
|
21
|
+
URL_FOR_DICT_LEO = 'http://dict.leo.org/'
|
22
|
+
|
23
|
+
# ========================================================================= #
|
24
|
+
# === URL_FOR_ITALIAN_DICTIONARY
|
25
|
+
# ========================================================================= #
|
26
|
+
URL_FOR_ITALIAN_DICTIONARY = 'http://www.wordreference.com/iten/'
|
27
|
+
|
28
|
+
# ========================================================================= #
|
29
|
+
# === LPAD
|
30
|
+
# ========================================================================= #
|
31
|
+
LPAD = ' '
|
32
|
+
|
33
|
+
# ========================================================================= #
|
34
|
+
# === RUBY_SRC
|
35
|
+
# ========================================================================= #
|
36
|
+
if ENV['RUBY_SRC']
|
37
|
+
RUBY_SRC = ENV['RUBY_SRC'].to_s.dup+'/'
|
38
|
+
else # else we just hardcode it anyway.
|
39
|
+
RUBY_SRC = '/home/x/programming/ruby/src/'
|
40
|
+
end
|
41
|
+
|
42
|
+
# ========================================================================= #
|
43
|
+
# === MY_DICTIONARIES
|
44
|
+
#
|
45
|
+
# This constant is only valid for my own system.
|
46
|
+
# ========================================================================= #
|
47
|
+
MY_DICTIONARIES = "#{RUBY_SRC}dictionaries/lib/dictionaries/yaml/"
|
48
|
+
|
49
|
+
# ========================================================================= #
|
50
|
+
# === SCIENCE_DIR
|
51
|
+
# ========================================================================= #
|
52
|
+
SCIENCE_DIR = ENV['SCIENCE'].to_s+'/'
|
53
|
+
|
54
|
+
# ========================================================================= #
|
55
|
+
# === DEPOT_INFORMATION_DIR
|
56
|
+
# ========================================================================= #
|
57
|
+
DEPOT_INFORMATION_DIR = '/Depot/Information/'
|
58
|
+
|
59
|
+
# ========================================================================= #
|
60
|
+
# === DICTIONARIES_DIR
|
61
|
+
#
|
62
|
+
# This constant will point at a path such as this one here:
|
63
|
+
#
|
64
|
+
# /Programs/Ruby/2.6.3/lib/ruby/site_ruby/2.6.0/dictionaries/yaml/
|
65
|
+
#
|
66
|
+
# ========================================================================= #
|
67
|
+
DICTIONARIES_DIR = Dictionaries.dictionary_directory?
|
68
|
+
|
69
|
+
# ========================================================================= #
|
70
|
+
# === ENGLISH_WORDS
|
71
|
+
#
|
72
|
+
# This constant is no longer that important because we can now
|
73
|
+
# automatically infer the name of the .yml file.
|
74
|
+
# ========================================================================= #
|
75
|
+
ENGLISH_WORDS = DICTIONARIES_DIR+'english.yml'
|
76
|
+
ENGLISH_YAML_FILE = ENGLISH_WORDS # === ENGLISH_YAML_FILE
|
77
|
+
FILE_ENGLISH_WORDS = ENGLISH_WORDS # === FILE_ENGLISH_WORDS
|
78
|
+
FILE_ENGLISH_DICTIONARY = ENGLISH_YAML_FILE
|
79
|
+
|
80
|
+
# ========================================================================= #
|
81
|
+
# === Dictionaries.file_english
|
82
|
+
# ========================================================================= #
|
83
|
+
def self.file_english
|
84
|
+
FILE_ENGLISH_DICTIONARY
|
85
|
+
end; self.instance_eval { alias file_english? file_english } # === Dictionaries.file_english?
|
86
|
+
|
87
|
+
# ========================================================================= #
|
88
|
+
# === ITALIAN_WORDS
|
89
|
+
#
|
90
|
+
# This constant is no longer that important because we can now
|
91
|
+
# automatically infer the name of the .yml file.
|
92
|
+
# ========================================================================= #
|
93
|
+
ITALIAN_WORDS = DICTIONARIES_DIR+'italian.yml'
|
94
|
+
ITALIAN_YAML_FILE = ITALIAN_WORDS
|
95
|
+
FILE_ITALIAN_DICTIONARY = ITALIAN_YAML_FILE
|
96
|
+
|
97
|
+
# ========================================================================= #
|
98
|
+
# === STORE_LINE_NUMBER_HERE
|
99
|
+
# ========================================================================= #
|
100
|
+
STORE_LINE_NUMBER_HERE = DEPOT_INFORMATION_DIR+'line_number_of_the_last_word'
|
101
|
+
|
102
|
+
# ========================================================================= #
|
103
|
+
# === STORE_LAST_ENGLISH_QUESTION_ASKED_HERE
|
104
|
+
# ========================================================================= #
|
105
|
+
STORE_LAST_ENGLISH_QUESTION_ASKED_HERE =
|
106
|
+
DEPOT_INFORMATION_DIR+'last_english_question_asked' # cat $MY_TEMP/last_english_question_asked
|
107
|
+
|
108
|
+
# ========================================================================= #
|
109
|
+
# === STORE_LAST_ITALIAN_QUESTION_ASKED_HERE
|
110
|
+
# ========================================================================= #
|
111
|
+
STORE_LAST_ITALIAN_QUESTION_ASKED_HERE =
|
112
|
+
DEPOT_INFORMATION_DIR+'last_italian_question_asked' # cat $MY_TEMP/last_italian_question_asked
|
113
|
+
|
114
|
+
# ========================================================================= #
|
115
|
+
# === SHALL_WE_DOWNCASE
|
116
|
+
# ========================================================================= #
|
117
|
+
SHALL_WE_DOWNCASE = true
|
118
|
+
|
119
|
+
# ========================================================================= #
|
120
|
+
# === USE_THIS_ENCODING
|
121
|
+
#
|
122
|
+
# This is the main encoding to use.
|
123
|
+
# ========================================================================= #
|
124
|
+
USE_THIS_ENCODING = 'ISO-8859-1'
|
125
|
+
MAIN_ENCODING = USE_THIS_ENCODING
|
126
|
+
|
127
|
+
# ========================================================================= #
|
128
|
+
# === DEFAULT_DELAY
|
129
|
+
#
|
130
|
+
# Specify how long to wait before revealing the translated word.
|
131
|
+
# ========================================================================= #
|
132
|
+
DEFAULT_DELAY = 1.6
|
133
|
+
|
134
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# === Dictionaries::GUI::Tk::Dictionary
|
6
|
+
#
|
7
|
+
# This is a small TK-wrapper.
|
8
|
+
# =========================================================================== #
|
9
|
+
# require 'dictionaries/gui/tk/dictionary.rb'
|
10
|
+
# =========================================================================== #
|
11
|
+
begin
|
12
|
+
require 'tk'
|
13
|
+
rescue LoadError; end
|
14
|
+
require 'dictionaries/class/class.rb'
|
15
|
+
require 'dictionaries/toplevel_methods/e.rb'
|
16
|
+
|
17
|
+
module Dictionaries
|
18
|
+
|
19
|
+
module GUI
|
20
|
+
|
21
|
+
module Tk
|
22
|
+
|
23
|
+
class Dictionary < ::TkFrame # < Base === Dictionaries::GUI::Tk::Dictionary.new
|
24
|
+
|
25
|
+
include Colours::E
|
26
|
+
|
27
|
+
# ========================================================================= #
|
28
|
+
# === initialize
|
29
|
+
# ========================================================================= #
|
30
|
+
def initialize(
|
31
|
+
i = nil,
|
32
|
+
run_already = true
|
33
|
+
)
|
34
|
+
super()
|
35
|
+
reset
|
36
|
+
set_input(i)
|
37
|
+
title "TK wrapper for the Dictionaries project"
|
38
|
+
run if run_already
|
39
|
+
end
|
40
|
+
|
41
|
+
# ========================================================================= #
|
42
|
+
# === reset (reset tag)
|
43
|
+
# ========================================================================= #
|
44
|
+
def reset
|
45
|
+
end
|
46
|
+
|
47
|
+
# ========================================================================= #
|
48
|
+
# === set_input
|
49
|
+
# ========================================================================= #
|
50
|
+
def set_input(i = '')
|
51
|
+
i = i.first if i.is_a? Array
|
52
|
+
i = i.to_s.dup
|
53
|
+
@input = i
|
54
|
+
end
|
55
|
+
|
56
|
+
# ========================================================================= #
|
57
|
+
# === input?
|
58
|
+
# ========================================================================= #
|
59
|
+
def input?
|
60
|
+
@input
|
61
|
+
end
|
62
|
+
|
63
|
+
# ========================================================================= #
|
64
|
+
# === run (run tag)
|
65
|
+
# ========================================================================= #
|
66
|
+
def run
|
67
|
+
TkLabel.new(root) do
|
68
|
+
text 'Hello, World!'
|
69
|
+
pack { padx 15 ; pady 15; side 'left' }
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# ========================================================================= #
|
74
|
+
# === Dictionaries::GUI:Tk::Dictionary[]
|
75
|
+
# ========================================================================= #
|
76
|
+
def self.[](i = '')
|
77
|
+
self.new(i)
|
78
|
+
end
|
79
|
+
|
80
|
+
end; end; end; end
|
81
|
+
|
82
|
+
if __FILE__ == $PROGRAM_NAME
|
83
|
+
Dictionaries::GUI:Tk::Dictionary.new(ARGV)
|
84
|
+
::Tk.mainloop
|
85
|
+
end # dictionary.rb
|