lingui-framework-setup
Installation
SKILL.md
Lingui Framework Setup
Correct Lingui setup is framework-shaped: what works in a Vite SPA breaks in React Server Components, and a module-level i18n singleton that is fine in the browser bleeds locales across requests under SSR. This skill routes to a framework-native recipe instead of a generic I18nProvider answer.
Work in this order: detect the stack → apply the common steps → follow the framework reference → run the verification sequence.
Step 1 — Detect the stack
Read package.json and the build config before recommending anything. Never guess the compiler — the macro transform silently does nothing when wired into the wrong one.
| Signal | Stack | Reference |
|---|---|---|
next in deps, app/ or src/app/ with layout.tsx |
Next.js App Router | nextjs-app-router.md |
next in deps, pages/ with _app.tsx, no app/ |
Next.js Pages Router | Supported by Lingui, brief notes in nextjs-app-router.md |
@tanstack/react-start in deps |
TanStack Start (SSR) | tanstack-start.md |
@react-router/dev in devDeps + react-router.config.* |
React Router 7 framework mode (SSR) | react-router-remix.md |
@remix-run/dev ≥ 2.7 in devDeps + vite |
Remix v2 (Vite build, SSR) | react-router-remix.md |
vite + react, none of the above |
Vite SPA (incl. declarative React Router, TanStack Router) | vite-spa.md |