first commit
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-10-16 09:57:36 +08:00
commit a4c051946f
62 changed files with 21882 additions and 0 deletions

View File

@@ -0,0 +1,132 @@
[
{
"letter": "a",
"letter_name_ipa": "[eɪ]",
"letter_sound_ipa": "[æ], [eɪ], [ɑː], [ə]"
},
{
"letter": "b",
"letter_name_ipa": "[biː]",
"letter_sound_ipa": "[b]"
},
{
"letter": "c",
"letter_name_ipa": "[siː]",
"letter_sound_ipa": "[k], [s]"
},
{
"letter": "d",
"letter_name_ipa": "[diː]",
"letter_sound_ipa": "[d]"
},
{
"letter": "e",
"letter_name_ipa": "[iː]",
"letter_sound_ipa": "[ɛ], [iː], [ə]"
},
{
"letter": "f",
"letter_name_ipa": "[ɛf]",
"letter_sound_ipa": "[f]"
},
{
"letter": "g",
"letter_name_ipa": "[dʒiː]",
"letter_sound_ipa": "[ɡ], [dʒ]"
},
{
"letter": "h",
"letter_name_ipa": "[eɪtʃ]",
"letter_sound_ipa": "[h]"
},
{
"letter": "i",
"letter_name_ipa": "[aɪ]",
"letter_sound_ipa": "[ɪ], [aɪ]"
},
{
"letter": "j",
"letter_name_ipa": "[dʒeɪ]",
"letter_sound_ipa": "[dʒ]"
},
{
"letter": "k",
"letter_name_ipa": "[keɪ]",
"letter_sound_ipa": "[k]"
},
{
"letter": "l",
"letter_name_ipa": "[ɛl]",
"letter_sound_ipa": "[l]"
},
{
"letter": "m",
"letter_name_ipa": "[ɛm]",
"letter_sound_ipa": "[m]"
},
{
"letter": "n",
"letter_name_ipa": "[ɛn]",
"letter_sound_ipa": "[n]"
},
{
"letter": "o",
"letter_name_ipa": "[oʊ]",
"letter_sound_ipa": "[ɒ], [oʊ], [ʌ]"
},
{
"letter": "p",
"letter_name_ipa": "[piː]",
"letter_sound_ipa": "[p]"
},
{
"letter": "q",
"letter_name_ipa": "[kjuː]",
"letter_sound_ipa": "[k]"
},
{
"letter": "r",
"letter_name_ipa": "[ɑːr]",
"letter_sound_ipa": "[r]"
},
{
"letter": "s",
"letter_name_ipa": "[ɛs]",
"letter_sound_ipa": "[s], [z]"
},
{
"letter": "t",
"letter_name_ipa": "[tiː]",
"letter_sound_ipa": "[t]"
},
{
"letter": "u",
"letter_name_ipa": "[juː]",
"letter_sound_ipa": "[ʌ], [juː], [ʊ]"
},
{
"letter": "v",
"letter_name_ipa": "[viː]",
"letter_sound_ipa": "[v]"
},
{
"letter": "w",
"letter_name_ipa": "[ˈdʌbəl.juː]",
"letter_sound_ipa": "[w]"
},
{
"letter": "x",
"letter_name_ipa": "[ɛks]",
"letter_sound_ipa": "[ks], [ɡz]"
},
{
"letter": "y",
"letter_name_ipa": "[waɪ]",
"letter_sound_ipa": "[j], [aɪ], [ɪ]"
},
{
"letter": "z",
"letter_name_ipa": "[zɛd] or [ziː]",
"letter_sound_ipa": "[z]"
}
]

View File

