Skip to content
Back to skills

Nuxt I18n

ASecurity

Internationalize Nuxt applications with @nuxtjs/i18n. Use when configuring locales or browser detection, translating messages or routes, building locale switchers, handling fallbacks, lazy-loading messages, or adding locale SEO.

  • 714 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 5, 2026
toolsbashvue

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add onmax/nuxt-skills --skill nuxt-i18n --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Nuxt I18n?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Nuxt I18n
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/onmax-nuxt-i18n/badge)](https://www.skillsdirectory.com/skills/onmax-nuxt-i18n)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: nuxt-i18n
description: Internationalize Nuxt applications with @nuxtjs/i18n. Use when configuring locales or browser detection, translating messages or routes, building locale switchers, handling fallbacks, lazy-loading messages, or adding locale SEO.
license: MIT
---

# Nuxt I18n

Nuxt I18n owns locale messages, localized routes, language detection, and locale metadata. Nuxt owns the surrounding page, rendering, and server lifecycle.

## Workflow

1. Inspect the installed `@nuxtjs/i18n` version, `nuxt.config.*`, `i18n/i18n.config.*`, locale files, and affected pages. The setup is understood when locale codes, files, `defaultLocale`, and the routing strategy agree.
2. Open the smallest matching guide below. Keep module options in `nuxt.config`, Vue I18n options in `i18n.config`, and translated messages in locale files.
3. Implement with localized links and module composables so routing, message loading, and SEO share one locale state.
4. Run `nuxi prepare` and the project's typecheck, then visit the affected route in the default and one secondary locale. The change is complete when both locales render the expected message, URL, language metadata, and fallback behavior.

## Routing

| Task                                                                                 | Open                                         |
| ------------------------------------------------------------------------------------ | -------------------------------------------- |
| Installation, locale objects, file layout, browser detection, or Vue I18n config     | [Configuration](references/configuration.md) |
| Translation keys, interpolation, plurals, dates, numbers, or runtime message loading | [Messages](references/messages.md)           |
| Route strategies, localized links, switchers, custom paths, dynamic slugs, or SEO    | [Routing and SEO](references/routing.md)     |
| Nuxt pages, middleware, data fetching, SSR state, or server routes                   | `nuxt` skill                                 |

## Baseline

```bash
npx nuxi@latest module add @nuxtjs/i18n
```

```ts
export default defineNuxtConfig({
  modules: ['@nuxtjs/i18n'],
  i18n: {
    defaultLocale: 'en',
    locales: [
      { code: 'en', language: 'en-US', name: 'English', file: 'en.json' },
      { code: 'fr', language: 'fr-FR', name: 'Français', file: 'fr.json' },
    ],
  },
})
```

```json
{
  "welcome": "Welcome"
}
```

Locale files resolve from `i18n/locales/` by default. Use the same locale code in configuration, route helpers, locale files, and fallback rules.

Files in this skill

  • SKILL.md2.5 KB
  • references/configuration.md3.4 KB
  • references/messages.md2.9 KB
  • references/routing.md4.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.