Repository navigation
What's new
- Translation stays strictly user-triggered across layout changes, settings updates, render synchronization, and virtualized scrolling; cached DOM updates no longer risk duplicate whole-note requests.
- Persistent translation cache loading and saving is now covered end to end, so reopening notes can reuse cached results without background translation.
- Custom instructions now participate in cache identity, preventing stale translations after prompt guidance changes.
- Each provider call maps to exactly one HTTP request, preserving the controller's global rate limits and retry behavior.
- Vietnamese is now available as a target language, including Baidu and Youdao language-code mappings.
- Documentation is now available in English, Simplified Chinese, Japanese, Korean, and Vietnamese, with a bilingual reading-view screenshot.
Verification
- 233 tests passed
- TypeScript typecheck passed
- Production build passed
- GitHub build provenance attested
Install
Download main.js, manifest.json, and styles.css below into <vault>/.obsidian/plugins/interlinear/, then enable the plugin. Or update through BRAT using linyp/obsidian-interlinear.