diff --git a/CLAUDE.md b/CLAUDE.md index bfc4958..0eba926 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -191,6 +191,15 @@ The app has an interactive tutorial system (`static/js/features/tutorials.js`) w When adding **new tabs, sections, or major UI elements**, update the corresponding tutorial step array in `tutorials.js` and add `tour.*` i18n keys to all 3 locale files (`en.json`, `ru.json`, `zh.json`). +## Localization (i18n) + +**Every user-facing string must be localized.** Never use hardcoded English strings in `showToast()`, `error.textContent`, modal messages, or any other UI-visible text. Always use `t('key')` from `../core/i18n.js` and add the corresponding key to **all three** locale files (`en.json`, `ru.json`, `zh.json`). + +- In JS modules: `import { t } from '../core/i18n.js';` then `showToast(t('my.key'), 'error')` +- In inline `