
Next Intl App Router
Handles the full next-intl setup for Next.js App Router with prefix-based locale routing like /en/about and /ja/about. Walks you through the Next.js 16 proxy (or middleware for older versions), routing config, message loading, and the locale layout pattern where you validate params, call setRequestLocale, and wrap with NextIntlClientProvider. Includes copy-paste examples for navigation components, pages, and the JSON message structure. The checklist format is handy because next-intl has a lot of moving parts and it's easy to miss the setRequestLocale call in pages or forget to export generateStaticParams. Good if you're wiring up i18n from scratch or fixing static rendering issues.
- skills.sh installs
- 611
- GitHub stars
- 2
- last updated
- Aug 21, 2026
Install
$ npx -y skills add liuchiawei/agent-skills --skill next-intl-app-router --agent claude-codeInstalls into .claude/skills of the current project.
Files
next-intl (App Router)
Setup and usage of next-intl with prefix-based locale routing (e.g. /en/about, /ja/about). Use this skill in any Next.js App Router project.
Example code: Copy-paste examples live in this skill's examples/ folder. See examples/README.md for where each file goes in your project.
File layout
Keep this structure:
├── messages/
│ ├── en.json
│ ├── ja.json
│ └── ...
├── next.config.ts
└── src/
├── i18n/
│ ├── request.ts
│ ├── routing.ts
│ └── navigation.ts
├── proxy.ts # Next.js 16+ (was middleware.ts)
└── app/
├── layout.tsx # Root layout, no NextIntlClientProvider here
└── [locale]/
├── layout.tsx
├── page.tsx
└── ...
Root layout does not wrap with NextIntlClientProvider; only app/[locale]/layout.tsx does.
1. Next config
Wire the plugin (default path ./i18n/request.ts):
// next.config.ts
import type { NextConfig } from "next";
import createNextIntlPlugin from "next-intl/plugin";
Sponsors
Details
- Repository
- github.com/liuchiawei/agent-skills
- Categories
- Frontend Development, Backend & APIs, AI & Agent Building
- First seen
- Jun 3, 2026