# Implementation Tasks — `i18n-frontend-ui-strings` > Approved requirements and design. Tasks ordered Foundation → Core → Integration → Validation per the project's tasks-generation rule. - [x] 1. Foundation: locale-file additions and audit tooling - [x] 1.1 Add the new `process.*`, `step3.*`, `step4.*`, `step5.*` keys to `locales/en.json` (English-only values) - Add a new top-level `process` namespace covering every literal flagged for `Process.vue` (header, status badges, progress hints, error messages, fallback names, project-info modal labels, environment-setup-coming-soon alert). - Add `step3.startFailed` if not already present (verify against current file). - Add `step4.selectionReason` and `step4.awaitingStart`. - Add `step5.chatRolePrompter`, `step5.chatRoleYou`, `step5.chatHistoryPrefix` (`{history}`, `{message}` ICU params). - Strings carry idiomatic English wording only — **no Chinese characters in `en.json`**; the design's bilingual sketch is only a reviewer aid. - Observable completion: `rg '[一-鿿]' locales/en.json` returns no hits in any newly added key (existing meta entries excluded). - _Requirements: 1.5, 3.1, 3.3, 3.4_ - [x] 1.2 (P) Mirror the new keys to `locales/zh.json` with the original Chinese wording - For each key added in 1.1, add an entry in `zh.json` carrying the **exact** Chinese string removed from the source files (no paraphrasing). - Preserve existing namespace order; add new entries at the end of each namespace block to minimise diff noise. - Observable completion: `jq -S 'paths(scalars) | join(".")' locales/en.json | sort -u` and the same for `zh.json` produce identical output. - _Requirements: 3.1, 3.2, 3.4, 3.5_ - _Boundary: locales/zh.json_ - _Depends: 1.1_ - [x] 1.3 (P) Author the audit verifier `frontend/scripts/audit-i18n-strings.sh` - Greps a CJK code-point range over the five files in scope only (no project-wide scan). - Filters out an explicit allowlist: the `REPORT_MARKERS` literal block in `Step4Report.vue`, the bilingual log-severity helper, and any line with a trailing `// i18n-allow:` comment. - Adds a key-parity check: `jq` over both locale files; reports keys missing from either side. - Exits 0 on success, 1 with a human-readable list otherwise. - Observable completion: running the script against the current branch (before the source-file changes) prints the expected hit list (sanity check); after the source-file changes it exits 0. - _Requirements: 6.1, 6.2, 6.3, 6.4_ - _Boundary: frontend/scripts/_ - [x] 2. Core: externalize `Process.vue` - [x] 2.1 Wire `vue-i18n` into `Process.vue` - Add `import { useI18n } from 'vue-i18n'` and `const { t } = useI18n()` to the `