@@ -0,0 +1,142 @@
[
{
"letter": "a",
"letter_name_ipa": "[a]",
"letter_sound_ipa": "[a]"
},
{
"letter": "b",
"letter_name_ipa": "[bo]",
"letter_sound_ipa": "[b]"
},
{
"letter": "c",
"letter_name_ipa": "[t͡so]",
"letter_sound_ipa": "[t͡s]"
},
{
"letter": "ĉ",
"letter_name_ipa": "[t͡ʃo]",
"letter_sound_ipa": "[t͡ʃ]"
},
{
"letter": "d",
"letter_name_ipa": "[do]",
"letter_sound_ipa": "[d]"
},
{
"letter": "e",
"letter_name_ipa": "[e]",
"letter_sound_ipa": "[e]"
},
{
"letter": "f",
"letter_name_ipa": "[fo]",
"letter_sound_ipa": "[f]"
},
{
"letter": "g",
"letter_name_ipa": "[ɡo]",
"letter_sound_ipa": "[ɡ]"
},
{
"letter": "ĝ",
"letter_name_ipa": "[d͡ʒo]",
"letter_sound_ipa": "[d͡ʒ]"
},
{
"letter": "h",
"letter_name_ipa": "[ho]",
"letter_sound_ipa": "[h]"
},
{
"letter": "ĥ",
"letter_name_ipa": "[xo]",
"letter_sound_ipa": "[x]"
},
{
"letter": "i",
"letter_name_ipa": "[i]",
"letter_sound_ipa": "[i]"
},
{
"letter": "j",
"letter_name_ipa": "[jo]",
"letter_sound_ipa": "[j]"
},
{
"letter": "ĵ",
"letter_name_ipa": "[ʒo]",
"letter_sound_ipa": "[ʒ]"
},
{
"letter": "k",
"letter_name_ipa": "[ko]",
"letter_sound_ipa": "[k]"
},
{
"letter": "l",
"letter_name_ipa": "[lo]",
"letter_sound_ipa": "[l]"
},
{
"letter": "m",
"letter_name_ipa": "[mo]",
"letter_sound_ipa": "[m]"
},
{
"letter": "n",
"letter_name_ipa": "[no]",
"letter_sound_ipa": "[n]"
},
{
"letter": "o",
"letter_name_ipa": "[o]",
"letter_sound_ipa": "[o]"
},
{
"letter": "p",
"letter_name_ipa": "[po]",
"letter_sound_ipa": "[p]"
},
{
"letter": "r",
"letter_name_ipa": "[ro]",
"letter_sound_ipa": "[r]"
},
{
"letter": "s",
"letter_name_ipa": "[so]",
"letter_sound_ipa": "[s]"
},
{
"letter": "ŝ",
"letter_name_ipa": "[ʃo]",
"letter_sound_ipa": "[ʃ]"
},
{
"letter": "t",
"letter_name_ipa": "[to]",
"letter_sound_ipa": "[t]"
},
{
"letter": "u",
"letter_name_ipa": "[u]",
"letter_sound_ipa": "[u]"
},
{
"letter": "ŭ",
"letter_name_ipa": "[u̯o]",
"letter_sound_ipa": "[u̯]"
},
{
"letter": "v",
"letter_name_ipa": "[vo]",
"letter_sound_ipa": "[v]"
},
{
"letter": "z",
"letter_name_ipa": "[zo]",
"letter_sound_ipa": "[z]"
}
]

View File

