learn-japanese 0.4.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: adb7cea3414af1cbe9ef81818791c40ec732a63a9edb891872cad1fc4517dd59
4
- data.tar.gz: bd1478f589978af24a594c822eb6cbac1aa255169e51e4e38ff002ce87d9a7fd
3
+ metadata.gz: 5d63b5f7f7aafa4c249290ead834bad949693cb156bb25f537fba3c0665211ab
4
+ data.tar.gz: 758f37922314566ac2e95a944428bbd6180de32df90549fad521037548c72cdf
5
5
  SHA512:
6
- metadata.gz: 503a7cd0dad0f19a95dad87f5c01375c394bbde5c4c1e13baad05a9f2932021cd52829f1497c7e3861706781e068008732dd537e10c8c484e1d81efb2d6b68be
7
- data.tar.gz: b1773cf907e47823abec344e298bde05a0a8ed5251c7d22934382bbb1c6726780c48f2aaa005ab77ef4521329443282f4f501117ec4a54c9aa961f190a63286d
6
+ metadata.gz: 9cd09b6001f729cbf395e3bf10eadc7e3a8a69a80d3201c1ef41290d3df67b120071cff1435566f857cf2a5678a5df6a59fb53e1e14fb313582cb52f90d0b738
7
+ data.tar.gz: 6ad71c8b31c20cb5a7196968ef58bf6f32b3f7e719bf7ac3d33d0cb8e2e8f31126166ad80c16ddff7224c6b8fe4a183c2d99d7469b95ebaffb0f7466f9f6eb7d
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.5
data/README.md CHANGED
@@ -1,24 +1,32 @@
1
1
 
