Localization Debt
This page is a contributor-facing tracker for parts of LearnKit that still need better translation coverage.
If you are just using LearnKit, you can ignore this page.
What “localization debt” means here
Section titled “What “localization debt” means here”Localization debt is user-facing text that still exists as hardcoded English instead of going through LearnKit’s translation system.
That usually affects:
- settings labels
- modal copy
- notices and toasts
- command names
- reviewer controls
Current priority order
Section titled “Current priority order”These areas were identified as the highest-value places to keep translating next:
src/views/settings/settings-tab.tssrc/platform/modals/anki-import-modal.tssrc/platform/modals/anki-export-modal.tssrc/views/settings/confirm-modals.tssrc/views/reviewer/render-session.tssrc/views/reminders/gatekeeper-modal.tssrc/platform/card-editor/card-editor.tssrc/main.ts
Translation namespaces
Section titled “Translation namespaces”The current naming conventions are:
ui.common.*for shared actions such as save, close, next, and backui.notice.*for toasts and runtime feedbackui.modal.*for modal-specific copyui.settings.*for settings pagesui.command.*for command palette and menu names
Recommended workflow
Section titled “Recommended workflow”When localizing a new area:
- add keys to the locale files
- replace hardcoded literals with the translation helper used in that module
- mirror the keys across the English locale files
- run the translation checks
Validation commands
Section titled “Validation commands”Use these checks after localization work:
npm run translations:checknpm run i18n:literals:check
The baseline-aware literal checker lives in tooling/check-i18n-literals.mjs and uses tooling/i18n-literal-baseline.json.
Last modified: 30/03/2026