@@ -0,0 +1,554 @@
[
{
"letter": "あ",
"letter_name_ipa": "[a]",
"letter_sound_ipa": "[a]",
"roman_letter": "a"
},
{
"letter": "ア",
"letter_name_ipa": "[a]",
"letter_sound_ipa": "[a]",
"roman_letter": "a"
},
{
"letter": "い",
"letter_name_ipa": "[i]",
"letter_sound_ipa": "[i]",
"roman_letter": "i"
},
{
"letter": "イ",
"letter_name_ipa": "[i]",
"letter_sound_ipa": "[i]",
"roman_letter": "i"
},
{
"letter": "う",
"letter_name_ipa": "[ɯ]",
"letter_sound_ipa": "[ɯ]",
"roman_letter": "u"
},
{
"letter": "ウ",
"letter_name_ipa": "[ɯ]",
"letter_sound_ipa": "[ɯ]",
"roman_letter": "u"
},
{
"letter": "え",
"letter_name_ipa": "[e]",
"letter_sound_ipa": "[e]",
"roman_letter": "e"
},
{
"letter": "エ",
"letter_name_ipa": "[e]",
"letter_sound_ipa": "[e]",
"roman_letter": "e"
},
{
"letter": "お",
"letter_name_ipa": "[o]",
"letter_sound_ipa": "[o]",
"roman_letter": "o"
},
{
"letter": "オ",
"letter_name_ipa": "[o]",
"letter_sound_ipa": "[o]",
"roman_letter": "o"
},
{
"letter": "か",
"letter_name_ipa": "[ka]",
"letter_sound_ipa": "[ka]",
"roman_letter": "ka"
},
{
"letter": "カ",
"letter_name_ipa": "[ka]",
"letter_sound_ipa": "[ka]",
"roman_letter": "ka"
},
{
"letter": "き",
"letter_name_ipa": "[ki]",
"letter_sound_ipa": "[ki]",
"roman_letter": "ki"
},
{
"letter": "キ",
"letter_name_ipa": "[ki]",
"letter_sound_ipa": "[ki]",
"roman_letter": "ki"
},
{
"letter": "く",
"letter_name_ipa": "[kɯ]",
"letter_sound_ipa": "[kɯ]",
"roman_letter": "ku"
},
{
"letter": "ク",
"letter_name_ipa": "[kɯ]",
"letter_sound_ipa": "[kɯ]",
"roman_letter": "ku"
},
{
"letter": "け",
"letter_name_ipa": "[ke]",
"letter_sound_ipa": "[ke]",
"roman_letter": "ke"
},
{
"letter": "ケ",
"letter_name_ipa": "[ke]",
"letter_sound_ipa": "[ke]",
"roman_letter": "ke"
},
{
"letter": "こ",
"letter_name_ipa": "[ko]",
"letter_sound_ipa": "[ko]",
"roman_letter": "ko"
},
{
"letter": "コ",
"letter_name_ipa": "[ko]",
"letter_sound_ipa": "[ko]",
"roman_letter": "ko"
},
{
"letter": "さ",
"letter_name_ipa": "[sa]",
"letter_sound_ipa": "[sa]",
"roman_letter": "sa"
},
{
"letter": "サ",
"letter_name_ipa": "[sa]",
"letter_sound_ipa": "[sa]",
"roman_letter": "sa"
},
{
"letter": "し",
"letter_name_ipa": "[ɕi]",
"letter_sound_ipa": "[ɕi]",
"roman_letter": "shi"
},
{
"letter": "シ",
"letter_name_ipa": "[ɕi]",
"letter_sound_ipa": "[ɕi]",
"roman_letter": "shi"
},
{
"letter": "す",
"letter_name_ipa": "[sɯ]",
"letter_sound_ipa": "[sɯ]",
"roman_letter": "su"
},
{
"letter": "ス",
"letter_name_ipa": "[sɯ]",
"letter_sound_ipa": "[sɯ]",
"roman_letter": "su"
},
{
"letter": "せ",
"letter_name_ipa": "[se]",
"letter_sound_ipa": "[se]",
"roman_letter": "se"
},
{
"letter": "セ",
"letter_name_ipa": "[se]",
"letter_sound_ipa": "[se]",
"roman_letter": "se"
},
{
"letter": "そ",
"letter_name_ipa": "[so]",
"letter_sound_ipa": "[so]",
"roman_letter": "so"
},
{
"letter": "ソ",
"letter_name_ipa": "[so]",
"letter_sound_ipa": "[so]",
"roman_letter": "so"
},
{
"letter": "た",
"letter_name_ipa": "[ta]",
"letter_sound_ipa": "[ta]",
"roman_letter": "ta"
},
{
"letter": "タ",
"letter_name_ipa": "[ta]",
"letter_sound_ipa": "[ta]",
"roman_letter": "ta"
},
{
"letter": "ち",
"letter_name_ipa": "[tɕi]",
"letter_sound_ipa": "[tɕi]",
"roman_letter": "chi"
},
{
"letter": "チ",
"letter_name_ipa": "[tɕi]",
"letter_sound_ipa": "[tɕi]",
"roman_letter": "chi"
},
{
"letter": "つ",
"letter_name_ipa": "[t͡sɯ]",
"letter_sound_ipa": "[t͡sɯ]",
"roman_letter": "tsu"
},
{
"letter": "ツ",
"letter_name_ipa": "[t͡sɯ]",
"letter_sound_ipa": "[t͡sɯ]",
"roman_letter": "tsu"
},
{
"letter": "て",
"letter_name_ipa": "[te]",
"letter_sound_ipa": "[te]",
"roman_letter": "te"
},
{
"letter": "テ",
"letter_name_ipa": "[te]",
"letter_sound_ipa": "[te]",
"roman_letter": "te"
},
{
"letter": "と",
"letter_name_ipa": "[to]",
"letter_sound_ipa": "[to]",
"roman_letter": "to"
},
{
"letter": "ト",
"letter_name_ipa": "[to]",
"letter_sound_ipa": "[to]",
"roman_letter": "to"
},
{
"letter": "な",
"letter_name_ipa": "[na]",
"letter_sound_ipa": "[na]",
"roman_letter": "na"
},
{
"letter": "ナ",
"letter_name_ipa": "[na]",
"letter_sound_ipa": "[na]",
"roman_letter": "na"
},
{
"letter": "に",
"letter_name_ipa": "[ni]",
"letter_sound_ipa": "[ni]",
"roman_letter": "ni"
},
{
"letter": "ニ",
"letter_name_ipa": "[ni]",
"letter_sound_ipa": "[ni]",
"roman_letter": "ni"
},
{
"letter": "ぬ",
"letter_name_ipa": "[nɯ]",
"letter_sound_ipa": "[nɯ]",
"roman_letter": "nu"
},
{
"letter": "ヌ",
"letter_name_ipa": "[nɯ]",
"letter_sound_ipa": "[nɯ]",
"roman_letter": "nu"
},
{
"letter": "ね",
"letter_name_ipa": "[ne]",
"letter_sound_ipa": "[ne]",
"roman_letter": "ne"
},
{
"letter": "ネ",
"letter_name_ipa": "[ne]",
"letter_sound_ipa": "[ne]",
"roman_letter": "ne"
},
{
"letter": "の",
"letter_name_ipa": "[no]",
"letter_sound_ipa": "[no]",
"roman_letter": "no"
},
{
"letter": "",
"letter_name_ipa": "[no]",
"letter_sound_ipa": "[no]",
"roman_letter": "no"
},
{
"letter": "は",
"letter_name_ipa": "[ha]",
"letter_sound_ipa": "[ha]",
"roman_letter": "ha"
},
{
"letter": "ハ",
"letter_name_ipa": "[ha]",
"letter_sound_ipa": "[ha]",
"roman_letter": "ha"
},
{
"letter": "ひ",
"letter_name_ipa": "[çi]",
"letter_sound_ipa": "[çi]",
"roman_letter": "hi"
},
{
"letter": "ヒ",
"letter_name_ipa": "[çi]",
"letter_sound_ipa": "[çi]",
"roman_letter": "hi"
},
{
"letter": "ふ",
"letter_name_ipa": "[ɸɯ]",
"letter_sound_ipa": "[ɸɯ]",
"roman_letter": "fu"
},
{
"letter": "フ",
"letter_name_ipa": "[ɸɯ]",
"letter_sound_ipa": "[ɸɯ]",
"roman_letter": "fu"
},
{
"letter": "へ",
"letter_name_ipa": "[he]",
"letter_sound_ipa": "[he]",
"roman_letter": "he"
},
{
"letter": "ヘ",
"letter_name_ipa": "[he]",
"letter_sound_ipa": "[he]",
"roman_letter": "he"
},
{
"letter": "ほ",
"letter_name_ipa": "[ho]",
"letter_sound_ipa": "[ho]",
"roman_letter": "ho"
},
{
"letter": "ホ",
"letter_name_ipa": "[ho]",
"letter_sound_ipa": "[ho]",
"roman_letter": "ho"
},
{
"letter": "ま",
"letter_name_ipa": "[ma]",
"letter_sound_ipa": "[ma]",
"roman_letter": "ma"
},
{
"letter": "マ",
"letter_name_ipa": "[ma]",
"letter_sound_ipa": "[ma]",
"roman_letter": "ma"
},
{
"letter": "み",
"letter_name_ipa": "[mi]",
"letter_sound_ipa": "[mi]",
"roman_letter": "mi"
},
{
"letter": "ミ",
"letter_name_ipa": "[mi]",
"letter_sound_ipa": "[mi]",
"roman_letter": "mi"
},
{
"letter": "む",
"letter_name_ipa": "[mɯ]",
"letter_sound_ipa": "[mɯ]",
"roman_letter": "mu"
},
{
"letter": "ム",
"letter_name_ipa": "[mɯ]",
"letter_sound_ipa": "[mɯ]",
"roman_letter": "mu"
},
{
"letter": "め",
"letter_name_ipa": "[me]",
"letter_sound_ipa": "[me]",
"roman_letter": "me"
},
{
"letter": "メ",
"letter_name_ipa": "[me]",
"letter_sound_ipa": "[me]",
"roman_letter": "me"
},
{
"letter": "も",
"letter_name_ipa": "[mo]",
"letter_sound_ipa": "[mo]",
"roman_letter": "mo"
},
{
"letter": "モ",
"letter_name_ipa": "[mo]",
"letter_sound_ipa": "[mo]",
"roman_letter": "mo"
},
{
"letter": "や",
"letter_name_ipa": "[ja]",
"letter_sound_ipa": "[ja]",
"roman_letter": "ya"
},
{
"letter": "ヤ",
"letter_name_ipa": "[ja]",
"letter_sound_ipa": "[ja]",
"roman_letter": "ya"
},
{
"letter": "ゆ",
"letter_name_ipa": "[jɯ]",
"letter_sound_ipa": "[jɯ]",
"roman_letter": "yu"
},
{
"letter": "ユ",
"letter_name_ipa": "[jɯ]",
"letter_sound_ipa": "[jɯ]",
"roman_letter": "yu"
},
{
"letter": "よ",
"letter_name_ipa": "[jo]",
"letter_sound_ipa": "[jo]",
"roman_letter": "yo"
},
{
"letter": "ヨ",
"letter_name_ipa": "[jo]",
"letter_sound_ipa": "[jo]",
"roman_letter": "yo"
},
{
"letter": "ら",
"letter_name_ipa": "[ɾa]",
"letter_sound_ipa": "[ɾa]",
"roman_letter": "ra"
},
{
"letter": "ラ",
"letter_name_ipa": "[ɾa]",
"letter_sound_ipa": "[ɾa]",
"roman_letter": "ra"
},
{
"letter": "り",
"letter_name_ipa": "[ɾi]",
"letter_sound_ipa": "[ɾi]",
"roman_letter": "ri"
},
{
"letter": "リ",
"letter_name_ipa": "[ɾi]",
"letter_sound_ipa": "[ɾi]",
"roman_letter": "ri"
},
{
"letter": "る",
"letter_name_ipa": "[ɾɯ]",
"letter_sound_ipa": "[ɾɯ]",
"roman_letter": "ru"
},
{
"letter": "ル",
"letter_name_ipa": "[ɾɯ]",
"letter_sound_ipa": "[ɾɯ]",
"roman_letter": "ru"
},
{
"letter": "れ",
"letter_name_ipa": "[ɾe]",
"letter_sound_ipa": "[ɾe]",
"roman_letter": "re"
},
{
"letter": "レ",
"letter_name_ipa": "[ɾe]",
"letter_sound_ipa": "[ɾe]",
"roman_letter": "re"
},
{
"letter": "ろ",
"letter_name_ipa": "[ɾo]",
"letter_sound_ipa": "[ɾo]",
"roman_letter": "ro"
},
{
"letter": "ロ",
"letter_name_ipa": "[ɾo]",
"letter_sound_ipa": "[ɾo]",
"roman_letter": "ro"
},
{
"letter": "わ",
"letter_name_ipa": "[wa]",
"letter_sound_ipa": "[wa]",
"roman_letter": "wa"
},
{
"letter": "ワ",
"letter_name_ipa": "[wa]",
"letter_sound_ipa": "[wa]",
"roman_letter": "wa"
},
{
"letter": "を",
"letter_name_ipa": "[o]",
"letter_sound_ipa": "[o]",
"roman_letter": "wo"
},
{
"letter": "ヲ",
"letter_name_ipa": "[o]",
"letter_sound_ipa": "[o]",
"roman_letter": "wo"
},
{
"letter": "ん",
"letter_name_ipa": "[n]",
"letter_sound_ipa": "[n], [m], [ŋ]",
"roman_letter": "n"
},
{
"letter": "ン",
"letter_name_ipa": "[n]",
"letter_sound_ipa": "[n], [m], [ŋ]",
"roman_letter": "n"
}
]

