Move user-visible text into translation dictionaries, for example `messages/en.json` and `messages/es.json`, and replace JSX literals with translation keys. Use `next-intl` for the App Router, load dictionaries server-side, and pass only the needed translated values to Client Components. Add locale middleware and an `app/[lang]` route segment, then verify that every translated route has consistent locale URLs and SEO metadata.
Installs into .claude/skills of the current project.
Are you the author of Nextjs I18n?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-nextjs-i18n-912561ec)
Move user-visible text into translation dictionaries, for example `messages/en.json` and `messages/es.json`, and replace JSX literals with translation keys. Use `next-intl` for the App Router, load dictionaries server-side, and pass only the needed translated values to Client Components. Add locale middleware and an `app/[lang]` route segment, then verify that every translated route has consistent locale URLs and SEO metadata.