# Dictionary Localization Implementation Plan > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** Convert visible English enum/dictionary values in ERP business screens to Chinese without changing stored enum codes. **Architecture:** Centralize translations in `frontend/src/utils/dictionaries.js`, then update high-risk screens to use formatter helpers instead of raw enum output. Add a static regression script to prevent common untranslated enum leaks from returning. **Tech Stack:** Vue 3 SFC, frontend utility modules, Node static checks, Vite build. --- ### Task 1: Expand Frontend Dictionary Utilities **Files:** - Modify: `frontend/src/utils/dictionaries.js` - [ ] Add formatter maps for missing statuses, inventory transaction types, source document types, warehouse types, item types, purchase source types, maintenance types, miniapp roles, and stocktake row statuses. - [ ] Make dictionary lookup normalize string keys to uppercase. - [ ] Add Chinese fallback for unknown enum-like values so raw English enum codes are not displayed. ### Task 2: Replace Direct Enum Rendering In High-Risk Views **Files:** - Modify: `frontend/src/views/InventoryLedgerView.vue` - Modify: `frontend/src/views/EquipmentManagementView.vue` - Modify: `frontend/src/views/EmployeeManagementView.vue` - Modify: `frontend/src/components/StocktakeDialog.vue` - Modify: `frontend/src/views/PurchaseOrderView.vue` - [ ] Inventory: translate stock lot quality/source/item displays and ledger type/source values. - [ ] Equipment: translate maintenance type values. - [ ] Employee: translate miniapp role codes even if backend returns raw role values. - [ ] Stocktake: translate row status and keep existing diff/status translation. - [ ] Purchase order: translate purchase source type in search and sort-facing display helpers. ### Task 3: Add Static Regression Check **Files:** - Create: `frontend/scripts/test-dictionary-localization.mjs` - [ ] Verify dictionary maps include common English codes that previously leaked. - [ ] Verify high-risk views call the new formatter helpers. - [ ] Verify dictionary fallback does not return raw enum-like English. ### Task 4: Verify **Files:** - No source edits expected. - [ ] Run `node scripts/test-dictionary-localization.mjs`. - [ ] Run existing inventory static scripts. - [ ] Run `npm run build`.