View File

@@ -0,0 +1,162 @@
[
{
"letter": "ئا",
"letter_name_ipa": "[ʔɑ]",
"letter_sound_ipa": "[ɑ]"
},
{
"letter": "ئە",
"letter_name_ipa": "[ʔæ]",
"letter_sound_ipa": "[æ]"
},
{
"letter": "ب",
"letter_name_ipa": "[bɛ]",
"letter_sound_ipa": "[b]"
},
{
"letter": "پ",
"letter_name_ipa": "[pɛ]",
"letter_sound_ipa": "[p]"
},
{
"letter": "ت",
"letter_name_ipa": "[tɛ]",
"letter_sound_ipa": "[t]"
},
{
"letter": "ج",
"letter_name_ipa": "[dʒɛ]",
"letter_sound_ipa": "[dʒ]"
},
{
"letter": "چ",
"letter_name_ipa": "[tʃɛ]",
"letter_sound_ipa": "[tʃ]"
},
{
"letter": "خ",
"letter_name_ipa": "[xɛ]",
"letter_sound_ipa": "[x]"
},
{
"letter": "د",
"letter_name_ipa": "[dɛ]",
"letter_sound_ipa": "[d]"
},
{
"letter": "ر",
"letter_name_ipa": "[rɛ]",
"letter_sound_ipa": "[r]"
},
{
"letter": "ز",
"letter_name_ipa": "[zɛ]",
"letter_sound_ipa": "[z]"
},
{
"letter": "ژ",
"letter_name_ipa": "[ʒɛ]",
"letter_sound_ipa": "[ʒ]"
},
{
"letter": "س",
"letter_name_ipa": "[sɛ]",
"letter_sound_ipa": "[s]"
},
{
"letter": "ش",
"letter_name_ipa": "[ʃɛ]",
"letter_sound_ipa": "[ʃ]"
},
{
"letter": "غ",
"letter_name_ipa": "[ʁɛ]",
"letter_sound_ipa": "[ʁ]"
},
{
"letter": "ف",
"letter_name_ipa": "[fɛ]",
"letter_sound_ipa": "[f]"
},
{
"letter": "ق",
"letter_name_ipa": "[qɛ]",
"letter_sound_ipa": "[q]"
},
{
"letter": "ك",
"letter_name_ipa": "[kɛ]",
"letter_sound_ipa": "[k]"
},
{
"letter": "گ",
"letter_name_ipa": "[gɛ]",
"letter_sound_ipa": "[g]"
},
{
"letter": "ڭ",
"letter_name_ipa": "[ŋɛ]",
"letter_sound_ipa": "[ŋ]"
},
{
"letter": "ل",
"letter_name_ipa": "[lɛ]",
"letter_sound_ipa": "[l]"
},
{
"letter": "م",
"letter_name_ipa": "[mɛ]",
"letter_sound_ipa": "[m]"
},
{
"letter": "ن",
"letter_name_ipa": "[nɛ]",
"letter_sound_ipa": "[n]"
},
{
"letter": "ھ",
"letter_name_ipa": "[hɛ]",
"letter_sound_ipa": "[h]"
},
{
"letter": "ئو",
"letter_name_ipa": "[ʔo]",
"letter_sound_ipa": "[o]"
},
{
"letter": "ئۇ",
"letter_name_ipa": "[ʔu]",
"letter_sound_ipa": "[u]"
},
{
"letter": "ئۆ",
"letter_name_ipa": "[ʔø]",
"letter_sound_ipa": "[ø]"
},
{
"letter": "ئۈ",
"letter_name_ipa": "[ʔy]",
"letter_sound_ipa": "[y]"
},
{
"letter": "ۋ",
"letter_name_ipa": "[wɛ]",
"letter_sound_ipa": "[w], [v]"
},
{
"letter": "ئې",
"letter_name_ipa": "[ʔe]",
"letter_sound_ipa": "[e]"
},
{
"letter": "ئى",
"letter_name_ipa": "[ʔi]",
"letter_sound_ipa": "[i]"
},
{
"letter": "ي",
"letter_name_ipa": "[jɛ]",
"letter_sound_ipa": "[j]"
}
]

