32 Commits

Author SHA1 Message Date
Y.anbe cd08c50ca6 feat(i18n): add Japanese locale catalogs and negotiation (#3841)
Co-authored-by: Y.anbe <yoshitaka.anbe@aot.it.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-09-21 23:18:37 +01:00
Carlos Florêncio 832734bb67 docs: migrate legacy specs and add product context (#2964) 2026-08-24 11:09:03 +00:00
João Salavisa 5257dfbaab fix(web): close the i18n coverage gaps in the non-JSX scanner and locale catalogs (#2727)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-16 23:03:29 +00:00
João Salavisa 63c21686ff fix(web): externalize copy the jsx-only i18n guard cannot see, and gate it (#2711)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-16 12:08:59 +01:00
BillChenIDY c25e9bc5a7 feat(i18n): add Traditional Chinese Taiwan and Hong Kong locales (#2558)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-13 13:39:16 +01:00
Carlos Florêncio b4a84f8212 docs: prevent em dashes in public copy (#2516) 2026-08-12 11:13:25 +01:00
João Salavisa fb63a88cd1 fix(i18n): close the lint-invisible gaps the guard structurally cannot see (#2470)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-09 23:21:39 +01:00
João Salavisa b41ba97d10 docs(i18n): mark the directory-by-directory migration complete (#2453)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-08 23:51:14 +01:00
João Salavisa 9ed977a3fe docs: correct the web localization status for the finished i18n work (#2400)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-07 21:45:12 +02:00
João Salavisa d855d615f8 perf(i18n): lazy-load locale catalogs instead of bundling every language (#2362)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-07 18:43:42 +01:00
João Salavisa 4d519316c1 fix(i18n): tie the pseudo-coverage oracle to the screen it claims to check (#2366)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 16:13:56 +02:00
João Salavisa ee40cd6235 perf(i18n): drop the pseudo QA locale from production bundles (#2361)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-07 13:21:38 +02:00
João Salavisa 7b69bff794 ci(i18n): make the pseudo-locale coverage oracle a hard CI gate (#2360)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-07 12:37:11 +02:00
João Salavisa e05d620876 refactor(plugins): move Slack out to kandev-plugin-slack and list it in the marketplace (#2344)
Co-authored-by: Kandev Agent <agent@kandev.local>
2026-08-07 11:06:17 +02:00
João Salavisa dc89d494fe feat(i18n): add European Portuguese (pt-PT) locale (#2349)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-07 04:56:55 +02:00
João Salavisa 828213a6a9 chore(i18n): add sweep for plural concatenation and non-JSX copy (#2305)
Ports the working Python i18n sweep to apps/web/scripts/i18n-sweep.mjs as a human tool (pnpm run i18n:sweep), reporting English plural concatenation separately from non-JSX prose literals. Not wired into CI or pre-commit; always exits 0.

Output is byte-identical to the Python original across seven directories. The quote-pairing regression that caused 25 false positives is covered by a test.
2026-08-06 03:25:46 +02:00
João Salavisa 82951e3848 fix(i18n): reject guard allowlist entries that match no file (#2275)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-05 12:30:34 +02:00
João Salavisa a2db334adc fix(i18n): make real-locale catalog parity advisory, not a gate (#2272)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-05 11:22:36 +02:00
BillChenIDY 7684bd09aa feat(i18n): add Simplified Chinese locale (#2243)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-04 21:51:32 +01:00
João Salavisa 2a7a8dcd48 feat(i18n): localize Automations (#2247)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-04 10:46:40 +02:00
João Salavisa 2b69d35fcf feat(i18n): localize Configuration Chat and the last shared aria-labels (#2223)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 00:08:04 +02:00
João Salavisa ea07ac7863 fix(i18n): detect duplicate allowlist entries, correct the collapse advice (#2221)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-03 21:53:00 +02:00
João Salavisa 76ac59238b docs(i18n): record how to trust the removed-literal check (#2226)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-03 21:44:11 +02:00
João Salavisa 957cbb910e feat(i18n): localize Settings → Workspace (#2212)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-03 20:52:09 +02:00
João Salavisa 13b9f4e43f docs(i18n): an existing key is not automatically the right key (#2217)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 17:29:48 +02:00
João Salavisa b461d52981 test(i18n): make the pseudo-locale oracle read attribute copy (#2211)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 16:57:40 +02:00
João Salavisa d9ea08af82 docs(i18n): consumer sweeps, destructuring defaults, and unowned shared copy (#2204)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 16:04:02 +02:00
João Salavisa 0cfdf86d02 docs(i18n): name the oracle's blindness to attribute-borne copy (#2208)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 15:16:33 +02:00
João Salavisa aae550705c docs(i18n): record the two blind spots the Agents and Storage migrations hit (#2205)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 14:58:40 +02:00
João Salavisa c7be985a29 feat(i18n): localize shared-task artifacts in the creator's locale (#2147)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-02 10:58:18 +02:00
João Salavisa 83c3c1ccf1 feat(i18n): ratchet new code to require t()/<Trans> everywhere (#2105)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-01 23:14:50 +01:00
João Salavisa 6cd89a78d3 feat(i18n): add scoped i18n foundation with one migrated page (#2097)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-01 23:11:18 +02:00