2
2
  [![Gem Version](https://badge.fury.io/rb/learn-japanese.svg)](https://badge.fury.io/rb/learn-japanese)
3
3
 
4
- # Aprender japonés
4
+ # Learn Japanese
5
5
 
6
- `learn-japanese` es un programa Ruby de licencia libre para ayudar a aprender el japonés.
7
- De momento, sólo se está empezando a implementar la funcionalidad para aprender el Silabario Hiragana, pero poco a poco irá creciendo a medida que yo mismo aprenda más japonés.
6
+ `learn-japanese` helps us to learn japanese.
8
7
 
9
- Para instalar el programa:
10
- 1. Debes tener Ruby instalado en tu equipo.
11
- 2. Abrir un terminal y ejecutar `sudo gem install learn-japanese`, para instalar la herramienta.
8
+ > WARNING: just only Hiragana (groups 1-4) for now.
12
9
 
13
- ## Modo de Uso
10
+ Every few week will be grow with more functions... at the same time I'm learning too... I hope.
14
11
 
15
- Abrir un terminal
16
- * Ejecutar `short-answer-game`, para el juego de preguntas donde debemos escribir la respuesta.
17
- * Ejecutar `choose-answer-game`, para el juego de preguntas donde debemos elegir la respuesta correcta.
12
+ ## Installation
18
13
 
19
- > NOTA: Para aumentar la dificultad haremos `short-answer-game NUMBER`, donde NUMBER será un valor entre 1-4 por el momento.
14
+ 1. Install Ruby on your system.
15
+ 2. Open a terminal and run `sudo gem install learn-japanese`, to install the Ruby gem.
20
16
 
21
- # Silabario japonés
17
+ ## Usage
18
+
19
+ * Open a terminal and run `learn-japanese`.
20
+
21
+ ## Functions or mini-games
22
+
23
+ | Function name | Description |
24
+ | ------------- | ---------------------------------------- |
25
+ | short-answer | Write the sound associated to the symbol |
26
+ | choose-answer | Choose the symbol associated to the sound |
27
+ | sound | Write the sounds and get the word |
28
+
29
+ # ANEXO
22
30
 
23
31
  ## Hiragana
24
32
 
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
+ require 'learn-japanese/cli'
5
+
6
+ CLI.start(ARGV)
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
+ require 'learn-japanese/game/sound-game'
5
+
6
+ SoundGame.run
@@ -5,14 +5,15 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
5
5
  name = "learn-japanese"
6
6
  require "#{name}/version"
7
7
 
8
- Gem::Specification.new name, JaponesTool::VERSION do |s|
9
- s.summary = "Learn Japanese (UNDER DEVELOPMENT!!!)"
8
+ Gem::Specification.new name, LearnJapanese::VERSION do |s|
9
+ s.summary = "Learn Japanese (UNDER DEVELOPMENT)"
10
10
  s.email = "dvarrui@protonmail.com"
11
- s.homepage = JaponesTool::HOMEPAGE
11
+ s.homepage = LearnJapanese::HOMEPAGE
12
12
  s.authors = ["David Vargas Ruiz"]
13
13
  s.files = `git ls-files`.split("\n")
14
14
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
15
15
  s.license = "GPL-3"
16
16
 
17
17
  s.add_runtime_dependency "colorize"
18
+ s.add_runtime_dependency "thor"
18
19
  end
@@ -0,0 +1,30 @@
1
+ require 'thor'
2
+ require_relative '../learn-japanese'
3
+
4
+ class CLI < Thor
5
+ map ['h', '-h', '--help'] => 'help'
6
+
7
+ map ['v', '-v', '--version'] => 'version'
8
+ desc 'version', 'Show the program version'
9
+ def version
10
+ LearnJapanese.show_version
11
+ end
12
+
13
+ map ['ca', '-ca', '--choose-answer', 'choose-answer'] => 'choose_answer'
14
+ desc 'choose-answer [LEVEL]', 'LEVEL = 1-4'
15
+ def choose_answer(level)
16
+ LearnJapanese.choose_answer(level.to_i)
17
+ end
18
+
19
+ map ['sa', '-sa', '--short-answer', 'short-answer'] => 'short_answer'
20
+ desc 'short-answer [LEVEL]', 'LEVEL = 1-4'
21
+ def short_answer(level)
22
+ LearnJapanese.short_answer(level.to_i)
23
+ end
24
+
25
+ map ['so', '-so', '--sound', 'sound'] => 'sound'
26
+ desc 'sound', 'Write sounds and get the Hiragana'
27
+ def sound
28
+ LearnJapanese.sound
29
+ end
30
+ end
@@ -1,19 +1,46 @@
1
1
  ---
2
- - sounds: e
3
- hiragana: え
4
- spanish: pintura
5
2
  - sounds: ái
6
3
  hiragana: あい
7
4
  spanish: amor
5
+ - sounds: áka
6
+ hiragana: あか
7
+ spanish: rojo)
8
8
  - sounds: áo
9
9
  hiragana: あお
10
10
  spanish: azul
11
+ - sounds: e
12
+ hiragana: え
13
+ spanish: pintura
14
+ - sounds: éki
15
+ hiragana: えき
16
+ spanish: estación de tren
11
17
  - sounds: ié
12
18
  hiragana: いえ
13
19
  spanish: casa
14
20
  - sounds: íi
15
21
  hiragana: いい
16
22
  spanish: bien
23
+ - sounds: i-e
24
+ hiragana: いいえ
25
+ spanish: 'no'
17
26
  - sounds: ué
18
27
  hiragana: うえ
19
28
  spanish: arriba
29
+ - sounds: ka
30
+ hiragana: か
31
+ spanish: mosquito
32
+ - sounds: kaó
33
+ hiragana: かお
34
+ spanish: cara
35
+ - sounds: ki
36
+ hiragana: き
37
+ spanish: árbol
38
+ - sounds: kíkai
39
+ hiragana: きかい
40
+ spanish: máquina, oportunidad
41
+ - sounds: áisatsu
42
+ hiragana: あいさつ
43
+ spanish: salud
44
+ - sounds: áisatsu wo suru
45
+ hiragana: あいさつをする
46
+ spanish: saludar
@@ -0,0 +1,42 @@
1
+
2
+ require_relative '../hiragana'
3
+ require_relative '../dictionary'
4
+ require_relative '../debug'
5
+ require 'colorize'
6
+
7
+ module SoundGame
8
+
9
+ def self.to_hiragana(sounds)
10
+ hiraganas = Hiragana.all
11
+
12
+ hiragana_array = sounds.map { hiraganas[_1.to_sym] || '*' }
13
+ hiragana = hiragana_array.join('')
14
+
15
+ none = {'hiragana': hiragana, 'spanish': '?', 'sounds': '?'}
16
+ words = Dictionary.new.words
17
+ word = (words.select {_1["hiragana"] == hiragana})[0] || none
18
+
19
+ word
20
+ end
21
+
22
+ def self.run
23
+ Debug.puts_line
24
+ puts "SOUNDS TO HIRAGANA".light_cyan
25
+ puts "Example: a i => あい (amor - ái)".blue
26
+ Debug.puts_line
27
+
28
+ sounds = "init"
29
+ until sounds.empty?
30
+ print "\nWrite sounds ? ".light_yellow
31
+ sounds = STDIN.gets.chomp.split
32
+ word = self.to_hiragana(sounds)
33
+ print "Hiragana => ".white
34
+ puts word["hiragana"]
35
+ print "Spanish => ".white
36
+ puts word["spanish"]
37
+ print "Pronounce => ".white
38
+ puts word["sounds"]
39
+ end
40
+ end
41
+
42
+ end
@@ -1,5 +1,6 @@
1
1
 
2
- module JaponesTool
3
- VERSION = '0.4.0'
2
+ module LearnJapanese
3
+ VERSION = '0.6.0'
4
+ NAME = 'learn-japanese'
4
5
  HOMEPAGE = 'https://github.com/dvarrui/learn-japanese'
5
6
  end
@@ -0,0 +1,33 @@
1
+
2
+ require_relative 'learn-japanese/version'
3
+ require_relative 'learn-japanese/game/choose-answer-game'
4
+ require_relative 'learn-japanese/game/short-answer-game'
5
+ require_relative 'learn-japanese/game/sound-game'
6
+
7
+ module LearnJapanese
8
+
9
+ def self.show_version
10
+ puts "#{LearnJapanese::NAME} (version #{LearnJapanese::VERSION})"
11
+ end
12
+
13
+ def self.show_help
14
+ puts "Usage: learn-japanese --help"
15
+ exit 0
16
+ end
17
+
18
+ def self.choose_answer(level)
19
+ show_help unless level > 0
20
+ ChooseAnswerGame.show_help(level)
21
+ ChooseAnswerGame.new(level).run
22
+ end
23
+
24
+ def self.short_answer(level)
25
+ show_help unless level > 0
26
+ ShortAnswerGame.show_help(level)
27
+ ShortAnswerGame.new(level).run
28
+ end
29
+
30
+ def self.sound
31
+ SoundGame.run
32
+ end
33
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: learn-japanese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Vargas Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-18 00:00:00.000000000 Z
11
+ date: 2022-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -24,31 +24,51 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: thor
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description:
28
42
  email: dvarrui@protonmail.com
29
43
  executables:
30
44
  - choose-answer-game
45
+ - learn-japanese
31
46
  - short-answer-game
32
- - sounds-to-hiragana.rb
47
+ - sounds-to-hiragana
33
48
  extensions: []
34
49
  extra_rdoc_files: []
35
50
  files:
36
51
  - ".gitignore"
52
+ - ".ruby-version"
37
53
  - Gemfile
38
54
  - LICENSE
39
55
  - README.md
40
56
  - Rakefile
41
57
  - bin/choose-answer-game
58
+ - bin/learn-japanese
42
59
  - bin/short-answer-game
43
- - bin/sounds-to-hiragana.rb
60
+ - bin/sounds-to-hiragana
44
61
  - examples/01-emoji.rb
45
62
  - examples/02-emoji.rb
46
63
  - learn-japanese.gemspec
64
+ - lib/learn-japanese.rb
65
+ - lib/learn-japanese/cli.rb
47
66
  - lib/learn-japanese/data/words.yaml
48
67
  - lib/learn-japanese/debug.rb
49
68
  - lib/learn-japanese/dictionary.rb
50
69
  - lib/learn-japanese/game/choose-answer-game.rb
51
70
  - lib/learn-japanese/game/short-answer-game.rb
71
+ - lib/learn-japanese/game/sound-game.rb
52
72
  - lib/learn-japanese/hiragana.rb
53
73
  - lib/learn-japanese/version.rb
54
74
  homepage: https://github.com/dvarrui/learn-japanese
@@ -70,8 +90,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
70
90
  - !ruby/object:Gem::Version
71
91
  version: '0'
72
92
  requirements: []
73
- rubygems_version: 3.3.3
93
+ rubygems_version: 3.1.6
74
94
  signing_key:
75
95
  specification_version: 4
76
- summary: Learn Japanese (UNDER DEVELOPMENT!!!)
96
+ summary: Learn Japanese (UNDER DEVELOPMENT)
77
97
  test_files: []
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
- require 'learn-japanese/hiragana'
5
- require 'learn-japanese/dictionary'
6
- require 'colorize'
7
-
8
- puts "[ Sounds to Hiragana ] Example: a i => あい (amor - ái)".white
9
-
10
- def sound_to_hiragana
11
- print " Write sounds ? ".light_yellow
12
- sounds = gets.chomp.split
13
- hiraganas = Hiragana.all
14
-
15
- hiragana_array = sounds.map { hiraganas[_1.to_sym] || '*' }
16
- hiragana = hiragana_array.join('')
17
-
18
- words = Dictionary.new.words
19
- word = (words.select { _1["hiragana"] == hiragana})[0] || {'spanish': '?', 'sounds': '?'}
20
-
21
- puts " Hiragana => #{hiragana}".cyan
22
- puts " Spanish => #{word["spanish"]}".cyan
23
- puts " Pronounce => #{word["sounds"]}".cyan
24
-
25
- return false if sounds.size.zero?
26
- true
27
- end
28
-
29
- while sound_to_hiragana
30
- end