9
public/changelog.txt Normal file
View File

@@ -0,0 +1,9 @@
2025.10.12 添加朗读器本地保存功能
2025.10.09 新增记忆字母表功能
2025.10.08 加快了TTS的生成速度将IPA生成设置为可选项
2025.10.07 新增文本朗读器优化了视频播放器UI
2025.10.06 更新了主页面UI移除IPA生成与文本朗读功能新增全语言翻译器
2025.10.05 新增IPA生成与文本朗读功能
2025.09.25 优化了主界面UI
2025.09.19 更新了单词板,单词不再会重叠

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M240-280v-320h-80v-80h160v400h-80Zm174 0 126-212-114-188h94l66 110 68-110h92L634-492l126 212h-94l-80-134-80 134h-92Z"/></svg>

After

Width:  |  Height:  |  Size: 241 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M360-360v-240h80v240h-80Zm160 0v-240h80v240h-80ZM480-40q-108 0-202.5-49.5T120-228v108H40v-240h240v80h-98q51 75 129.5 117.5T480-120q115 0 208.5-66T820-361l78 18q-45 136-160 219.5T480-40ZM42-520q7-67 32-128.5T143-762l57 57q-32 41-52 87.5T123-520H42Zm214-241-57-57q53-44 114-69.5T440-918v80q-51 5-97 25t-87 52Zm449 0q-41-32-87.5-52T520-838v-80q67 6 128.5 31T762-818l-57 57Zm133 241q-5-51-25-97.5T761-705l57-57q44 52 69 113.5T918-520h-80Z"/></svg>

