kita 0.6.0 → 0.9.4

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: ddc231f376bc9f90a03aea5a93c459b69ada02a0633400419e20a7ce3887bcde
4
- data.tar.gz: df3c096cdbbc3570d834d6393d623c8a5548872344114ec55ae7c56c21e730a5
3
+ metadata.gz: a6188bf9638b9139f6e27f3883dd2e432ca72e0cfef38050e35f4b356a1e40c3
4
+ data.tar.gz: e89bb5832bbcc85beec855bb43705311bf10c23dc21d058db9f97fb381c80fd5
5
5
  SHA512:
6
- metadata.gz: 4abaf6436175474903db12f872fda3474df6446419c39f68b198f6059150b179b292cbbc96f37fe0eca3c2607cd1210f97ffe5a0460776b5178f9d016d66d16a
7
- data.tar.gz: d5973d6b46e3f3fbaf0c1f22e548eafc56a0e8a6941d3eeaa55df4d272afaee9792c67e1d869c2262861531654613af102b451ba3caaae73c679df2817b076db
6
+ metadata.gz: 3f3b6c6e91d38adab77e91bc25bd39eaf5ad811a53f9689b429b2126fd4078fb4ed11a0e45c3ec6f6a0e361081119d4d76777d84c2c967769d2b7933e0f49eca
7
+ data.tar.gz: c881f8c27f4cd27967ad1fddb5bc52330b58c95db8be796cd80be40eddfe9bf6de9076cffa1cd6551b8f2f2a54ceda0f29e538f75d67bb22d5caf89dc2479db0
@@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
9
9
 
10
10
  ### Changed
11
11
 
12
+ ## 2020-06-05
13
+ ### Changed
14
+ - Settings are now saved
15
+
12
16
  ## 2020-06-02
13
17
  ### Added
14
18
  - Kita randomly selects between two different recordings for each kana
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- kita (0.5.8)
4
+ kita (0.9.3)
5
5
  config (~> 2.2)
6
+ fast_gettext (~> 2.0)
6
7
  gir_ffi (~> 0.15.2)
7
8
  gstreamer (~> 3.4)
8
9
  gtk3 (~> 3.4)
@@ -64,7 +65,8 @@ GEM
64
65
  dry-equalizer (~> 0.2)
65
66
  dry-initializer (~> 3.0)
66
67
  dry-schema (~> 1.5)
67
- ffi (1.12.2)
68
+ fast_gettext (2.0.3)
69
+ ffi (1.13.0)
68
70
  ffi-bit_masks (0.1.1)
69
71
  ffi (~> 1.0)
70
72
  gdk3 (3.4.3)
