feat(i18n): add toast i18n with en/zh locale and plugin config support

- Add src/locales/ with en baseline and zh overrides (Partial<Record> fallback)
- Add src/shared/i18n.ts with initI18n/t/setLocale/getLocale (LANG env auto-detect)
- Add I18nConfigSchema with locale field to plugin config
- Internationalize 13 hardcoded strings in task-toast-manager
- Add 18 unit tests for i18n module
- Pin manager tests to en locale for determinism
This commit is contained in:
leeyazhou
2026-05-09 14:39:21 +08:00
parent c75deee54c
commit fd4b3bb3c9
13 changed files with 383 additions and 16 deletions
+8
View File
@@ -0,0 +1,8 @@
import { z } from "zod"
export const I18nConfigSchema = z.object({
/** Override auto-detected locale (e.g. "en", "zh"). Falls back to LANG env var if not set. */
locale: z.string().optional(),
})
export type I18nConfig = z.infer<typeof I18nConfigSchema>