After

Width:  |  Height:  |  Size: 559 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M380-300v-360l280 180-280 180ZM480-40q-108 0-202.5-49.5T120-228v108H40v-240h240v80h-98q51 75 129.5 117.5T480-120q115 0 208.5-66T820-361l78 18q-45 136-160 219.5T480-40ZM42-520q7-67 32-128.5T143-762l57 57q-32 41-52 87.5T123-520H42Zm214-241-57-57q53-44 114-69.5T440-918v80q-51 5-97 25t-87 52Zm449 0q-41-32-87.5-52T520-838v-80q67 6 128.5 31T762-818l-57 57Zm133 241q-5-51-25-97.5T761-705l57-57q44 52 69 113.5T918-520h-80Z"/></svg>

After

Width:  |  Height:  |  Size: 541 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"/></svg>

After

Width:  |  Height:  |  Size: 222 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M120-220v-80h80v80h-80Zm0-140v-80h80v80h-80Zm0-140v-80h80v80h-80ZM260-80v-80h80v80h-80Zm100-160q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480Zm40 240v-80h80v80h-80Zm-200 0q-33 0-56.5-23.5T120-160h80v80Zm340 0v-80h80q0 33-23.5 56.5T540-80ZM120-640q0-33 23.5-56.5T200-720v80h-80Zm420 80Z"/></svg>