data/README.md CHANGED
@@ -1 +1,6 @@
1
- # Kita
1
+ # <img width="60" height="60" alt="Kita Logo" src="https://raw.githubusercontent.com/danbishop/kita/master/ui/kita-bordered.svg?sanitize=true"> Kita
2
+
3
+ A simple Ruby/GTK app to help Japanese language learners with Hiragana and Katakana.
4
+ It introduces users to the sounds of the kana and teaches basic recognition of both writing systems.
5
+
6
+ [![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/kita)
@@ -7,15 +7,15 @@ Gem::Specification.new do |spec|
7
7
  spec.version = Kita::VERSION
8
8
  spec.authors = ['Dan Bishop']
9
9
  spec.email = ['d@nbishop.uk']
10
- spec.license = 'GPLv3+'
10
+ spec.license = 'GPL-3.0+'
11
11
 
12
+ spec.homepage = 'https://www.danbishop.org'
12
13
  spec.summary = 'A Japanese kana learning tool.'
13
14
  spec.description = <<-DESC
14
15
  A simple GTK3 app to help Japanese language learners with Hiragana and Katakana. It introduces
15
16
  users to the sounds of the kana and teaches basic recognition of both writing systems.
16
17
  DESC
17
18
 
18
- spec.homepage = 'https://www.danbishop.org'
19
19
  spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
20
20
 
21
21
  spec.metadata['homepage_uri'] = spec.homepage
@@ -32,6 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.require_paths = ['lib']
33
33
 
34
34
  spec.add_runtime_dependency 'config', '~> 2.2'
35
+ spec.add_runtime_dependency 'fast_gettext', '~> 2.0'
35
36
  spec.add_runtime_dependency 'gir_ffi', '~> 0.15.2'
36
37
  spec.add_runtime_dependency 'gstreamer', '~> 3.4'
37
38
  spec.add_runtime_dependency 'gtk3', '~> 3.4'
@@ -1,33 +1,36 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'gtk3'
4
+ require 'fast_gettext'
4
5
  require_relative 'kita/audio'
5
6
  require_relative 'kita/config'
7
+ # require_relative 'kita/locale'
8
+ require_relative 'kita/menu'
6
9
  require_relative 'kita/question'
7
10
  require_relative 'kita/version'
8
11
 
12
+ # Main Kita Module
9
13
  module Kita
14
+ # LocaleSettings.new
10
15
  # Main application class
11
16
  class Application < Gtk::Application
17
+ include Menu
18
+
12
19
  def initialize
13
20
  super 'uk.danbishop.kita', :handles_open
14
- # Construct a Gtk::Builder instance and load our UI description
21
+ # Construct a Gtk::Builder instance
15
22
  @builder = Gtk::Builder.new(file: "#{File.expand_path(File.dirname(__dir__))}/ui/builder.ui")
23
+ # Set menu toggles to match settings
24
+ menu_load
25
+ # Now connect signals
16
26
  @builder.connect_signals { |handler| method(handler) }
17
27
  # Initiate Question class
18
28
  @question = Question.new
19
29
  @button_signals = {}
20
30
  @sound = Audio.new
21
31
  new_question
22
- menu_setup
23
- build_main_window
24
- end
25
-
26
- def menu_setup
27
- setup_hiragana_switch
28
- setup_katakana_switch
29
- setup_sound_switch
30
32
  setup_about_box
33
+ build_main_window
31
34
  end
32
35
 
33
36
  def setup_about_box
@@ -44,36 +47,21 @@ module Kita
44
47
  @sound.repeat
45
48
  end
46
49
 
47
- def setup_hiragana_switch
48
- @builder['hiragana_switch'].signal_connect('notify::active') do
49
- toggle_hiragana
50
- end
51
- end
52
-
53
- def setup_katakana_switch
54
- @builder['katakana_switch'].signal_connect('notify::active') do
55
- toggle_katakana
56
- end
57
- end
58
-
59
- def setup_sound_switch
60
- @builder['sound_switch'].signal_connect('notify::active') do
61
- toggle_sound
62
- end
63
- end
64
-
65
50
  def toggle_katakana
66
51
  Settings.katakana = !Settings.katakana
67
52
  (@builder['hiragana_switch'].set_active(true) && Settings.hiragana = true) if !Settings.katakana && !Settings.hiragana
53
+ save_settings
68
54
  end
69
55
 
70
56
  def toggle_hiragana
71
57
  Settings.hiragana = !Settings.hiragana
72
58
  (@builder['katakana_switch'].set_active(true) && Settings.katakana = true) if !Settings.katakana && !Settings.hiragana
59
+ save_settings
73
60
  end
74
61
 
75
62
  def toggle_sound
76
- Settings.speak = !Settings.speak
63
+ Settings.sound = !Settings.sound
64
+ save_settings
77
65
  end
78
66
 
79
67
  def ee
@@ -97,7 +85,7 @@ module Kita
97
85
  buttons = %w[a b c d]
98
86
  correct_button(buttons, question)
99
87
  wrong_buttons(buttons, question)
100
- @sound.play("#{question[:question].hiragana}#{[1, 2].sample}") if Settings.speak
88
+ @sound.play("#{question[:question].hiragana}#{[1, 2].sample}") if Settings.sound
101
89
  end
102
90
 
103
91
  def correct_button(buttons, question)
@@ -1,8 +1,26 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'config'
4
+ require 'fileutils'
4
5
 
5
- Config.load_and_set_settings(Config.setting_files('~/kita.yaml', 'kita'))
6
- Settings.speak = true
7
- Settings.hiragana = true
8
- Settings.katakana = false
6
+ # Set config directory and create it if it doesn't exist
7
+ CONF_DIR = "#{ENV['HOME']}/.config/kita"
8
+ CONF_FILE = "#{CONF_DIR}/config.yaml"
9
+ FileUtils.mkdir_p(CONF_DIR) unless File.exist?(CONF_DIR)
10
+
11
+ def save_settings
12
+ puts 'Saved settings'
13
+ File.open(CONF_FILE, 'w') { |file| file.write(Settings.to_hash.to_yaml) }
14
+ end
15
+
16
+ if File.exist?(CONF_FILE)
17
+ puts 'Loaded settings'
18
+ Config.load_and_set_settings(CONF_FILE)
19
+ else
20
+ puts 'No settings detected, first run? Using defaults.'
21
+ Config.load_and_set_settings(CONF_FILE)
22
+ Settings.speak = true
23
+ Settings.hiragana = true
24
+ Settings.katakana = false
25
+ save_settings
26
+ end
@@ -0,0 +1,24 @@
1
+ module Kita
2
+ class LocaleSettings
3
+ def initialize
4
+ FastGettext.add_text_domain('kita', path: File.join(RootPath, 'locale'), type: :po)
5
+ FastGettext.text_domain = 'kita'
6
+ FastGettext.available_locales = %w(de en)
7
+
8
+ puts "Select locale code:"
9
+
10
+ FastGettext.available_locales.each do |locale|
11
+ puts locale
12
+ end
13
+
14
+ change_locale_to gets.strip.downcase
15
+ end
16
+
17
+ private
18
+
19
+ def change_locale_to(locale)
20
+ locale = 'en' unless FastGettext.available_locales.include?(locale)
21
+ FastGettext.locale = locale
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Menu Related Functions
4
+ module Menu
5
+ def menu_load
6
+ puts 'Setting up menu'
7
+ @builder['hiragana_switch'].set_active(Settings.hiragana)
8
+ @builder['katakana_switch'].set_active(Settings.katakana)
9
+ @builder['sound_switch'].set_active(Settings.sound)
10
+ end
11
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kita
4
- VERSION = '0.6.0'
4
+ VERSION = '0.9.4'
5
5
  end
@@ -1,5 +1,5 @@
1
1
  name: kita
2
- version: '0.6.0'
2
+ version: '0.9.4'
3
3
  summary: Japanese learning tool
4
4
  description: |
5
5
  A simple tool to help Japanese language learners.
@@ -18,7 +18,13 @@ parts:
18
18
  ruby-version: 2.7.1
19
19
  stage-packages:
20
20
  - libgstreamer1.0-0
21
+ - gstreamer1.0-pulseaudio
21
22
  - gstreamer1.0-plugins-base
23
+ - gstreamer1.0-plugins-good
24
+ - libslang2
25
+ - libgpm2
26
+ # - freeglut3
27
+ # - libglu1-mesa
22
28
  - libgirepository-1.0-1
23
29
  - gir1.2-gstreamer-1.0
24
30
 
@@ -99,6 +99,7 @@ Author: Dan Bishop
99
99
  <property name="margin_top">5</property>
100
100
  <property name="margin_bottom">5</property>
101
101
  <property name="active">True</property>
102
+ <signal name="notify::active" handler="toggle_hiragana" swapped="no"/>
102
103
  </object>
103
104
  <packing>
104
105
  <property name="expand">False</property>
@@ -142,6 +143,7 @@ Author: Dan Bishop
142
143
  <property name="margin_left">10</property>
143
144
  <property name="margin_top">5</property>
144
145
  <property name="margin_bottom">5</property>
146
+ <signal name="notify::active" handler="toggle_katakana" swapped="no"/>
145
147
  </object>
146
148
  <packing>
147
149
  <property name="expand">False</property>
@@ -186,6 +188,7 @@ Author: Dan Bishop
186
188
  <property name="margin_top">5</property>
187
189
  <property name="margin_bottom">5</property>
188
190
  <property name="active">True</property>
191
+ <signal name="notify::active" handler="toggle_sound" swapped="no"/>
189
192
  </object>
190
193
  <packing>
191
194
  <property name="expand">False</property>
@@ -205,7 +208,7 @@ Author: Dan Bishop
205
208
  <child>
206
209
  <object class="GtkModelButton" id="menu_about">
207
210
  <property name="visible">True</property>
208
- <property name="can_focus">True</property>
211
+ <property name="can_focus">False</property>
209
212
  <property name="receives_default">True</property>
210
213
  <property name="margin_top">5</property>
211
214
  <property name="margin_bottom">5</property>
@@ -242,7 +245,8 @@ Author: Dan Bishop
242
245
  <object class="GtkButton" id="new_question">
243
246
  <property name="label" translatable="yes">New</property>
244
247
  <property name="visible">True</property>
245
- <property name="can_focus">True</property>
248
+ <property name="can_focus">False</property>
249
+ <property name="focus_on_click">False</property>
246
250
  <property name="receives_default">True</property>
247
251
  <property name="always_show_image">True</property>
248
252
  <signal name="clicked" handler="new_question" swapped="no"/>
@@ -251,7 +255,7 @@ Author: Dan Bishop
251
255
  <child>
252
256
  <object class="GtkButton" id="speak">
253
257
  <property name="visible">True</property>
254
- <property name="can_focus">True</property>
258
+ <property name="can_focus">False</property>
255
259
  <property name="receives_default">True</property>
256
260
  <signal name="clicked" handler="repeat_button_click" swapped="no"/>
257
261
  <child>
@@ -0,0 +1,141 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="50mm"
13
+ height="50mm"
14
+ viewBox="0 0 50 50"
15
+ version="1.1"
16
+ id="svg8"
17
+ inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
18
+ sodipodi:docname="kita-bordered.svg">
19
+ <defs
20
+ id="defs2">
21
+ <filter
22
+ style="color-interpolation-filters:sRGB"
23
+ id="filter987"
24
+ inkscape:label="filter0" />
25
+ <filter
26
+ style="color-interpolation-filters:sRGB"
27
+ inkscape:label="Noise Fill"
28
+ id="filter1667">
29
+ <feTurbulence
30
+ type="fractalNoise"
31
+ baseFrequency="0.02 0.04"
32
+ numOctaves="5"
33
+ seed="1"
34
+ result="turbulence"
35
+ id="feTurbulence1651" />
36
+ <feComposite
37
+ in="SourceGraphic"
38
+ in2="turbulence"
39
+ operator="in"
40
+ result="composite1"
41
+ id="feComposite1653" />
42
+ <feColorMatrix
43
+ values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 3 -1 "
44
+ result="color"
45
+ id="feColorMatrix1655" />
46
+ <feFlood
47
+ flood-opacity="1"
48
+ flood-color="rgb(21,40,57)"
49
+ result="flood"
50
+ id="feFlood1657" />
51
+ <feMerge
52
+ result="merge"
53
+ id="feMerge1663">
54
+ <feMergeNode
55
+ in="flood"
56
+ id="feMergeNode1659" />
57
+ <feMergeNode
58
+ in="color"
59
+ id="feMergeNode1661" />
60
+ </feMerge>
61
+ <feComposite
62
+ in2="SourceGraphic"
63
+ operator="in"
64
+ result="composite2"
65
+ id="feComposite1665" />
66
+ </filter>
67
+ </defs>
68
+ <sodipodi:namedview
69
+ id="base"
70
+ pagecolor="#000000"
71
+ bordercolor="#666666"
72
+ borderopacity="1.0"
73
+ inkscape:pageopacity="0"
74
+ inkscape:pageshadow="2"
75
+ inkscape:zoom="3.959798"
76
+ inkscape:cx="167.12072"
77
+ inkscape:cy="67.639258"
78
+ inkscape:document-units="mm"
79
+ inkscape:current-layer="layer1"
80
+ showgrid="false"
81
+ inkscape:window-width="3368"
82
+ inkscape:window-height="1376"
83
+ inkscape:window-x="72"
84
+ inkscape:window-y="27"
85
+ inkscape:window-maximized="1"
86
+ fit-margin-top="0"
87
+ fit-margin-left="0"
88
+ fit-margin-right="0"
89
+ fit-margin-bottom="0"
90
+ inkscape:pagecheckerboard="true" />
91
+ <metadata
92
+ id="metadata5">
93
+ <rdf:RDF>
94
+ <cc:Work
95
+ rdf:about="">
96
+ <dc:format>image/svg+xml</dc:format>
97
+ <dc:type
98
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
99
+ <dc:title />
100
+ </cc:Work>
101
+ </rdf:RDF>
102
+ </metadata>
103
+ <g
104
+ inkscape:label="Layer 1"
105
+ inkscape:groupmode="layer"
106
+ id="layer1"
107
+ transform="translate(-25.905403,-105.02035)">
108
+ <text
109
+ xml:space="preserve"
110
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
111
+ x="46.869045"
112
+ y="115.57143"
113
+ id="text817"><tspan
114
+ sodipodi:role="line"
115
+ id="tspan815"
116
+ x="46.869045"
117
+ y="125.4403"
118
+ style="stroke-width:0.26458332" /></text>
119
+ <circle
120
+ style="opacity:1;fill:#808080;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill"
121
+ id="path3017"
122
+ cx="50.905403"
123
+ cy="130.02036"
124
+ r="25" />
125
+ <circle
126
+ cy="130.02036"
127
+ cx="50.905403"
128
+ id="circle827"
129
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.49000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill"
130
+ r="24.5" />
131
+ <g
132
+ aria-label="北"
133
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.4786377px;line-height:1.25;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;fill:#d40000;fill-opacity:1;stroke:none;stroke-width:0.96196598"
134
+ id="text2913">
135
+ <path
136
+ d="m 42.82489,120.95864 h -9.080958 v 4.57896 h 9.080958 v 9.31183 c -3.886342,1.38523 -7.811163,2.73198 -10.427711,3.50155 l 2.039368,4.6944 c 2.501112,-1.03893 5.463967,-2.27024 8.388343,-3.54004 v 7.88812 h 4.80983 v -34.90012 h -4.80983 z m 16.007114,21.58651 c -1.385231,0 -1.616103,-0.26935 -1.616103,-2.42415 v -11.23576 c 3.770906,-1.96241 7.811163,-4.23265 11.197283,-6.54137 l -3.309163,-4.11722 c -2.116325,1.8085 -4.963744,3.9633 -7.88812,5.84876 v -11.54359 h -4.732873 v 27.51222 c 0,5.42549 1.269795,7.04159 5.65636,7.04159 h 5.156138 c 4.309607,0 5.425487,-2.84742 5.887231,-10.19684 -1.269795,-0.26935 -3.270684,-1.19283 -4.386565,-2.07784 -0.26935,6.19506 -0.500222,7.7342 -1.96241,7.7342 z"
137
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu Bold';fill:#d40000;stroke-width:0.96196598"
138
+ id="path827" />
139
+ </g>
140
+ </g>
141
+ </svg>
@@ -73,10 +73,10 @@
73
73
  inkscape:pageopacity="0"
74
74
  inkscape:pageshadow="2"
75
75
  inkscape:zoom="0.7"
76
- inkscape:cx="337.63766"
77
- inkscape:cy="-256.1795"
76
+ inkscape:cx="72.63766"
77
+ inkscape:cy="-261.89379"
78
78
  inkscape:document-units="mm"
79
- inkscape:current-layer="layer1"
79
+ inkscape:current-layer="text2913"
80
80
  showgrid="false"
81
81
  inkscape:window-width="3368"
82
82
  inkscape:window-height="1376"
@@ -96,7 +96,7 @@
96
96
  <dc:format>image/svg+xml</dc:format>
97
97
  <dc:type
98
98
  rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
99
- <dc:title></dc:title>
99
+ <dc:title />
100
100
  </cc:Work>
101
101
  </rdf:RDF>
102
102
  </metadata>
@@ -122,16 +122,14 @@
122
122
  cx="50.905403"
123
123
  cy="130.02036"
124
124
  r="25" />
125
- <text
126
- xml:space="preserve"
125
+ <g
126
+ aria-label=""
127
127
  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.4786377px;line-height:1.25;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;fill:#d40000;fill-opacity:1;stroke:none;stroke-width:0.96196598"
128
- x="31.512171"
129
- y="144.46909"
130
- id="text2913"><tspan
131
- sodipodi:role="line"
132
- id="tspan2911"
133
- x="31.512171"
134
- y="144.46909"
135
- style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu Bold';fill:#d40000;stroke-width:0.96196598">北</tspan></text>
128
+ id="text2913">
129
+ <path
130
+ d="m 42.82489,120.95864 h -9.080958 v 4.57896 h 9.080958 v 9.31183 c -3.886342,1.38523 -7.811163,2.73198 -10.427711,3.50155 l 2.039368,4.6944 c 2.501112,-1.03893 5.463967,-2.27024 8.388343,-3.54004 v 7.88812 h 4.80983 v -34.90012 h -4.80983 z m 16.007114,21.58651 c -1.385231,0 -1.616103,-0.26935 -1.616103,-2.42415 v -11.23576 c 3.770906,-1.96241 7.811163,-4.23265 11.197283,-6.54137 l -3.309163,-4.11722 c -2.116325,1.8085 -4.963744,3.9633 -7.88812,5.84876 v -11.54359 h -4.732873 v 27.51222 c 0,5.42549 1.269795,7.04159 5.65636,7.04159 h 5.156138 c 4.309607,0 5.425487,-2.84742 5.887231,-10.19684 -1.269795,-0.26935 -3.270684,-1.19283 -4.386565,-2.07784 -0.26935,6.19506 -0.500222,7.7342 -1.96241,7.7342 z"
131
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu Bold';fill:#d40000;stroke-width:0.96196598"
132
+ id="path827" />
133
+ </g>
136
134
  </g>
137
135
  </svg>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kita
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Bishop
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-03 00:00:00.000000000 Z
11
+ date: 2020-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: config
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: fast_gettext
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: gir_ffi
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -120,6 +134,8 @@ files:
120
134
  - lib/kita/config.rb
121
135
  - lib/kita/hiragana.rb
122
136
  - lib/kita/katakana.rb
137
+ - lib/kita/locale.rb
138
+ - lib/kita/menu.rb
123
139
  - lib/kita/question.rb
124
140
  - lib/kita/version.rb
125
141
  - snap/gui/kita.desktop
@@ -270,10 +286,11 @@ files:
270
286
  - sounds/ん2.ogg
271
287
  - test-notify.rb
272
288
  - ui/builder.ui
289
+ - ui/kita-bordered.svg
273
290
  - ui/kita.svg
274
291
  homepage: https://www.danbishop.org
275
292
  licenses:
276
- - GPLv3+
293
+ - GPL-3.0+
277
294
  metadata:
278
295
  homepage_uri: https://www.danbishop.org
279
296
  source_code_uri: https://github.com/danbishop/kita