docs: record i18n batch 4 (Lab labels, Sasquatch FAQ, fees)
This commit is contained in:
parent
7347f874ad
commit
2ac2605f57
1 changed files with 24 additions and 8 deletions
32
AGENTS.md
32
AGENTS.md
|
|
@ -1756,7 +1756,7 @@ similar are internal endpoints/hook names, not credits — leave them.)
|
||||||
chain) fails the build if any literal `t('…')` key is missing from `en` OR `es`,
|
chain) fails the build if any literal `t('…')` key is missing from `en` OR `es`,
|
||||||
or if `en`/`es` drift. Dynamic template keys (`t(\`ns.${x}\`)`) are NOT checked —
|
or if `en`/`es` drift. Dynamic template keys (`t(\`ns.${x}\`)`) are NOT checked —
|
||||||
keep those few in sync by hand.
|
keep those few in sync by hand.
|
||||||
- **Coverage (2026-10-02, batches 1–3 done):** **~6,460 keys** (EN=ES) and ~230
|
- **Coverage (2026-10-04, batches 1–4 done):** **~7,030 keys** (EN=ES) and ~250
|
||||||
files wired. Namespaces: batch 1 — `mapUi`, `spotUi`, `marketUi`, `labUi`;
|
files wired. Namespaces: batch 1 — `mapUi`, `spotUi`, `marketUi`, `labUi`;
|
||||||
batch 2 — `nav` (header/More/burger labels) + `chromeUi` (footer, toolbar
|
batch 2 — `nav` (header/More/burger labels) + `chromeUi` (footer, toolbar
|
||||||
widgets, spot-type labels), `placesUi` (events/shops/tours/food), `socialUi`
|
widgets, spot-type labels), `placesUi` (events/shops/tours/food), `socialUi`
|
||||||
|
|
@ -1793,13 +1793,29 @@ similar are internal endpoints/hook names, not credits — leave them.)
|
||||||
first paint is in-language. **Import from `@/lib/dateFnsI18n`, not
|
first paint is in-language. **Import from `@/lib/dateFnsI18n`, not
|
||||||
`date-fns`.** Number `.toLocaleString()` calls are deliberately left on the
|
`date-fns`.** Number `.toLocaleString()` calls are deliberately left on the
|
||||||
runtime default.
|
runtime default.
|
||||||
- **Still to translate (batch 4):** the **Lab `*_LABELS`/`*_DESCRIPTIONS` maps**
|
- **Batch 4 (2026-10-04) — done.** Fragment layer `src/i18n/batch4/`
|
||||||
in `src/lib/types.ts` (coach/filmer/editor/photo/builder/artist/graffiti/tattoo/
|
(spread as `batch4En`/`batch4Es` alongside batch 3).
|
||||||
trainer/musician/judge/organizer/barber — ~35 maps), `TOUR_SKILL_LEVELS`, the
|
- `labOptions.*` (430 keys) — every Lab `*_LABELS`/`*_DESCRIPTIONS` map in
|
||||||
Sasquatch **static FAQ / local-result chat bodies** and `usePurchasePro` receipt
|
`src/lib/types.ts` (coach/filmer/editor/photo/builder/artist/graffiti/tattoo/
|
||||||
prose, and remaining **feed-supplied vs app-word** distinctions. `TagCategory`
|
trainer/musician/judge/organizer/barber) + `TOUR_SKILL_LEVELS`; **51 shared
|
||||||
names/descriptions have keys but no component renders them. Grep a module
|
key maps appended to `src/lib/labelKeys.ts`**. Consumers: `becomeRoles.tsx`,
|
||||||
before assuming it is translated.
|
`CraftProfileForm` (`SkillSection` gained a `keyMap`), `LabPage`,
|
||||||
|
`CoachDetailPage`, the five bespoke `/become/*` pages, `TourCard`/
|
||||||
|
`TourDetailPage`/`CreateTourPage`/`EventsPage`. Trick names and tool/brand
|
||||||
|
nouns intentionally stay English.
|
||||||
|
- `sasquatchChat.*` (83 keys) — the free-tier `STATIC_FAQ` (English matcher →
|
||||||
|
`sasquatchChat.faq.*` key) and local-result/fallback chat bodies. Live AI is
|
||||||
|
already language-directed; **prompts stay English**.
|
||||||
|
- `feesUi.*` (57 keys) — `usePurchasePro` receipt prose/errors and
|
||||||
|
`PlatformFeePayment` fee/duration tiers (`LabProUpgrade`/`FeaturedEventUpgrade`
|
||||||
|
were already `labUi`/`placesUi`).
|
||||||
|
- ✅ **Not translated, deliberately:** LLM system/synthesis prompts and
|
||||||
|
tool-result instruction strings (model-facing), feed-supplied data (line
|
||||||
|
names, headsigns, roads, stops, weather condition labels, operator names),
|
||||||
|
brand/proper nouns, and the separate `src/lib/glossary.ts` trick glossary.
|
||||||
|
`TagCategory` names/descriptions and `MUSICIAN_ACT_LABELS` have keys but no
|
||||||
|
rendering consumer. Number `.toLocaleString()` stays on the runtime default.
|
||||||
|
Grep a module before assuming it is untranslated.
|
||||||
- ⚠️ A batch-2 agent dropped the `socialUi.` namespace prefix in ~36 files — the
|
- ⚠️ A batch-2 agent dropped the `socialUi.` namespace prefix in ~36 files — the
|
||||||
`check:i18n` guard caught all 738 usages. **Always run `node scripts/check-i18n.mjs`
|
`check:i18n` guard caught all 738 usages. **Always run `node scripts/check-i18n.mjs`
|
||||||
(it's in `npm test`) after wiring a file.**
|
(it's in `npm test`) after wiring a file.**
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue