nextjs-internationalization-i18n
Best practices for multi-language handling, locale routing, and detection middleware.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Internationalization (i18n)
Priority: P2 (MEDIUM)
Use Sub-path Routing (/en, /de) and Server Components for translations.
Principles
-
Sub-path Routing: Use URL segments (e.g.,
app/[lang]/page.tsx) to manage locales.- Why: SEO friendly, sharable, and cacheable.
-
Server-Side Translation: Load dictionary files (
en.json) in Server Components.- Why: Reduces client bundle size. No huge JSON blobs sent to browser.
-
Middleware Detection: Use
middleware.tsto detectAccept-Languageheaders and redirect users to their preferred locale. - Type Safety: Use robust typing for translation keys to prevent broken text UI.
Implementation Pattern
See references/i18n_setup.md for Directory Structure, Middleware, and Server Component examples.
Redirect Handling Strategy
When handling redirects (Authentication, Legacy URLs) in an i18n app:
-
Always preserve locale: Use
redirect(/${lang}/login)instead of just/login. -
Server Actions: Return
redirect(...)from actions. -
Next Config: Use
next.config.jsfor legacy SEO 301s (e.g., old-site/about-us->/en/about).
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!