I18n & Localization · Nuxt SEO Utils · Nuxt SEO

[NuxtSEO](https://nuxtseo.com/ "Home")

- [Modules](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Tools](https://nuxtseo.com/tools)
- [Pro](https://nuxtseo.com/pro)
- [Learn SEO](https://nuxtseo.com/learn-seo/nuxt) [Releases](https://nuxtseo.com/releases)

[1.4K](https://github.com/harlan-zw/nuxt-seo)

[Nuxt SEO on GitHub](https://github.com/harlan-zw/nuxt-seo)

[User Guides](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)

[API](https://nuxtseo.com/docs/seo-utils/api/breadcrumbs)

[Releases](https://nuxtseo.com/docs/seo-utils/releases/v8)

SEO Utils

- [Switch to SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Switch to Nuxt SEO](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Switch to Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Switch to Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [Switch to OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)
- [Switch to Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)
- [Switch to Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)
- [Switch to Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Switch to Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)
- [Switch to AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

Search…```k`` /`

v8.1.7

- Playgrounds
- [Discord Support](https://discord.com/invite/275MBUBvgP)

### Getting Started

- [Introduction](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Installation](https://nuxtseo.com/docs/seo-utils/getting-started/installation)
- [Troubleshooting](https://nuxtseo.com/docs/seo-utils/getting-started/troubleshooting)

### Core Concepts

- [Canonical URL](https://nuxtseo.com/docs/seo-utils/guides/canonical-url)
- [App Icons](https://nuxtseo.com/docs/seo-utils/guides/app-icons)
- [Open Graph Images](https://nuxtseo.com/docs/seo-utils/guides/open-graph-images)
- [Best Practice Default Meta](https://nuxtseo.com/docs/seo-utils/guides/default-meta)
- [Enhanced Titles](https://nuxtseo.com/docs/seo-utils/guides/fallback-title)
- [SEO Route Rules](https://nuxtseo.com/docs/seo-utils/guides/route-rules)
- [I18n & Localization](https://nuxtseo.com/docs/seo-utils/guides/i18n)
- [Nuxt Config SEO Meta](https://nuxtseo.com/docs/seo-utils/guides/nuxt-config-seo-meta)
- [CLI](https://nuxtseo.com/docs/seo-utils/guides/cli)
- [Inline Minification](https://nuxtseo.com/docs/seo-utils/guides/minification)

Core Concepts

# I18n & Localization

[Copy for LLMs](https://nuxtseo.com/docs/seo-utils/guides/i18n.md)

## [Introduction](#introduction)

Nuxt SEO Utils automatically sets the `<html lang="...">` attribute and locale-based meta tags for your site.

## [How is Locale Used?](#how-is-locale-used)

Nuxt SEO Utils will automatically set:

- `<html lang="...">` - Current locale based on your configuration
- `og:locale` - OpenGraph locale (e.g., `en_US`, `ja_JP`)
- Schema.org `inLanguage` - For WebSite, WebPage, and other structured data (when using [Nuxt Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction))
- `useBreadcrumbItems()` - Automatically handles locale-prefixed routes and translates labels via i18n keys (`breadcrumb.items.{routeName}.label`)
- Fallback page titles - Automatically resolves titles from i18n translations using `pages.{routeName}.title` keys

`og:locale` requires a locale format with underscore (e.g., `en_US`). If your locale is just `"en"`, the module won't set `og:locale` automatically. When `@nuxtjs/i18n` is configured with SEO head enabled, it handles `og:locale` directly and takes priority.

## [How Locale is Determined](#how-locale-is-determined)

When `automaticDefaults` is enabled (default), the module sets the `lang` attribute using this priority:

1. **`@nuxtjs/i18n` or `nuxt-i18n-micro` module** - Automatically detected and integrated
2. **Site Config `currentLocale`** - Dynamic locale from `useSiteConfig()`
3. **Site Config `defaultLocale`** - Static default from `nuxt.config.ts`
4. **Fallback** - Defaults to `"en"`

The locale is set with **low priority**, allowing you to override it manually if needed.

## [Setting up Nuxt SEO Utils for I18n](#setting-up-nuxt-seo-utils-for-i18n)

If you're building a multilingual site, install `@nuxtjs/i18n`.

For single language sites without `@nuxtjs/i18n`, set the locale via Site Config:

nuxt.config.ts

```
export default defineNuxtConfig({
  site: {
    defaultLocale: 'ja-JP'
  }
})
```

Set your locale as specific as possible using BCP 47 format (hyphen-separated). Instead of `en`, use `en-US`, `en-AU`, or whatever is appropriate for your site. The module automatically converts this to underscore format (`en_US`) for `og:locale`.

## [Dynamic Locale Changes](#dynamic-locale-changes)

If you need to change the locale dynamically without using the I18n module, use `updateSiteConfig()`:

```
<script setup>
updateSiteConfig({
  currentLocale: 'ja-JP'
})
</script>
```

## [Manual Control](#manual-control)

To manually control all locale settings, disable automatic defaults:

nuxt.config.ts

```
export default defineNuxtConfig({
  seo: {
    automaticDefaults: false
  }
})
```

Then set everything manually:

app.vue

```
useHead({
  htmlAttrs: { lang: 'ja-JP' }
})

useSeoMeta({
  ogLocale: 'ja_JP'
})
```

[Edit this page](https://github.com/harlan-zw/nuxt-seo-utils/edit/main/docs/content/2.guides/4.i18n.md)

[Markdown For LLMs](https://nuxtseo.com/docs/seo-utils/guides/i18n.md)

Did this page help you?

[SEO Route Rules Utilise route rules for dynamic SEO meta tags.](https://nuxtseo.com/docs/seo-utils/guides/route-rules) [Nuxt Config SEO Meta Make use of the power of useSeoMeta inside your nuxt.config.](https://nuxtseo.com/docs/seo-utils/guides/nuxt-config-seo-meta)

On this page

- [Introduction](#introduction)
- [How is Locale Used?](#how-is-locale-used)
- [How Locale is Determined](#how-locale-is-determined)
- [Setting up Nuxt SEO Utils for I18n](#setting-up-nuxt-seo-utils-for-i18n)
- [Dynamic Locale Changes](#dynamic-locale-changes)
- [Manual Control](#manual-control)

[GitHub](https://github.com/harlan-zw/nuxt-seo) [ Discord](https://discord.com/invite/275MBUBvgP)

### [NuxtSEO](https://nuxtseo.com/ "Home")

- [Getting Started](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [MCP](https://nuxtseo.com/docs/nuxt-seo/guides/mcp)

Modules

- [Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)
- [Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)
- [Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)
- [SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)
- [AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

### [NuxtSEO Pro](https://nuxtseo.com/pro "Home")

- [Getting Started](https://nuxtseo.com/pro)
- [Dashboard](https://nuxtseo.com/pro/dashboard)
- [Pro MCP](https://nuxtseo.com/docs/nuxt-seo-pro/mcp/installation)

### [Learn SEO](https://nuxtseo.com/learn-seo "Learn SEO")

Nuxt

- [Mastering Meta](https://nuxtseo.com/learn-seo/nuxt/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers)
- [Launch & Listen](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen)
- [Routes & Rendering](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering)
- [Staying Secure](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/security)

Vue

- [Vue SEO Guide](https://nuxtseo.com/learn-seo/vue)
- [Mastering Meta](https://nuxtseo.com/learn-seo/vue/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/vue/controlling-crawlers)
- [SPA SEO](https://nuxtseo.com/learn-seo/vue/spa)
- [SSR Frameworks](https://nuxtseo.com/learn-seo/vue/ssr-frameworks)
- [SEO Checklist](https://nuxtseo.com/learn-seo/checklist)
- [Pre-Launch Warmup](https://nuxtseo.com/learn-seo/pre-launch-warmup)
- [Backlinks & Authority](https://nuxtseo.com/learn-seo/backlinks)

### [Tools](https://nuxtseo.com/tools "SEO Tools")

- [Social Share Debugger](https://nuxtseo.com/tools/social-share-debugger)
- [Robots.txt Generator](https://nuxtseo.com/tools/robots-txt-generator)
- [Meta Tag Checker](https://nuxtseo.com/tools/meta-tag-checker)
- [HTML to Markdown](https://nuxtseo.com/tools/html-to-markdown)
- [XML Sitemap Validator](https://nuxtseo.com/tools/xml-sitemap-validator)
- [Schema.org Validator](https://nuxtseo.com/tools/schema-validator)
- [Keyword Idea Generator](https://nuxtseo.com/tools/keyword-generator)
- [Keyword Research](https://nuxtseo.com/tools/keyword-research)
- [SERP Analyzer](https://nuxtseo.com/tools/serp-analyzer)
- [Domain Rankings](https://nuxtseo.com/tools/domain-rankings)

Copyright © 2023-2026 Harlan Wilton - [MIT License](https://github.com/harlan-zw/nuxt-seo/blob/main/license) · [mdream](https://mdream.dev)