Nextjs i18n
Skills for my agentic development workflow.
npx -y skills add FilippoDeSilva/skills --skill nextjs-i18nAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Best practices for multi-language handling, locale routing, and detection strategies across App and Pages Router. Use when adding i18n, locale routing, or language detection in Next.js.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.6 KB, as published. Nobody here has run it
Internationalization (i18n)
Priority: P2 (MEDIUM)
Maintain single source of truth for locales and ensure SEO-friendly sub-path routing.
Workflow: Add i18n to Next.js App Router Project
- Install
next-intland createmessages/en.json,messages/fr.json, etc. - Add locale detection middleware in
middleware.ts - Create
app/[lang]/layout.tsxwith locale param - Load translations server-side via
getMessages() - Add
hreflangtags ingenerateMetadata - Pre-render locales with
generateStaticParams - Verify: run
next buildand confirm all locale paths render
Middleware Example
Implementation Guidelines
- Locale Routing: Follow URL-first approach for SEO. Use dynamic segments in App Router (
app/[lang]/page.tsx) andi18nconfiguration innext.config.jsfor Pages Router. - Library Selection: Use
next-intlfor App Router (modern) orreact-intl/next-translatefor legacy apps. - Detection: Implement middleware localization in
middleware.tsto detect user language fromAccept-Languageheaders or cookies and perform redirects. - Server-Side: Load translation
messages/*.jsondictionaries in Server Components to keep client bundle small. - SEO: Ensure
hreflangtags generated correctly inmetadataAPI for all translated routes. - Static Generation: Use
generateStaticParamsto pre-render localized versions of static pages at build time.
Library Specifics
For detailed setup with common libraries, refer to:
Anti-Patterns
- No hardcoded strings in JSX: Use translation keys; never commit raw text.
- No client-side translation bundles: Load dictionaries server-side with
getMessages(). - No mixed URL locale patterns: Use sub-paths or domains consistently.