README file from
GithubLanguage Recall (Obsidian Plugin)

This plugin was forked from Obsidian Better Recall and extended for language learning workflows, including built-in translation while creating and editing cards.
What is it?
Language Recall gives you a simplified Anki-like spaced repetition workflow directly inside Obsidian. You can create decks, add/edit/delete cards, review due cards, and translate card content while authoring.
The plugin currently uses:
Features
- Deck management
- Create decks with optional descriptions
- Edit deck name/description
- Delete decks
- Store deck files in a configurable vault folder (
Language Recallby default)
- Card management
- Add, edit, and delete basic cards
- Move a card to a different deck while editing
- Persist your last selected deck in the card editor
- Review session
- Review cards with
Again / Hard / Good / Easy - See estimated next-review time before answering
- Edit the current card mid-review, then resume
- Render card content as Markdown (including Obsidian internal links)
- Review cards with
- Built-in translation
- Translate front -> back in the card editor with no API key
- Select source/target language and swap them quickly
- Supports common language pairs (English, Spanish, French, German, Italian, Portuguese, Japanese, Chinese, and more)
- Language choices are persisted between sessions
- Navigation and commands
- Ribbon icon to open decks
- Commands:
Language Recall: Open decksLanguage Recall: Add card
- Back navigation works from UI buttons and
Esc(including Android hardware-back behavior mapped to Escape in WebView)
- Settings
- Review interval multiplier (
0.25to4.0) - Decks folder rename/migration (moves existing deck files)
- Review interval multiplier (
How to use it
Quick start:
- Open decks using the ribbon icon:

-
Or run the command
Language Recall: Open decks. -
Create a deck.
-
Add cards from the deck list, deck card, or
Language Recall: Add card. -
Start reviewing from a deck's
Reviewbutton.
Reviewing cards
Click Review on a deck to start a session. During review:
- Press
Spaceto reveal answer - Press
1,2,3,4forAgain,Hard,Good,Easy - Use the visible next-review estimates to choose an answer
- Use the edit button to modify the current card and continue
Review timing is adjusted by the configured interval multiplier in plugin settings.
Data storage notes
- Each deck is stored as its own
.mdfile in the configured decks folder. - Deck files use frontmatter plus serialized card rows.
- The plugin handles deck filenames and migrations automatically when folder settings change.
- Avoid manually moving/renaming individual deck files.

Development
Clone and install dependencies:
$ git clone https://github.com/ChasKane/language-recall.git
$ cd language-recall
$ pnpm install
Create an env.mjs file in the project root:
export const obsidianExportPath =
'<path-to-obsidian-vault>/.obsidian/plugins/language-recall';
Start the dev build/watch:
$ pnpm dev
This builds the plugin and watches for changes. It also copies plugin assets to the configured plugin directory.
Useful scripts:
$ pnpm lint
$ pnpm test
$ pnpm build