diff --git a/src/routes/song/[slug]/+page.svelte b/src/routes/song/[slug]/+page.svelte index c723641..fc8563d 100644 --- a/src/routes/song/[slug]/+page.svelte +++ b/src/routes/song/[slug]/+page.svelte @@ -24,7 +24,7 @@ let settings = $state(data.user.data?.typingSettings ?? typingSettingsDefault) $effect(() => { saveUserData({ typingSettings: settings }) }) const _preprocessKana = (kana: string) => settings.allKata ? toKatakana(kana) : kana - const preprocessKana = (kana: string, state?: string) => (settings.showRomaji || state === 'wrong') ? `${_preprocessKana(kana)}${toRomaji(kana)}` : _preprocessKana(kana) + const preprocessKana = (kana: string, state?: string) => (settings.showRomaji || (settings.showRomajiOnError && state === 'wrong')) ? `${_preprocessKana(kana)}${toRomaji(kana)}` : _preprocessKana(kana) // Process each line into segments with swi (start word index) and kanji/kana type ProcLrcSeg = { swi: number, kanji?: string, kana: string } @@ -117,6 +117,7 @@ settings.isFuri = !settings.isFuri}>{settings.isFuri ? "隐藏" : "显示"}假名标注 settings.allKata = !settings.allKata}>{settings.allKata ? "恢复平假名" : "全部转换为片假名"} settings.showRomaji = !settings.showRomaji}>{settings.showRomaji ? "隐藏罗马音" : "显示罗马音"} + settings.showRomajiOnError = !settings.showRomajiOnError}>{settings.showRomajiOnError ? "不在错误时显示罗马音" : "错误时显示罗马音"} diff --git a/src/shared/types.ts b/src/shared/types.ts index 0fab0fb..f7ee227 100644 --- a/src/shared/types.ts +++ b/src/shared/types.ts @@ -59,7 +59,8 @@ export interface UserDocument { export const typingSettingsDefault = { isFuri: true, allKata: false, - showRomaji: true + showRomaji: true, + showRomajiOnError: true } export interface UserData {