After

Width:  |  Height:  |  Size: 497 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"/></svg>

After

Width:  |  Height:  |  Size: 319 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z"/></svg>

After

Width:  |  Height:  |  Size: 427 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M520-200v-560h240v560H520Zm-320 0v-560h240v560H200Zm400-80h80v-400h-80v400Zm-320 0h80v-400h-80v400Zm0-400v400-400Zm320 0v400-400Z"/></svg>

After

Width:  |  Height:  |  Size: 254 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M320-200v-560l440 280-440 280Zm80-280Zm0 134 210-134-210-134v268Z"/></svg>

After

Width:  |  Height:  |  Size: 190 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M480-160q-134 0-227-93t-93-227q0-134 93-227t227-93q69 0 132 28.5T720-690v-110h80v280H520v-80h168q-32-56-87.5-88T480-720q-100 0-170 70t-70 170q0 100 70 170t170 70q77 0 139-44t87-116h84q-28 106-114 173t-196 67Z"/></svg>

After

Width:  |  Height:  |  Size: 333 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M840-680v480q0 33-23.5 56.5T760-120H200q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h480l160 160Zm-80 34L646-760H200v560h560v-446ZM480-240q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35ZM240-560h360v-160H240v160Zm-40-86v446-560 114Z"/></svg>

