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": "Totale carte",
|
||||
"createdAt": "Creato il",
|
||||
"actions": "Azioni",
|
||||
"view": "Visualizza"
|
||||
"view": "Visualizza",
|
||||
"subtitle": "Gestisci i tuoi deck",
|
||||
"newDeck": "Nuovo deck",
|
||||
"noDecksYet": "Nessun deck ancora",
|
||||
"loading": "Caricamento...",
|
||||
"deckInfo": "ID: {id} · {totalCards} carte",
|
||||
"enterDeckName": "Nome deck:",
|
||||
"enterNewName": "Nuovo nome:",
|
||||
"confirmDelete": "Digita \"{name}\" per eliminare:",
|
||||
"public": "Pubblico",
|
||||
"private": "Privato",
|
||||
"setPublic": "Rendi pubblico",
|
||||
"setPrivate": "Rendi privato",
|
||||
"importApkg": "Importa APKG",
|
||||
"exportApkg": "Esporta APKG",
|
||||
"clickToUpload": "Clicca per caricare",
|
||||
"apkgFilesOnly": "Solo file .apkg",
|
||||
"parsing": "Analisi...",
|
||||
"foundDecks": "{count} deck trovati",
|
||||
"back": "Indietro",
|
||||
"import": "Importa",
|
||||
"importing": "Importazione...",
|
||||
"exportSuccess": "Esportazione riuscita",
|
||||
"goToDecks": "Vai ai deck"
|
||||
},
|
||||
"folder_id": {
|
||||
"unauthorized": "Non sei il proprietario di questa cartella",
|
||||
@@ -106,29 +129,48 @@
|
||||
"edit": "Modifica",
|
||||
"delete": "Elimina",
|
||||
"permissionDenied": "Non hai il permesso per questa accion",
|
||||
"resetProgress": "Ripristina",
|
||||
"resetProgressTitle": "Ripristina progresso del deck",
|
||||
"resetProgressConfirm": "Questo ripristinerá tutte las tarjetas de este deck al nuevo estado. Su progreso de aprendizaje se perderá Are you seguro?",
|
||||
"resetSuccess": "{count} tarjetas ripristinate exitosamente",
|
||||
"resetting": "Ripristazione en curso...",
|
||||
"resetProgress": "Reimposta progresso",
|
||||
"resetProgressTitle": "Reimposta progresso di apprendimento",
|
||||
"resetProgressConfirm": "Reimpostare il progresso?",
|
||||
"resetSuccess": "Progresso reimpostato",
|
||||
"resetting": "Reimpostazione...",
|
||||
"cancel": "Annulla",
|
||||
"settings": "Impostazioni",
|
||||
"settingsTitle": "Impostazioni deck",
|
||||
"newPerDay": "Nuove schede al giorno",
|
||||
"newPerDayHint": "Numero massimo di nuove schede al giorno",
|
||||
"revPerDay": "Ripassi al giorno",
|
||||
"revPerDayHint": "Numero massimo di schede da ripassare al giorno",
|
||||
"newPerDay": "Nuove al giorno",
|
||||
"newPerDayHint": "Nuove carte al giorno",
|
||||
"revPerDay": "Ripassate al giorno",
|
||||
"revPerDayHint": "Ripassi al giorno",
|
||||
"save": "Salva",
|
||||
"saving": "Salvataggio...",
|
||||
"settingsSaved": "Impostazioni salvate",
|
||||
"todayNew": "Nuove",
|
||||
"todayReview": "Ripasso",
|
||||
"todayLearning": "In corso",
|
||||
"todayNew": "Oggi nuove",
|
||||
"todayReview": "Oggi ripasso",
|
||||
"todayLearning": "In apprendimento",
|
||||
"error": {
|
||||
"update": "Non hai il permesso per aggiorn this card.",
|
||||
"delete": "Non hai il permesso per delete this card.",
|
||||
"add": "Non hai il permesso per add cards to this deck."
|
||||
}
|
||||
"update": "Nessun permesso di aggiornare",
|
||||
"delete": "Nessun permesso di eliminare",
|
||||
"add": "Nessun permesso di aggiungere"
|
||||
},
|
||||
"ipaPlaceholder": "Inserisci IPA",
|
||||
"examplePlaceholder": "Inserisci esempio",
|
||||
"wordRequired": "Inserisci una parola",
|
||||
"definitionRequired": "Inserisci una definizione",
|
||||
"cardAdded": "Carta aggiunta",
|
||||
"cardType": "Tipo di carta",
|
||||
"wordCard": "Carta parola",
|
||||
"phraseCard": "Carta frase",
|
||||
"sentenceCard": "Carta frase",
|
||||
"sentence": "Frase",
|
||||
"sentencePlaceholder": "Inserisci frase",
|
||||
"wordPlaceholder": "Inserisci parola",
|
||||
"queryLang": "Lingua di query",
|
||||
"meanings": "Significati",
|
||||
"addMeaning": "Aggiungi significato",
|
||||
"partOfSpeech": "Parte del discorso",
|
||||
"deleteConfirm": "Eliminare questa carta?",
|
||||
"cardDeleted": "Carta eliminata",
|
||||
"cardUpdated": "Carta aggiornata"
|
||||
},
|
||||
"home": {
|
||||
"title": "Impara le Lingue",
|
||||
@@ -234,41 +276,41 @@
|
||||
},
|
||||
"memorize": {
|
||||
"deck_selector": {
|
||||
"selectDeck": "Seleziona un mazzo",
|
||||
"noDecks": "Nessun mazzo trovato",
|
||||
"goToDecks": "Vai ai mazzi",
|
||||
"selectDeck": "Seleziona deck",
|
||||
"noDecks": "Nessun deck",
|
||||
"goToDecks": "Vai ai deck",
|
||||
"noCards": "Nessuna carta",
|
||||
"new": "Nuove",
|
||||
"learning": "In apprendimento",
|
||||
"new": "Nuovo",
|
||||
"learning": "Apprendimento",
|
||||
"review": "Ripasso",
|
||||
"due": "In scadenza"
|
||||
},
|
||||
"review": {
|
||||
"loading": "Caricamento...",
|
||||
"backToDecks": "Torna ai mazzi",
|
||||
"allDone": "Fatto!",
|
||||
"allDoneDesc": "Hai ripassato tutte le carte in scadenza.",
|
||||
"backToDecks": "Torna ai deck",
|
||||
"allDone": "Tutto fatto!",
|
||||
"allDoneDesc": "Apprendimento di oggi completato!",
|
||||
"reviewedCount": "{count} carte ripassate",
|
||||
"progress": "{current} / {total}",
|
||||
"nextReview": "Prossima revisione",
|
||||
"nextReview": "Prossimo ripasso",
|
||||
"interval": "Intervallo",
|
||||
"ease": "Facilità",
|
||||
"lapses": "Dimenticanze",
|
||||
"ease": "Difficoltà",
|
||||
"lapses": "Errori",
|
||||
"showAnswer": "Mostra risposta",
|
||||
"again": "Ancora",
|
||||
"hard": "Difficile",
|
||||
"good": "Bene",
|
||||
"good": "Buono",
|
||||
"easy": "Facile",
|
||||
"now": "ora",
|
||||
"lessThanMinute": "<1 min",
|
||||
"inMinutes": "{count} min",
|
||||
"inHours": "{count}h",
|
||||
"inDays": "{count}g",
|
||||
"inMonths": "{count}mesi",
|
||||
"minutes": "<1 min",
|
||||
"days": "{count}g",
|
||||
"months": "{count}mesi",
|
||||
"minAbbr": "m",
|
||||
"now": "Ora",
|
||||
"lessThanMinute": "meno di 1 minuto",
|
||||
"inMinutes": "tra {n} minuti",
|
||||
"inHours": "tra {n} ore",
|
||||
"inDays": "tra {n} giorni",
|
||||
"inMonths": "tra {n} mesi",
|
||||
"minutes": "minuti",
|
||||
"days": "giorni",
|
||||
"months": "mesi",
|
||||
"minAbbr": "min",
|
||||
"dayAbbr": "g",
|
||||
"cardTypeNew": "Nuovo",
|
||||
"cardTypeLearning": "Apprendimento",
|
||||
@@ -278,12 +320,13 @@
|
||||
"dictation": "Dettato",
|
||||
"clickToPlay": "Clicca per riprodurre",
|
||||
"yourAnswer": "La tua risposta",
|
||||
"typeWhatYouHear": "Scrivi ciò che senti",
|
||||
"correct": "Corretto",
|
||||
"incorrect": "Errato"
|
||||
"typeWhatYouHear": "Scrivi cosa senti",
|
||||
"correct": "Corretto!",
|
||||
"incorrect": "Errato",
|
||||
"nextCard": "Prossima"
|
||||
},
|
||||
"page": {
|
||||
"unauthorized": "Non sei autorizzato ad accedere a questo mazzo"
|
||||
"unauthorized": "Non autorizzato"
|
||||
}
|
||||
},
|
||||
"navbar": {
|
||||
@@ -297,33 +340,49 @@
|
||||
"settings": "Impostazioni"
|
||||
},
|
||||
"ocr": {
|
||||
"title": "Estrazione vocaboli OCR",
|
||||
"description": "Carica screenshot di tabelle di vocaboli per estrarre coppie parola-definizione",
|
||||
"title": "Riconoscimento OCR",
|
||||
"description": "Estrai testo dalle immagini",
|
||||
"uploadImage": "Carica immagine",
|
||||
"dragDropHint": "Trascina e rilascia un'immagine qui, o clicca per selezionare",
|
||||
"supportedFormats": "Supportati: JPG, PNG, WebP",
|
||||
"selectDeck": "Seleziona un mazzo",
|
||||
"chooseDeck": "Scegli un mazzo per salvare le coppie estratte",
|
||||
"noDecks": "Nessun mazzo disponibile. Creane prima un mazzo.",
|
||||
"languageHints": "Suggerimenti lingua (Opzionale)",
|
||||
"sourceLanguageHint": "Lingua sorgente (es: Inglese)",
|
||||
"targetLanguageHint": "Lingua target/traduzione (es: Cinese)",
|
||||
"process": "Elabora immagine",
|
||||
"dragDropHint": "Trascina e rilascia",
|
||||
"supportedFormats": "Supportati: JPG, PNG, WEBP",
|
||||
"selectDeck": "Seleziona deck",
|
||||
"chooseDeck": "Scegli un deck",
|
||||
"noDecks": "Nessun deck disponibile",
|
||||
"languageHints": "Suggerimenti lingua",
|
||||
"sourceLanguageHint": "Lingua sorgente",
|
||||
"targetLanguageHint": "Lingua target",
|
||||
"process": "Elabora",
|
||||
"processing": "Elaborazione...",
|
||||
"preview": "Anteprima",
|
||||
"extractedPairs": "Coppie estratte",
|
||||
"word": "Parola",
|
||||
"definition": "Definizione",
|
||||
"pairsCount": "{count} coppie estratte",
|
||||
"savePairs": "Salva nel mazzo",
|
||||
"pairsCount": "{count} coppie",
|
||||
"savePairs": "Salva",
|
||||
"saving": "Salvataggio...",
|
||||
"saved": "{count} coppie salvate in {deck}",
|
||||
"saved": "Salvato",
|
||||
"saveFailed": "Salvataggio fallito",
|
||||
"noImage": "Carica prima un'immagine",
|
||||
"noDeck": "Seleziona un mazzo",
|
||||
"processingFailed": "Elaborazione OCR fallita",
|
||||
"tryAgain": "Riprova con un'immagine più chiara",
|
||||
"detectedLanguages": "Rilevato: {source} → {target}"
|
||||
"noImage": "Carica un'immagine",
|
||||
"noDeck": "Seleziona un deck",
|
||||
"processingFailed": "Elaborazione fallita",
|
||||
"tryAgain": "Riprova",
|
||||
"detectedLanguages": "Lingue rilevate",
|
||||
"uploadSection": "Carica immagine",
|
||||
"dropOrClick": "Rilascia o clicca",
|
||||
"changeImage": "Cambia immagine",
|
||||
"invalidFileType": "Tipo di file non valido",
|
||||
"deckSelection": "Seleziona deck",
|
||||
"sourceLanguagePlaceholder": "es: Inglese",
|
||||
"targetLanguagePlaceholder": "es: Italiano",
|
||||
"processButton": "Avvia riconoscimento",
|
||||
"resultsPreview": "Anteprima risultati",
|
||||
"saveButton": "Salva nel deck",
|
||||
"ocrSuccess": "OCR riuscito",
|
||||
"ocrFailed": "OCR fallito",
|
||||
"savedToDeck": "Salvato nel deck",
|
||||
"noResultsToSave": "Nessun risultato",
|
||||
"detectedSourceLanguage": "Lingua sorgente rilevata",
|
||||
"detectedTargetLanguage": "Lingua target rilevata"
|
||||
},
|
||||
"profile": {
|
||||
"myProfile": "Il Mio Profilo",
|
||||
@@ -364,12 +423,43 @@
|
||||
"videoUploadFailed": "Caricamento video fallito",
|
||||
"subtitleUploadFailed": "Caricamento sottotitoli fallito",
|
||||
"subtitleLoadSuccess": "Sottotitoli caricati con successo",
|
||||
"subtitleLoadFailed": "Caricamento sottotitoli fallito"
|
||||
"subtitleLoadFailed": "Caricamento sottotitoli fallito",
|
||||
"settings": "Impostazioni",
|
||||
"shortcuts": "Scorciatoie",
|
||||
"keyboardShortcuts": "Scorciatoie tastiera",
|
||||
"playPause": "Riproduci/Pausa",
|
||||
"autoPauseToggle": "Auto-pausa",
|
||||
"subtitleSettings": "Impostazioni sottotitoli",
|
||||
"fontSize": "Dimensione carattere",
|
||||
"textColor": "Colore testo",
|
||||
"backgroundColor": "Colore sfondo",
|
||||
"position": "Posizione",
|
||||
"opacity": "Opacità",
|
||||
"top": "Alto",
|
||||
"center": "Centro",
|
||||
"bottom": "Basso"
|
||||
},
|
||||
"text_speaker": {
|
||||
"generateIPA": "Genera IPA",
|
||||
"viewSavedItems": "Visualizza Elementi Salvati",
|
||||
"confirmDeleteAll": "Sei sicuro di voler eliminare tutto? (S/N)"
|
||||
"confirmDeleteAll": "Sei sicuro di voler eliminare tutto? (S/N)",
|
||||
"saved": "Salvato",
|
||||
"clearAll": "Cancella tutto",
|
||||
"language": "Lingua",
|
||||
"customLanguage": "o inserisci lingua...",
|
||||
"languages": {
|
||||
"auto": "Auto",
|
||||
"chinese": "Cinese",
|
||||
"english": "Inglese",
|
||||
"japanese": "Giapponese",
|
||||
"korean": "Coreano",
|
||||
"french": "Francese",
|
||||
"german": "Tedesco",
|
||||
"italian": "Italiano",
|
||||
"spanish": "Spagnolo",
|
||||
"portuguese": "Portoghese",
|
||||
"russian": "Russo"
|
||||
}
|
||||
},
|
||||
"translator": {
|
||||
"detectLanguage": "rileva lingua",
|
||||
@@ -403,7 +493,19 @@
|
||||
"error": "Impossibile aggiungere coppia di testo alla cartella"
|
||||
},
|
||||
"autoSave": "Salvataggio Automatico",
|
||||
"customLanguage": "o digita lingua..."
|
||||
"customLanguage": "o digita lingua...",
|
||||
"pleaseLogin": "Accedi per salvare le carte",
|
||||
"pleaseCreateDeck": "Crea prima un deck",
|
||||
"noTranslationToSave": "Nessuna traduzione da salvare",
|
||||
"noDeckSelected": "Nessun deck selezionato",
|
||||
"saveAsCard": "Salva come carta",
|
||||
"selectDeck": "Seleziona deck",
|
||||
"front": "Fronte",
|
||||
"back": "Retro",
|
||||
"cancel": "Annulla",
|
||||
"save": "Salva",
|
||||
"savedToDeck": "Carta salvata in {deckName}",
|
||||
"saveFailed": "Salvataggio fallito"
|
||||
},
|
||||
"dictionary": {
|
||||
"title": "Dizionario",
|
||||
@@ -448,7 +550,9 @@
|
||||
"unfavorite": "Rimuovi dai preferiti",
|
||||
"pleaseLogin": "Per favore accedi prima",
|
||||
"sortByFavorites": "Ordina per preferiti",
|
||||
"sortByFavoritesActive": "Annulla ordinamento per preferiti"
|
||||
"sortByFavoritesActive": "Annulla ordinamento per preferiti",
|
||||
"noDecks": "Nessun deck pubblico",
|
||||
"deckInfo": "{userName} · {totalCards} carte"
|
||||
},
|
||||
"exploreDetail": {
|
||||
"title": "Dettagli Cartella",
|
||||
@@ -462,7 +566,8 @@
|
||||
"unfavorite": "Rimuovi dai preferiti",
|
||||
"favorited": "Aggiunto ai preferiti",
|
||||
"unfavorited": "Rimosso dai preferiti",
|
||||
"pleaseLogin": "Per favore accedi prima"
|
||||
"pleaseLogin": "Per favore accedi prima",
|
||||
"totalCards": "{count} carte"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "I Miei Preferiti",
|
||||
@@ -507,7 +612,8 @@
|
||||
"createdAt": "Creata Il",
|
||||
"actions": "Azioni",
|
||||
"view": "Visualizza"
|
||||
}
|
||||
},
|
||||
"joined": "Iscritto il"
|
||||
},
|
||||
"follow": {
|
||||
"follow": "Segui",
|
||||
|
||||
Reference in New Issue
Block a user