refactor: remove Anki import/export and simplify card system
- Remove Anki apkg import/export functionality - Remove OCR feature module - Remove note and note-type modules - Simplify card/deck modules (remove spaced repetition complexity) - Update translator and dictionary features - Clean up unused translations and update i18n files - Simplify prisma schema
This commit is contained in:
@@ -98,28 +98,47 @@
|
||||
"delete": "删除",
|
||||
"permissionDenied": "您没有权限执行此操作",
|
||||
"resetProgress": "重置进度",
|
||||
"resetProgressTitle": "重置牌组进度",
|
||||
"resetProgressConfirm": "这将把牌组内所有卡片重置为新卡片状态。您的学习进度将会丢失。确定要继续吗?",
|
||||
"resetSuccess": "成功重置 {count} 张卡片",
|
||||
"resetProgressTitle": "重置学习进度",
|
||||
"resetProgressConfirm": "确定要重置这个卡组的学习进度吗?",
|
||||
"resetSuccess": "进度已重置",
|
||||
"resetting": "重置中...",
|
||||
"cancel": "取消",
|
||||
"settings": "设置",
|
||||
"settingsTitle": "牌组设置",
|
||||
"newPerDay": "每日新卡数量",
|
||||
"newPerDayHint": "每天最多学习的新卡片数量",
|
||||
"revPerDay": "每日复习数量",
|
||||
"revPerDayHint": "每天最多复习的卡片数量",
|
||||
"settingsTitle": "卡组设置",
|
||||
"newPerDay": "每日新卡",
|
||||
"newPerDayHint": "每天学习的新卡片数量",
|
||||
"revPerDay": "每日复习",
|
||||
"revPerDayHint": "每天复习的卡片数量",
|
||||
"save": "保存",
|
||||
"saving": "保存中...",
|
||||
"settingsSaved": "设置已保存",
|
||||
"todayNew": "新卡",
|
||||
"todayReview": "复习",
|
||||
"todayNew": "今日新卡",
|
||||
"todayReview": "今日复习",
|
||||
"todayLearning": "学习中",
|
||||
"error": {
|
||||
"update": "您没有权限更新此卡片",
|
||||
"delete": "您没有权限删除此卡片",
|
||||
"add": "您没有权限向此牌组添加卡片"
|
||||
}
|
||||
},
|
||||
"ipaPlaceholder": "输入IPA音标",
|
||||
"examplePlaceholder": "输入例句",
|
||||
"wordRequired": "请输入单词",
|
||||
"definitionRequired": "请输入至少一个释义",
|
||||
"cardAdded": "卡片已添加",
|
||||
"cardType": "卡片类型",
|
||||
"wordCard": "单词卡",
|
||||
"phraseCard": "短语卡",
|
||||
"sentenceCard": "句子卡",
|
||||
"sentence": "句子",
|
||||
"sentencePlaceholder": "输入句子",
|
||||
"wordPlaceholder": "输入单词",
|
||||
"queryLang": "查询语言",
|
||||
"meanings": "释义",
|
||||
"addMeaning": "添加释义",
|
||||
"partOfSpeech": "词性",
|
||||
"deleteConfirm": "确定删除这张卡片吗?",
|
||||
"cardDeleted": "卡片已删除",
|
||||
"cardUpdated": "卡片已更新"
|
||||
},
|
||||
"home": {
|
||||
"title": "学语言",
|
||||
@@ -271,7 +290,8 @@
|
||||
"yourAnswer": "你的答案",
|
||||
"typeWhatYouHear": "输入你听到的内容",
|
||||
"correct": "正确",
|
||||
"incorrect": "错误"
|
||||
"incorrect": "错误",
|
||||
"nextCard": "下一张"
|
||||
},
|
||||
"page": {
|
||||
"unauthorized": "您无权访问该牌组"
|
||||
@@ -288,48 +308,49 @@
|
||||
"settings": "设置"
|
||||
},
|
||||
"ocr": {
|
||||
"title": "OCR 词汇提取",
|
||||
"description": "上传教材词汇表截图,提取单词-释义对",
|
||||
"title": "OCR文字识别",
|
||||
"description": "从图片中提取文字创建学习卡片",
|
||||
"uploadSection": "上传图片",
|
||||
"uploadImage": "上传图片",
|
||||
"dragDropHint": "拖放图片到此处,或点击选择",
|
||||
"dropOrClick": "拖放图片到此处,或点击选择",
|
||||
"changeImage": "点击更换图片",
|
||||
"supportedFormats": "支持格式:JPG、PNG、WebP",
|
||||
"invalidFileType": "无效的文件类型,请上传图片文件(JPG、PNG 或 WebP)",
|
||||
"deckSelection": "选择牌组",
|
||||
"selectDeck": "选择牌组",
|
||||
"chooseDeck": "选择保存提取词汇的牌组",
|
||||
"noDecks": "暂无牌组,请先创建牌组",
|
||||
"languageHints": "语言提示(可选)",
|
||||
"sourceLanguageHint": "源语言(如:英语)",
|
||||
"targetLanguageHint": "目标/翻译语言(如:中文)",
|
||||
"sourceLanguagePlaceholder": "源语言(如:英语)",
|
||||
"targetLanguagePlaceholder": "目标/翻译语言(如:中文)",
|
||||
"process": "处理图片",
|
||||
"processButton": "处理图片",
|
||||
"dragDropHint": "拖放或点击上传",
|
||||
"dropOrClick": "拖放或点击",
|
||||
"changeImage": "更换图片",
|
||||
"supportedFormats": "支持格式:JPG, PNG, WEBP",
|
||||
"invalidFileType": "无效的文件类型",
|
||||
"deckSelection": "选择卡组",
|
||||
"selectDeck": "选择卡组",
|
||||
"chooseDeck": "选择卡组保存",
|
||||
"noDecks": "没有可用的卡组",
|
||||
"languageHints": "语言提示",
|
||||
"sourceLanguageHint": "源语言提示",
|
||||
"targetLanguageHint": "目标语言提示",
|
||||
"sourceLanguagePlaceholder": "如:英语",
|
||||
"targetLanguagePlaceholder": "如:中文",
|
||||
"process": "处理",
|
||||
"processButton": "开始识别",
|
||||
"processing": "处理中...",
|
||||
"preview": "预览",
|
||||
"resultsPreview": "结果预览",
|
||||
"extractedPairs": "已提取 {count} 个词汇对",
|
||||
"extractedPairs": "提取的语言对",
|
||||
"word": "单词",
|
||||
"definition": "释义",
|
||||
"pairsCount": "{count} 个词汇对",
|
||||
"savePairs": "保存到牌组",
|
||||
"saveButton": "保存",
|
||||
"pairsCount": "{count}对",
|
||||
"savePairs": "保存",
|
||||
"saveButton": "保存到卡组",
|
||||
"saving": "保存中...",
|
||||
"saved": "成功将 {count} 个词汇对保存到 {deck}",
|
||||
"ocrSuccess": "成功将 {count} 个词汇对保存到 {deck}",
|
||||
"savedToDeck": "已保存到 {deckName}",
|
||||
"saved": "已保存",
|
||||
"ocrSuccess": "OCR识别成功",
|
||||
"savedToDeck": "已保存到卡组",
|
||||
"saveFailed": "保存失败",
|
||||
"noImage": "请先上传图片",
|
||||
"noDeck": "请选择牌组",
|
||||
"noResultsToSave": "没有可保存的结果",
|
||||
"processingFailed": "OCR 处理失败",
|
||||
"tryAgain": "请尝试上传更清晰的图片",
|
||||
"detectedLanguages": "检测到:{source} → {target}",
|
||||
"noImage": "请上传图片",
|
||||
"noDeck": "请选择卡组",
|
||||
"noResultsToSave": "无结果可保存",
|
||||
"processingFailed": "处理失败",
|
||||
"tryAgain": "重试",
|
||||
"detectedLanguages": "检测到的语言",
|
||||
"detectedSourceLanguage": "检测到的源语言",
|
||||
"detectedTargetLanguage": "检测到的目标语言"
|
||||
"detectedTargetLanguage": "检测到的目标语言",
|
||||
"ocrFailed": "OCR识别失败"
|
||||
},
|
||||
"profile": {
|
||||
"myProfile": "我的个人资料",
|
||||
@@ -375,13 +396,13 @@
|
||||
"shortcuts": "快捷键",
|
||||
"keyboardShortcuts": "键盘快捷键",
|
||||
"playPause": "播放/暂停",
|
||||
"autoPauseToggle": "切换自动暂停",
|
||||
"autoPauseToggle": "自动暂停开关",
|
||||
"subtitleSettings": "字幕设置",
|
||||
"fontSize": "字体大小",
|
||||
"textColor": "文字颜色",
|
||||
"backgroundColor": "背景颜色",
|
||||
"position": "位置",
|
||||
"opacity": "不透明度",
|
||||
"opacity": "透明度",
|
||||
"top": "顶部",
|
||||
"center": "居中",
|
||||
"bottom": "底部"
|
||||
@@ -391,7 +412,22 @@
|
||||
"viewSavedItems": "查看保存项",
|
||||
"confirmDeleteAll": "确定删光吗?(Y/N)",
|
||||
"saved": "已保存",
|
||||
"clearAll": "清空全部"
|
||||
"clearAll": "清空全部",
|
||||
"language": "语言",
|
||||
"customLanguage": "或输入语言...",
|
||||
"languages": {
|
||||
"auto": "自动",
|
||||
"chinese": "中文",
|
||||
"english": "英语",
|
||||
"japanese": "日语",
|
||||
"korean": "韩语",
|
||||
"french": "法语",
|
||||
"german": "德语",
|
||||
"italian": "意大利语",
|
||||
"spanish": "西班牙语",
|
||||
"portuguese": "葡萄牙语",
|
||||
"russian": "俄语"
|
||||
}
|
||||
},
|
||||
"translator": {
|
||||
"detectLanguage": "检测语言",
|
||||
@@ -425,7 +461,19 @@
|
||||
"error": "添加文本对到文件夹失败"
|
||||
},
|
||||
"autoSave": "自动保存",
|
||||
"customLanguage": "或输入语言..."
|
||||
"customLanguage": "或输入语言...",
|
||||
"pleaseLogin": "请登录后保存卡片",
|
||||
"pleaseCreateDeck": "请先创建卡组",
|
||||
"noTranslationToSave": "没有可保存的翻译",
|
||||
"noDeckSelected": "未选择卡组",
|
||||
"saveAsCard": "保存为卡片",
|
||||
"selectDeck": "选择卡组",
|
||||
"front": "正面",
|
||||
"back": "背面",
|
||||
"cancel": "取消",
|
||||
"save": "保存",
|
||||
"savedToDeck": "已保存到 {deckName}",
|
||||
"saveFailed": "保存失败"
|
||||
},
|
||||
"dictionary": {
|
||||
"title": "词典",
|
||||
@@ -463,8 +511,8 @@
|
||||
"subtitle": "发现公开牌组",
|
||||
"searchPlaceholder": "搜索公开牌组...",
|
||||
"loading": "加载中...",
|
||||
"noDecks": "没有找到公开牌组",
|
||||
"deckInfo": "{userName} • {cardCount} 张卡片",
|
||||
"noDecks": "暂无公开卡组",
|
||||
"deckInfo": "{userName} · {totalCards} 张",
|
||||
"unknownUser": "未知用户",
|
||||
"favorite": "收藏",
|
||||
"unfavorite": "取消收藏",
|
||||
@@ -476,7 +524,7 @@
|
||||
"title": "牌组详情",
|
||||
"createdBy": "创建者:{name}",
|
||||
"unknownUser": "未知用户",
|
||||
"totalCards": "卡片数量",
|
||||
"totalCards": "共 {count} 张",
|
||||
"favorites": "收藏数",
|
||||
"createdAt": "创建时间",
|
||||
"viewContent": "查看内容",
|
||||
@@ -505,7 +553,7 @@
|
||||
"displayName": "显示名称",
|
||||
"notSet": "未设置",
|
||||
"memberSince": "注册时间",
|
||||
"joined": "加入于",
|
||||
"joined": "注册于",
|
||||
"logout": "登出",
|
||||
"deleteAccount": {
|
||||
"button": "注销账号",
|
||||
@@ -534,30 +582,30 @@
|
||||
},
|
||||
"decks": {
|
||||
"title": "牌组",
|
||||
"subtitle": "管理您的闪卡牌组",
|
||||
"newDeck": "新建牌组",
|
||||
"noDecksYet": "还没有牌组",
|
||||
"subtitle": "管理你的学习卡组",
|
||||
"newDeck": "新建卡组",
|
||||
"noDecksYet": "暂无卡组",
|
||||
"loading": "加载中...",
|
||||
"deckInfo": "ID: {id} • {totalCards} 张卡片",
|
||||
"enterDeckName": "输入牌组名称:",
|
||||
"deckInfo": "ID: {id} · {totalCards} 张",
|
||||
"enterDeckName": "输入卡组名称:",
|
||||
"enterNewName": "输入新名称:",
|
||||
"confirmDelete": "输入 \"{name}\" 以删除:",
|
||||
"confirmDelete": "输入 \"{name}\" 确认删除:",
|
||||
"public": "公开",
|
||||
"private": "私有",
|
||||
"setPublic": "设为公开",
|
||||
"setPrivate": "设为私有",
|
||||
"importApkg": "导入 APKG",
|
||||
"exportApkg": "导出 APKG",
|
||||
"clickToUpload": "点击上传 APKG 文件",
|
||||
"clickToUpload": "点击上传",
|
||||
"apkgFilesOnly": "仅支持 .apkg 文件",
|
||||
"parsing": "解析中...",
|
||||
"foundDecks": "找到 {count} 个牌组",
|
||||
"deckName": "牌组名称",
|
||||
"foundDecks": "发现 {count} 个卡组",
|
||||
"deckName": "卡组名称",
|
||||
"back": "返回",
|
||||
"import": "导入",
|
||||
"importing": "导入中...",
|
||||
"exportSuccess": "牌组导出成功",
|
||||
"goToDecks": "前往牌组"
|
||||
"exportSuccess": "导出成功",
|
||||
"goToDecks": "前往卡组"
|
||||
},
|
||||
"follow": {
|
||||
"follow": "关注",
|
||||
|
||||
Reference in New Issue
Block a user