After

Width:  |  Height:  |  Size: 388 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M120-280v-80h80v80h-80Zm400 0 120-200-120-200h80l80 133 80-133h80L720-480l120 200h-80l-80-133-80 133h-80Zm-280 0v-80h160v-80H240v-240h240v80H320v80h80q33 0 56.5 23.5T480-440v80q0 33-23.5 56.5T400-280H240Z"/></svg>

After

Width:  |  Height:  |  Size: 329 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="m520-280 120-200-120-200h80l80 133 80-133h80L720-480l120 200h-80l-80-133-80 133h-80Zm-360 0v-80h80v80h-80Zm160 0 80-320H240v-80h170q29 0 49.5 21.5T480-608l-2 18-78 310h-80Z"/></svg>

After

Width:  |  Height:  |  Size: 297 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M240-280v-80h80v80h-80Zm120 0v-160q0-33 23.5-56.5T440-520h60v-80H360v-80h140q33 0 56.5 23.5T580-600v80q0 33-23.5 56.5T500-440h-60v80h140v80H360Zm-240 0v-320H40v-80h160v400h-80Zm500 0 120-200-120-200h80l80 133 80-133h80L820-480l120 200h-80l-80-133-80 133h-80Z"/></svg>

After

Width:  |  Height:  |  Size: 383 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M240-280v-80h80v80h-80Zm-120 0v-320H40v-80h160v400h-80Zm500 0 120-200-120-200h80l80 133 80-133h80L820-480l120 200h-80l-80-133-80 133h-80Zm-260 0v-80h140v-80H360v-240h220v80H440v80h60q33 0 56.5 23.5T580-440v80q0 33-23.5 56.5T500-280H360Z"/></svg>

After

Width:  |  Height:  |  Size: 361 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#1f1f1f"><path d="M418-340q24 24 62 23.5t56-27.5l224-336-336 224q-27 18-28.5 55t22.5 61Zm62-460q59 0 113.5 16.5T696-734l-76 48q-33-17-68.5-25.5T480-720q-133 0-226.5 93.5T160-400q0 42 11.5 83t32.5 77h552q23-38 33.5-79t10.5-85q0-36-8.5-70T766-540l48-76q30 47 47.5 100T880-406q1 57-13 109t-41 99q-11 18-30 28t-40 10H204q-21 0-40-10t-30-28q-26-45-40-95.5T80-400q0-83 31.5-155.5t86-127Q252-737 325-768.5T480-800Zm7 313Z"/></svg>

After

Width:  |  Height:  |  Size: 521 B

1210
public/list_of_voices.json Normal file

File diff suppressed because it is too large Load Diff

1811
public/list_of_voices.txt Normal file

File diff suppressed because it is too large Load Diff