Spaces:
Sleeping
Sleeping
Commit
·
f6a4c89
1
Parent(s):
5d9283b
add info table
Browse files- app.py +32 -2
- info/hiragana-dakuten.md +9 -0
- info/hiragana-gojuon.md +13 -0
- info/hiragana-yoon.md +16 -0
- info/katakana-dakuten.md +9 -0
- info/katakana-gojuon.md +13 -0
- info/katakana-yoon.md +16 -0
app.py
CHANGED
@@ -9,7 +9,16 @@ b_base = ["a", "i", "u", "e", "o"]
|
|
9 |
ext = ["g", "z", "d", "b", "p", "ya", "yo", "yu"]
|
10 |
|
11 |
invalid = ["yi", "ye", "wi", "wu", "we"]
|
12 |
-
spec_map = {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
|
15 |
def next_question(hira, hira_ext, kata, kata_ext, quiz_list: list):
|
@@ -146,7 +155,12 @@ def back_to_setting():
|
|
146 |
return gr.Tabs(selected=0)
|
147 |
|
148 |
|
149 |
-
|
|
|
|
|
|
|
|
|
|
|
150 |
theme = gr.themes.Soft(font=font, text_size=gr.themes.sizes.text_lg)
|
151 |
|
152 |
with gr.Blocks(theme=theme, title="假名小測驗") as app:
|
@@ -187,6 +201,22 @@ with gr.Blocks(theme=theme, title="假名小測驗") as app:
|
|
187 |
again_btn = gr.Button("再次測驗")
|
188 |
back_to_setting_btn = gr.Button("回到設定")
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
def init_question(set_hira, set_hira_ext, set_kata, set_kata_ext):
|
191 |
quiz_list = init_question_list(set_hira, set_hira_ext, set_kata, set_kata_ext)
|
192 |
select = gr.Tabs(selected=1) if quiz_list else gr.Tabs(selected=0)
|
|
|
9 |
ext = ["g", "z", "d", "b", "p", "ya", "yo", "yu"]
|
10 |
|
11 |
invalid = ["yi", "ye", "wi", "wu", "we"]
|
12 |
+
spec_map = {
|
13 |
+
"cya": "cha",
|
14 |
+
"cyu": "chu",
|
15 |
+
"cyo": "cho",
|
16 |
+
"ji": "di",
|
17 |
+
"zu": "du",
|
18 |
+
"ja": "dya",
|
19 |
+
"jo": "dyo",
|
20 |
+
"ju": "dyu",
|
21 |
+
}
|
22 |
|
23 |
|
24 |
def next_question(hira, hira_ext, kata, kata_ext, quiz_list: list):
|
|
|
155 |
return gr.Tabs(selected=0)
|
156 |
|
157 |
|
158 |
+
def read_text(path):
|
159 |
+
with open(path, "rt", encoding="UTF-8") as fp:
|
160 |
+
return fp.read()
|
161 |
+
|
162 |
+
|
163 |
+
font = gr.themes.GoogleFont("Noto Sans Mono")
|
164 |
theme = gr.themes.Soft(font=font, text_size=gr.themes.sizes.text_lg)
|
165 |
|
166 |
with gr.Blocks(theme=theme, title="假名小測驗") as app:
|
|
|
201 |
again_btn = gr.Button("再次測驗")
|
202 |
back_to_setting_btn = gr.Button("回到設定")
|
203 |
|
204 |
+
with gr.Tab("對照表"):
|
205 |
+
with gr.Tab("平假名"):
|
206 |
+
with gr.Tab("基本"):
|
207 |
+
gr.Markdown(read_text("info/hiragana-gojuon.md"))
|
208 |
+
with gr.Tab("濁音、半濁音"):
|
209 |
+
gr.Markdown(read_text("info/hiragana-dakuten.md"))
|
210 |
+
with gr.Tab("拗音"):
|
211 |
+
gr.Markdown(read_text("info/hiragana-yoon.md"))
|
212 |
+
with gr.Tab("片假名"):
|
213 |
+
with gr.Tab("基本"):
|
214 |
+
gr.Markdown(read_text("info/katakana-gojuon.md"))
|
215 |
+
with gr.Tab("濁音、半濁音"):
|
216 |
+
gr.Markdown(read_text("info/katakana-dakuten.md"))
|
217 |
+
with gr.Tab("拗音"):
|
218 |
+
gr.Markdown(read_text("info/katakana-yoon.md"))
|
219 |
+
|
220 |
def init_question(set_hira, set_hira_ext, set_kata, set_kata_ext):
|
221 |
quiz_list = init_question_list(set_hira, set_hira_ext, set_kata, set_kata_ext)
|
222 |
select = gr.Tabs(selected=1) if quiz_list else gr.Tabs(selected=0)
|
info/hiragana-dakuten.md
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
| | a | i | u | e | o |
|
2 |
+
|:--|:-------|:-----------|:-----------|:-------|:-------|
|
3 |
+
| g | が (ga) | ぎ (gi) | ぐ (gu) | げ (ge) | ご (go) |
|
4 |
+
| z | ざ (za) | じ (ji) | ず (zu) | ぜ (ze) | ぞ (zo) |
|
5 |
+
| d | だ (da) | ぢ (ji, di) | づ (zu, du) | で (de) | ど (do) |
|
6 |
+
| b | ば (ba) | び (bi) | ぶ (bu) | べ (be) | ぼ (bo) |
|
7 |
+
| p | ぱ (pa) | ぴ (pi) | ぷ (pu) | ぺ (pe) | ぽ (po) |
|
8 |
+
|
9 |
+
註:「じ」與「ぢ」、「ず」與「づ」在現代日語中多數情況發音相同,但為了區分,輸入法中可使用「di」輸入「ぢ」,以及「du」輸入「づ」。
|
info/hiragana-gojuon.md
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
| | a | i | u | e | o |
|
2 |
+
|:--|:-------|:--------|:--------|:-------|:-------|
|
3 |
+
| a | あ (a) | い (i) | う (u) | え (e) | お (o) |
|
4 |
+
| k | か (ka) | き (ki) | く (ku) | け (ke) | こ (ko) |
|
5 |
+
| s | さ (sa) | し (shi) | す (su) | せ (se) | そ (so) |
|
6 |
+
| t | た (ta) | ち (chi) | つ (tsu) | て (te) | と (to) |
|
7 |
+
| n | な (na) | に (ni) | ぬ (nu) | ね (ne) | の (no) |
|
8 |
+
| h | は (ha) | ひ (hi) | ふ (fu) | へ (he) | ほ (ho) |
|
9 |
+
| m | ま (ma) | み (mi) | む (mu) | め (me) | も (mo) |
|
10 |
+
| y | や (ya) | | ゆ (yu) | | よ (yo) |
|
11 |
+
| r | ら (ra) | り (ri) | る (ru) | れ (re) | ろ (ro) |
|
12 |
+
| w | わ (wa) | | | | を (wo) |
|
13 |
+
| n | ん (n) | | | | |
|
info/hiragana-yoon.md
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
| | ya | yo | yu |
|
2 |
+
|:--|:-------------|:-------------|:-------------|
|
3 |
+
| k | きゃ (kya) | きょ (kyo) | きゅ (kyu) |
|
4 |
+
| g | ぎゃ (gya) | ぎょ (gyo) | ぎゅ (gyu) |
|
5 |
+
| s | しゃ (sha) | しょ (sho) | しゅ (shu) |
|
6 |
+
| z | じゃ (ja) | じょ (jo) | じゅ (ju) |
|
7 |
+
| t | ちゃ (cha) | ちょ (cho) | ちゅ (chu) |
|
8 |
+
| d | ぢゃ (ja, dya) | ぢょ (jo, dyo) | ぢゅ (ju, dyu) |
|
9 |
+
| n | にゃ (nya) | にょ (nyo) | にゅ (nyu) |
|
10 |
+
| h | ひゃ (hya) | ひょ (hyo) | ひゅ (hyu) |
|
11 |
+
| b | びゃ (bya) | びょ (byo) | びゅ (byu) |
|
12 |
+
| p | ぴゃ (pya) | ぴょ (pyo) | ぴゅ (pyu) |
|
13 |
+
| m | みゃ (mya) | みょ (myo) | みゅ (myu) |
|
14 |
+
| r | りゃ (rya) | りょ (ryo) | りゅ (ryu) |
|
15 |
+
|
16 |
+
註:「ぢゃ」、「ぢゅ」、「ぢょ」發音與「じゃ」、「じゅ」、「じょ」相同,但輸入法為區分「ぢ」和「じ」,可用「dya」、「dyu」、「dyo」輸入「ぢ」行的拗音。
|
info/katakana-dakuten.md
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
| | a | i | u | e | o |
|
2 |
+
|:--|:-------|:-----------|:-----------|:-------|:-------|
|
3 |
+
| g | ガ (ga) | ギ (gi) | グ (gu) | ゲ (ge) | ゴ (go) |
|
4 |
+
| z | ザ (za) | ジ (ji) | ズ (zu) | ゼ (ze) | ゾ (zo) |
|
5 |
+
| d | ダ (da) | ヂ (ji, di) | ヅ (zu, du) | デ (de) | ド (do) |
|
6 |
+
| b | バ (ba) | ビ (bi) | ブ (bu) | ベ (be) | ボ (bo) |
|
7 |
+
| p | パ (pa) | ピ (pi) | プ (pu) | ペ (pe) | ポ (po) |
|
8 |
+
|
9 |
+
註:「ジ」與「ヂ」、「ズ」與「ヅ」在現代日語中多數情況發音相同,但為了區分,輸入法中可使用「di」輸入「ヂ」,以及「du」輸入「ヅ」。
|
info/katakana-gojuon.md
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
| | a | i | u | e | o |
|
2 |
+
|:--|:-------|:--------|:--------|:-------|:-------|
|
3 |
+
| a | ア (a) | イ (i) | ウ (u) | エ (e) | オ (o) |
|
4 |
+
| k | カ (ka) | キ (ki) | ク (ku) | ケ (ke) | コ (ko) |
|
5 |
+
| s | サ (sa) | シ (shi) | ス (su) | セ (se) | ソ (so) |
|
6 |
+
| t | タ (ta) | チ (chi) | ツ (tsu) | テ (te) | ト (to) |
|
7 |
+
| n | ナ (na) | ニ (ni) | ヌ (nu) | ネ (ne) | ノ (no) |
|
8 |
+
| h | ハ (ha) | ヒ (hi) | フ (fu) | ヘ (he) | ホ (ho) |
|
9 |
+
| m | マ (ma) | ミ (mi) | ム (mu) | メ (me) | モ (mo) |
|
10 |
+
| y | ヤ (ya) | | ユ (yu) | | ヨ (yo) |
|
11 |
+
| r | ラ (ra) | リ (ri) | ル (ru) | レ (re) | ロ (ro) |
|
12 |
+
| w | ワ (wa) | | | | ヲ (wo) |
|
13 |
+
| n | ン (n) | | | | |
|
info/katakana-yoon.md
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
| | ya | yo | yu |
|
2 |
+
|:--|:-------------|:-------------|:-------------|
|
3 |
+
| k | キャ (kya) | キョ (kyo) | キュ (kyu) |
|
4 |
+
| g | ギャ (gya) | ギョ (gyo) | ギュ (gyu) |
|
5 |
+
| s | シャ (sha) | ショ (sho) | シュ (shu) |
|
6 |
+
| z | ジャ (ja) | ジョ (jo) | ジュ (ju) |
|
7 |
+
| t | チャ (cha) | チョ (cho) | チュ (chu) |
|
8 |
+
| d | ヂャ (ja, dya) | ヂョ (jo, dyo) | ヂュ (ju, dyu) |
|
9 |
+
| n | ニャ (nya) | ニョ (nyo) | ニュ (nyu) |
|
10 |
+
| h | ヒャ (hya) | ヒョ (hyo) | ヒュ (hyu) |
|
11 |
+
| b | ビャ (bya) | ビョ (byo) | ビュ (byu) |
|
12 |
+
| p | ピャ (pya) | ピョ (pyo) | ピュ (pyu) |
|
13 |
+
| m | ミャ (mya) | ミョ (myo) | ミュ (myu) |
|
14 |
+
| r | リャ (rya) | リョ (ryo) | リュ (ryu) |
|
15 |
+
|
16 |
+
註:「ヂャ」、「ヂュ」、「ヂョ」發音與「ジャ」、「ジュ」、「ジョ」相同,但輸入法為區分「ヂ」和「ジ」,可用「dya」、「dyu」、「dyo」輸入「ヂ」行的拗音。
|