nanostores + @nanostores/i18n + @nanostores/vue (~6 KB total). English base translations defined inline in messages.ts, other locales loaded on demand from JSON. Grouped by domain: menu, commands, tools, panels, pages, dialogs. useI18n() composable returns reactive translation objects plus locale controls. Russian locale included as first translation. Browser language auto-detected, user preference persisted in localStorage. |
||
|---|---|---|
| .. | ||
| assets | ||
| src | ||
| package.json | ||
| tsconfig.json | ||