From 30a4c4900918f2c528c2de8f79c220f6488b40e6 Mon Sep 17 00:00:00 2001 From: zyronon Date: Wed, 8 Nov 2023 18:45:52 +0800 Subject: [PATCH] Add shortcuts and update translations --- Note.md | 2 + src/components/Practice/Options.vue | 2 +- src/components/Practice/Practice.vue | 14 ++++++- .../Practice/PracticeWord/TypingWord.vue | 17 ++++---- src/locales/i18n.json | 38 ++++++++++++++++-- src/locales/i18n.xlsx | Bin 7796 -> 7856 bytes src/types.ts | 10 +++-- 7 files changed, 68 insertions(+), 15 deletions(-) diff --git a/Note.md b/Note.md index a7127dc8..5ecc6a7d 100644 --- a/Note.md +++ b/Note.md @@ -1,3 +1,5 @@ +多语言地址:https://www.yuque.com/zhangyurang/ghwvmn/idhcg59wc2204o5n#Ah4t + 例句:On Jan. 20, former Sen. Barack Obama became the 44th President of the U.S. Millions attended the Inauguration. sentence-tokenizer 可以正常断句,但无法识别例句 diff --git a/src/components/Practice/Options.vue b/src/components/Practice/Options.vue index 05c0d9e5..d9b96201 100644 --- a/src/components/Practice/Options.vue +++ b/src/components/Practice/Options.vue @@ -61,7 +61,7 @@ const settingStore = useSettingStore() icon="ph:star-fill"/> { emitter.on(EventKey.repeat, repeat) emitter.on(ShortcutKey.NextChapter, next) + emitter.on(ShortcutKey.PreviousChapter, prev) emitter.on(ShortcutKey.RepeatChapter, repeat) emitter.on(ShortcutKey.DictationChapter, write) emitter.on(ShortcutKey.ToggleShowTranslate, toggleShowTranslate) @@ -121,6 +132,7 @@ onUnmounted(() => { emitter.off(EventKey.repeat, repeat) emitter.off(ShortcutKey.NextChapter, next) + emitter.off(ShortcutKey.PreviousChapter, prev) emitter.off(ShortcutKey.RepeatChapter, repeat) emitter.off(ShortcutKey.DictationChapter, write) emitter.off(ShortcutKey.ToggleShowTranslate, toggleShowTranslate) diff --git a/src/components/Practice/PracticeWord/TypingWord.vue b/src/components/Practice/PracticeWord/TypingWord.vue index 6ea487cf..9aa268d8 100644 --- a/src/components/Practice/PracticeWord/TypingWord.vue +++ b/src/components/Practice/PracticeWord/TypingWord.vue @@ -145,10 +145,6 @@ function next(isTyping: boolean = true) { } } -function prev() { - data.index-- -} - function onKeyUp(e: KeyboardEvent) { typingRef.hideWord() } @@ -174,6 +170,11 @@ async function onKeyDown(e: KeyboardEvent) { useOnKeyboardEventListener(onKeyDown, onKeyUp) +//TODO 略过忽略的单词上 +function prev() { + data.index-- +} + function skip(e: KeyboardEvent) { next(false) // e.preventDefault() @@ -203,7 +204,8 @@ function play() { onMounted(() => { emitter.on(ShortcutKey.ShowWord, show) - emitter.on(ShortcutKey.Skip, skip) + emitter.on(ShortcutKey.Previous, prev) + emitter.on(ShortcutKey.Next, skip) emitter.on(ShortcutKey.ToggleCollect, collect) emitter.on(ShortcutKey.ToggleSimple, toggleWordSimpleWrapper) emitter.on(ShortcutKey.PlayWordPronunciation, play) @@ -211,7 +213,8 @@ onMounted(() => { onUnmounted(() => { emitter.off(ShortcutKey.ShowWord, show) - emitter.off(ShortcutKey.Skip, skip) + emitter.off(ShortcutKey.Previous, prev) + emitter.off(ShortcutKey.Next, skip) emitter.off(ShortcutKey.ToggleCollect, collect) emitter.off(ShortcutKey.ToggleSimple, toggleWordSimpleWrapper) emitter.off(ShortcutKey.PlayWordPronunciation, play) @@ -232,7 +235,7 @@ onUnmounted(() => { @click="next(false)" v-if="nextWord">
{{ nextWord.name }}
diff --git a/src/locales/i18n.json b/src/locales/i18n.json index 4e2fe257..7381712c 100644 --- a/src/locales/i18n.json +++ b/src/locales/i18n.json @@ -31,9 +31,25 @@ "de": "", "fr": "" }, - "Skip": { + "Next": { "en": "", - "zh": "跳过", + "zh": "下一个", + "id": "", + "tw": "", + "th": "", + "ru": "", + "vi": "", + "es": "", + "pt": "", + "ja": "", + "uk": "", + "ko": "", + "de": "", + "fr": "" + }, + "Previous": { + "en": "", + "zh": "上一个", "id": "", "tw": "", "th": "", @@ -95,6 +111,22 @@ "de": "", "fr": "" }, + "PreviousChapter": { + "en": "", + "zh": "上一章", + "id": "", + "tw": "", + "th": "", + "ru": "", + "vi": "", + "es": "", + "pt": "", + "ja": "", + "uk": "", + "ko": "", + "de": "", + "fr": "" + }, "RepeatChapter": { "en": "", "zh": "重复本章", @@ -127,7 +159,7 @@ "de": "", "fr": "" }, - "PlaySound": { + "PlayWordPronunciation": { "en": "", "zh": "播放发音", "id": "", diff --git a/src/locales/i18n.xlsx b/src/locales/i18n.xlsx index f19c420a3aab100fa733d15a88d6c166786806a7..8178d24a9df92cee648f6618b4745d33b4122b1b 100644 GIT binary patch delta 2502 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