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:
@@ -53,7 +53,30 @@
|
||||
"totalCards": "جەمئىي كارتا",
|
||||
"createdAt": "قۇرۇلغان ۋاقتى",
|
||||
"actions": "مەشغۇلاتلار",
|
||||
"view": "كۆرۈش"
|
||||
"view": "كۆرۈش",
|
||||
"subtitle": "دېكلەرنى باشقۇرۇڭ",
|
||||
"newDeck": "يېڭى دېك",
|
||||
"noDecksYet": "دېك يوق",
|
||||
"loading": "يۈكلىنىۋاتىدۇ...",
|
||||
"deckInfo": "ID: {id} · {totalCards} كارتا",
|
||||
"enterDeckName": "دېك ئاتى:",
|
||||
"enterNewName": "يېڭى ئات:",
|
||||
"confirmDelete": "ئۆچۈرۈش: \"{name}\"",
|
||||
"public": "ئاممىۋىي",
|
||||
"private": "شەخسىي",
|
||||
"setPublic": "ئاممىۋىي قىلىش",
|
||||
"setPrivate": "شەخسىي قىلىش",
|
||||
"importApkg": "APKG ئەكىرىش",
|
||||
"exportApkg": "APKG چىقىرىش",
|
||||
"clickToUpload": "چېكىپ يۈكلەش",
|
||||
"apkgFilesOnly": ".apkg ھۆججىتىلا",
|
||||
"parsing": "تەھلىل قىلىنىۋاتىدۇ...",
|
||||
"foundDecks": "{count} دېك تېپىلدى",
|
||||
"back": "قايتىش",
|
||||
"import": "ئەكىرىش",
|
||||
"importing": "ئەكىرىلىۋاتىدۇ...",
|
||||
"exportSuccess": "چىقىرىش مۇۋەپپەقىيەتلىك",
|
||||
"goToDecks": "دېكلەرگە بېرىش"
|
||||
},
|
||||
"folder_id": {
|
||||
"unauthorized": "بۇ قىسقۇچنىڭ ئىگىسى ئەمەسسىز",
|
||||
@@ -106,29 +129,48 @@
|
||||
"edit": "تەھرىرلەش",
|
||||
"delete": "ئۆچۈرۈش",
|
||||
"permissionDenied": "بۇ مەشغۇلاتنى ئېلىپ بېرىش ھوقۇقىڭىز يوق",
|
||||
"resetProgress": "قايتا تەڭشەش",
|
||||
"resetProgressTitle": "دېك ئىلگىرىلەش قايتا تەڭشەش",
|
||||
"resetProgressConfirm": "بۇ دېكتىكى بارلىق كارتىلار يېڭى ھالەتكە قايتا تەڭشىلىدۇ. ئۆگىنىش ئىلگىرىلەشلىرىڭىز يوقىلىدۇ. داۋاملاشتۇرامسىز؟",
|
||||
"resetSuccess": "{count} كارتا مۇۋەپپەقىيەتلىك قايتا تەڭشەلدى",
|
||||
"resetting": "قايتا تەڭشەۋاتىدۇ...",
|
||||
"resetProgress": "ئىلگىرىلەشنى ئەسلىگە قايتۇرۇش",
|
||||
"resetProgressTitle": "ئۆگىنىش ئىلگىرىلەشىنى ئەسلىگە قايتۇرۇش",
|
||||
"resetProgressConfirm": "ئىلگىرىلەشنى ئەسلىگە قايتۇرامسىز؟",
|
||||
"resetSuccess": "ئەسلىگە قايتۇرۇلدى",
|
||||
"resetting": "ئەسلىگە قايتۇرۇۋاتىدۇ...",
|
||||
"cancel": "بىكار قىلىش",
|
||||
"settings": "تەڭشەكلەر",
|
||||
"settingsTitle": "دېك تەڭشەكلىرى",
|
||||
"newPerDay": "كۈندىلىك يېڭى كارتا سانى",
|
||||
"newPerDayHint": "ھەر كۈنى ئۆگىنىدىغان ئەڭ كۆپ يېڭى كارتا سانى",
|
||||
"revPerDay": "كۈندىلىك تەكرار سانى",
|
||||
"revPerDayHint": "ھەر كۈنى تەكرارلايدىغان ئەڭ كۆپ كارتا سانى",
|
||||
"newPerDay": "كۈندىلىك يېڭى",
|
||||
"newPerDayHint": "كۈندە يېڭى كارتا سانى",
|
||||
"revPerDay": "كۈندىلىك تەكرار",
|
||||
"revPerDayHint": "كۈندە تەكرار سانى",
|
||||
"save": "ساقلاش",
|
||||
"saving": "ساقلىنىۋاتىدۇ...",
|
||||
"saving": "ساقلاۋاتىدۇ...",
|
||||
"settingsSaved": "تەڭشەكلەر ساقلاندى",
|
||||
"todayNew": "يېڭى",
|
||||
"todayReview": "تەكرار",
|
||||
"todayNew": "بۈگۈنكى يېڭى",
|
||||
"todayReview": "بۈگۈنكى تەكرار",
|
||||
"todayLearning": "ئۆگىنىۋاتىدۇ",
|
||||
"error": {
|
||||
"update": "بۇ كارتىنى يېڭىلاش ھوقۇقىڭىز يوق.",
|
||||
"delete": "بۇ كارتىنى ئۆچۈرۈش ھوقۇقىڭىز يوق.",
|
||||
"add": "بۇ دېككە كارتا قوشۇش ھوقۇقىڭىز يوق."
|
||||
}
|
||||
"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": "تىل ئۆگىنىش",
|
||||
@@ -234,56 +276,57 @@
|
||||
},
|
||||
"memorize": {
|
||||
"deck_selector": {
|
||||
"selectDeck": "بىر دېك تاللاڭ",
|
||||
"noDecks": "دېك تېپىلمىدى",
|
||||
"goToDecks": "دېكلارغا بېرىڭ",
|
||||
"selectDeck": "دېك تاللاش",
|
||||
"noDecks": "دېك يوق",
|
||||
"goToDecks": "دېكلەرگە بار",
|
||||
"noCards": "كارتا يوق",
|
||||
"new": "يېڭى",
|
||||
"learning": "ئۆگىنىۋاتىدۇ",
|
||||
"learning": "ئۆگىنىش",
|
||||
"review": "تەكرار",
|
||||
"due": "ۋاقتى كەلدى"
|
||||
},
|
||||
"review": {
|
||||
"loading": "يۈكلىنىۋاتىدۇ...",
|
||||
"backToDecks": "دېكلارغا قايتىڭ",
|
||||
"allDone": "تامام!",
|
||||
"allDoneDesc": "بارلىق تەكرارلاش كارتلىرى تاماملاندى.",
|
||||
"backToDecks": "دېكلەرگە قايتىش",
|
||||
"allDone": "ھەممىسى تامام!",
|
||||
"allDoneDesc": "بۈگۈنكى ئۆگىنىش تامام!",
|
||||
"reviewedCount": "{count} كارتا تەكرارلاندى",
|
||||
"progress": "{current} / {total}",
|
||||
"nextReview": "كېيىنكى تەكرار",
|
||||
"interval": "ئارىلىق",
|
||||
"ease": "ئاسانلىق",
|
||||
"lapses": "ئۇنتۇش سانى",
|
||||
"ease": "قىيىنلىق",
|
||||
"lapses": "خاتالىق",
|
||||
"showAnswer": "جاۋابنى كۆرسەت",
|
||||
"again": "يەنە",
|
||||
"hard": "قىيىن",
|
||||
"good": "ياخشى",
|
||||
"easy": "ئاسان",
|
||||
"now": "ھازىر",
|
||||
"lessThanMinute": "<1 مىنۇت",
|
||||
"inMinutes": "{count} مىنۇت",
|
||||
"inHours": "{count} سائەت",
|
||||
"inDays": "{count} كۈن",
|
||||
"inMonths": "{count} ئاي",
|
||||
"minutes": "<1 مىنۇت",
|
||||
"days": "{count} كۈن",
|
||||
"months": "{count} ئاي",
|
||||
"minAbbr": "م",
|
||||
"dayAbbr": "ك",
|
||||
"lessThanMinute": "1 مىنۇتتىن ئاز",
|
||||
"inMinutes": "{n} مىنۇتتىن كېيىن",
|
||||
"inHours": "{n} سائەتتىن كېيىن",
|
||||
"inDays": "{n} كۈندىن كېيىن",
|
||||
"inMonths": "{n} ئايدىن كېيىن",
|
||||
"minutes": "مىنۇت",
|
||||
"days": "كۈن",
|
||||
"months": "ئاي",
|
||||
"minAbbr": "مىن",
|
||||
"dayAbbr": "كۈن",
|
||||
"cardTypeNew": "يېڭى",
|
||||
"cardTypeLearning": "ئۆگىنىۋاتىدۇ",
|
||||
"cardTypeReview": "تەكرارلاش",
|
||||
"cardTypeLearning": "ئۆگىنىش",
|
||||
"cardTypeReview": "تەكرار",
|
||||
"cardTypeRelearning": "قايتا ئۆگىنىش",
|
||||
"reverse": "ئەكسى",
|
||||
"dictation": "ئاڭلاپ يېزىش",
|
||||
"reverse": "ئەكسىچە",
|
||||
"dictation": "ئىملا",
|
||||
"clickToPlay": "چېكىپ قويۇش",
|
||||
"yourAnswer": "سىزنىڭ جاۋابىڭىز",
|
||||
"typeWhatYouHear": "ئاڭلىغىنىڭىزنى كىرگۈزۈڭ",
|
||||
"correct": "توغرا",
|
||||
"incorrect": "خاتا"
|
||||
"yourAnswer": "جاۋابىڭىز",
|
||||
"typeWhatYouHear": "ئاڭلىغىنىڭىزنى يېزىڭ",
|
||||
"correct": "توغرا!",
|
||||
"incorrect": "خاتا",
|
||||
"nextCard": "كېيىنكى"
|
||||
},
|
||||
"page": {
|
||||
"unauthorized": "بۇ دېكنى زىيارەت قىلىش ھوقۇقىڭىز يوق"
|
||||
"unauthorized": "ھوقۇقسىز"
|
||||
}
|
||||
},
|
||||
"navbar": {
|
||||
@@ -297,33 +340,49 @@
|
||||
"settings": "تەڭشەكلەر"
|
||||
},
|
||||
"ocr": {
|
||||
"title": "OCR سۆز ئاستىرىش",
|
||||
"description": "دەرىسلىك كىتابىدىكى سۆز جەدۋىلى سۈرەتلىرىنى يۈكلەپ سۆز-مەنا جۈپلىرىنى ئاستىرىڭ",
|
||||
"uploadImage": "سۈرەت يۈكلەش",
|
||||
"dragDropHint": "سۈرەتنى بۇ يەرگە سۆرەڭ ياكى چېكىپ تاللاڭ",
|
||||
"supportedFormats": "قوللايدىغان فورماتلار: JPG، PNG، WebP",
|
||||
"title": "OCR تونۇش",
|
||||
"description": "رەسىمدىن تېكىست ئېلىش",
|
||||
"uploadImage": "رەسىم يۈكلەش",
|
||||
"dragDropHint": "سۆرەپ تاشلاش",
|
||||
"supportedFormats": "قوللايدىغان فورمات: JPG, PNG, WEBP",
|
||||
"selectDeck": "دېك تاللاش",
|
||||
"chooseDeck": "ئاستىرىلغان جۈپلەرنى ساقلاش ئۈچۈن دېك تاللاڭ",
|
||||
"noDecks": "دېك يوق. ئاۋۋال دېك قۇرۇڭ.",
|
||||
"languageHints": "تىل ئۇچۇرلىرى (ئىختىيارىي)",
|
||||
"sourceLanguageHint": "مەنبە تىلى (مىسال: ئىنگىلىزچە)",
|
||||
"targetLanguageHint": "نىشان/تەرجىمە تىلى (مىسال: خەنزۇچە)",
|
||||
"process": "سۈرەتنى بىر تەرەپ قىلىش",
|
||||
"processing": "بىر تەرەپ قىلىۋاتىدۇ...",
|
||||
"chooseDeck": "دېك تاللاڭ",
|
||||
"noDecks": "دېك يوق",
|
||||
"languageHints": "تىل بېشارىتى",
|
||||
"sourceLanguageHint": "مەنبە تىلى",
|
||||
"targetLanguageHint": "نىشان تىلى",
|
||||
"process": "بىر تەرەپ قىلىش",
|
||||
"processing": "بىر تەرەپ قىلىنىۋاتىدۇ...",
|
||||
"preview": "ئالدىن كۆرۈش",
|
||||
"extractedPairs": "ئاستىرىلغان جۈپلەر",
|
||||
"extractedPairs": "ئېلىنغان جۈپلەر",
|
||||
"word": "سۆز",
|
||||
"definition": "مەنا",
|
||||
"pairsCount": "{count} جۈپ ئاستىرىلدى",
|
||||
"savePairs": "دېككە ساقلاش",
|
||||
"definition": "ئېنىقلىما",
|
||||
"pairsCount": "{count} جۈپ",
|
||||
"savePairs": "ساقلاش",
|
||||
"saving": "ساقلاۋاتىدۇ...",
|
||||
"saved": "{deck} غا {count} جۈپ ساقلاندى",
|
||||
"saved": "ساقلاندى",
|
||||
"saveFailed": "ساقلاش مەغلۇپ بولدى",
|
||||
"noImage": "ئاۋۋال سۈرەت يۈكلەڭ",
|
||||
"noImage": "رەسىم يۈكلەڭ",
|
||||
"noDeck": "دېك تاللاڭ",
|
||||
"processingFailed": "OCR بىر تەرەپ قىلىش مەغلۇپ بولدى",
|
||||
"tryAgain": "تېخىمۇ ئېنىق سۈرەت بىلەن قايتا سىناڭ",
|
||||
"detectedLanguages": "بايقالدى: {source} → {target}"
|
||||
"processingFailed": "بىر تەرەپ قىلىش مەغلۇپ بولدى",
|
||||
"tryAgain": "قايتا سىناڭ",
|
||||
"detectedLanguages": "تونۇلغان تىللار",
|
||||
"uploadSection": "رەسىم يۈكلەش",
|
||||
"dropOrClick": "تاشلاش ياكى چېكىش",
|
||||
"changeImage": "رەسىم ئالماشتۇرۇش",
|
||||
"invalidFileType": "ئىناۋەتسىز فايىل تىپى",
|
||||
"deckSelection": "دېك تاللاش",
|
||||
"sourceLanguagePlaceholder": "مەسىلەن: ئىنگلىزچە",
|
||||
"targetLanguagePlaceholder": "مەسىلەن: ئۇيغۇرچە",
|
||||
"processButton": "تونۇشنى باشلاش",
|
||||
"resultsPreview": "نەتىجە ئالدىن كۆرۈش",
|
||||
"saveButton": "دېككە ساقلاش",
|
||||
"ocrSuccess": "OCR مۇۋەپپەقىيەتلىك",
|
||||
"ocrFailed": "OCR مەغلۇپ بولدى",
|
||||
"savedToDeck": "دېككە ساقلاندى",
|
||||
"noResultsToSave": "نەتىجە يوق",
|
||||
"detectedSourceLanguage": "تونۇلغان مەنبە تىلى",
|
||||
"detectedTargetLanguage": "تونۇلغان نىشان تىلى"
|
||||
},
|
||||
"profile": {
|
||||
"myProfile": "شەخسىي ئۇچۇرۇم",
|
||||
@@ -364,12 +423,43 @@
|
||||
"videoUploadFailed": "ۋىدېئو يۈكلەش مەغلۇپ بولدى",
|
||||
"subtitleUploadFailed": "تر پودكاست يۈكلەش مەغلۇپ بولدى",
|
||||
"subtitleLoadSuccess": "تر پودكاست مۇۋەپپەقىيەتلىك يۈكلەندى",
|
||||
"subtitleLoadFailed": "تر پودكاست يۈكلەش مەغلۇپ بولدى"
|
||||
"subtitleLoadFailed": "تر پودكاست يۈكلەش مەغلۇپ بولدى",
|
||||
"settings": "تەڭشەكلەر",
|
||||
"shortcuts": "تېزلەتمەلەر",
|
||||
"keyboardShortcuts": "كۇنۇپكا تاختىسى تېزلەتمەلىرى",
|
||||
"playPause": "قويۇش/توختىتىش",
|
||||
"autoPauseToggle": "ئاپتوماتىك توختىتىش",
|
||||
"subtitleSettings": "ئاستى سىزىق تەڭشەكلىرى",
|
||||
"fontSize": "خەت چوڭلۇقى",
|
||||
"textColor": "خەت رەڭگى",
|
||||
"backgroundColor": "تەگلىك رەڭگى",
|
||||
"position": "ئورنى",
|
||||
"opacity": "سۈزۈكلۈك",
|
||||
"top": "ئۈستى",
|
||||
"center": "ئوتتۇرا",
|
||||
"bottom": "ئاستى"
|
||||
},
|
||||
"text_speaker": {
|
||||
"generateIPA": "IPA ھاسىل قىلىش",
|
||||
"viewSavedItems": "ساقلانغان تۈرلەرنى كۆرۈش",
|
||||
"confirmDeleteAll": "ھەممىنى ئۆچۈرەمسىز؟ (Y/N)"
|
||||
"confirmDeleteAll": "ھەممىنى ئۆچۈرەمسىز؟ (Y/N)",
|
||||
"saved": "ساقلاندى",
|
||||
"clearAll": "ھەممىنى تازىلاش",
|
||||
"language": "تىل",
|
||||
"customLanguage": "ياكى تىل كىرگۈزۈڭ...",
|
||||
"languages": {
|
||||
"auto": "ئاپتوماتىك",
|
||||
"chinese": "خەنزۇچە",
|
||||
"english": "ئىنگلىزچە",
|
||||
"japanese": "ياپونچە",
|
||||
"korean": "كورېيەچە",
|
||||
"french": "فرانسۇزچە",
|
||||
"german": "گېرمانچە",
|
||||
"italian": "ئىتاليانچە",
|
||||
"spanish": "ئىسپانچە",
|
||||
"portuguese": "پورتۇگالچە",
|
||||
"russian": "رۇسچە"
|
||||
}
|
||||
},
|
||||
"translator": {
|
||||
"detectLanguage": "تىلنى تونۇش",
|
||||
@@ -403,7 +493,19 @@
|
||||
"error": "تېكىست جۈپىنى قىسقۇچقا قوشۇش مەغلۇپ بولدى"
|
||||
},
|
||||
"autoSave": "ئاپتوماتىك ساقلاش",
|
||||
"customLanguage": "ياكى تىل تىل كىرۇڭ..."
|
||||
"customLanguage": "ياكى تىل تىل كىرۇڭ...",
|
||||
"pleaseLogin": "كارتا ساقلاش ئۈچۈن كىرىڭ",
|
||||
"pleaseCreateDeck": "ئاۋۋال دېك قۇرۇڭ",
|
||||
"noTranslationToSave": "ساقلايدىغان تەرجىمە يوق",
|
||||
"noDeckSelected": "دېك تاللانمىدى",
|
||||
"saveAsCard": "كارتا ساقلاش",
|
||||
"selectDeck": "دېك تاللاش",
|
||||
"front": "ئالدى",
|
||||
"back": "كەينى",
|
||||
"cancel": "بىكار قىلىش",
|
||||
"save": "ساقلاش",
|
||||
"savedToDeck": "{deckName} غا ساقلاندى",
|
||||
"saveFailed": "ساقلاش مەغلۇپ"
|
||||
},
|
||||
"dictionary": {
|
||||
"title": "لۇغەت",
|
||||
@@ -448,7 +550,9 @@
|
||||
"unfavorite": "يىغىپ ساقلاشنى بىكار قىل",
|
||||
"pleaseLogin": "ئاۋۋال تىزىمغا كىرىڭ",
|
||||
"sortByFavorites": "يىغىپ ساقلاش بويىچە تەرتىپلەش",
|
||||
"sortByFavoritesActive": "يىغىپ ساقلاش بويىچە تەرتىپلەشنى بىكار قىلىش"
|
||||
"sortByFavoritesActive": "يىغىپ ساقلاش بويىچە تەرتىپلەشنى بىكار قىلىش",
|
||||
"noDecks": "ئاممىۋىي دېك يوق",
|
||||
"deckInfo": "{userName} · {totalCards} كارتا"
|
||||
},
|
||||
"exploreDetail": {
|
||||
"title": "قىسقۇچ تەپسىلاتلىرى",
|
||||
@@ -462,7 +566,8 @@
|
||||
"unfavorite": "يىغىپ ساقلاشنى بىكار قىل",
|
||||
"favorited": "يىغىپ ساقلاندى",
|
||||
"unfavorited": "يىغىپ ساقلاش بىكار قىلىندى",
|
||||
"pleaseLogin": "ئاۋۋال تىزىمغا كىرىڭ"
|
||||
"pleaseLogin": "ئاۋۋال تىزىمغا كىرىڭ",
|
||||
"totalCards": "{count} كارتا"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "يىغىپ ساقلىغانلىرىم",
|
||||
@@ -507,7 +612,8 @@
|
||||
"createdAt": "قۇرۇلغان ۋاقتى",
|
||||
"actions": "مەشغۇلاتلار",
|
||||
"view": "كۆرۈش"
|
||||
}
|
||||
},
|
||||
"joined": "قوشۇلدى"
|
||||
},
|
||||
"follow": {
|
||||
"follow": "ئەگىشىش",
|
||||
|
||||
Reference in New Issue
Block a user