i18n

Implement framework-specific locale routing and ICU message catalogs for Next.js and Nuxt.

15|2|Updated May 23, 2026
One-click install
npx skills add https://github.com/VKirill/antigravity-for-claude-code --skill i18n-vkirill
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: i18n
Source: https://github.com/VKirill/antigravity-for-claude-code/tree/main/skills/i18n
Command: npx skills add https://github.com/VKirill/antigravity-for-claude-code --skill i18n-vkirill

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you implement web application internationalization correctly across routing, message formats, SEO, and translation workflows without breaking rendering or translator pipelines.

Core Features & Use Cases

  • Framework-aware i18n setup: Selects the right stack for Next.js (next-intl) vs Nuxt/Vue (vue-i18n via @nuxtjs/i18n) based on the project context.
  • Correct locale routing + SEO wiring: Guides locale-prefixed strategies (always/as-needed/never), generates hreflang alternatives, sets canonical URLs, and supports per-locale sitemaps.
  • Safe translation and runtime patterns: Covers ICU message structure, namespace organization, lazy-loading messages, and avoiding hydration mismatches when switching locales.
  • Translation management workflow: Integrates with Crowdin, Lokalise, Phrase, and Tolgee with recommended git-first source control patterns.
  • Troubleshooting guardrails: Prevents common pitfalls like incorrect setRequestLocale ordering, missing keys behavior, and Russian pluralization issues.

Quick Start

Use i18n to add Russian translations to my Next.js 16 App Router project with locale-prefixed routing, hreflang, lazy-loaded messages, and ICU plural rules.

Frequently Asked Questions about i18n

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up next-intl routing and lazy-loaded messages in a Next.js App Router project?

To set up next-intl routing, configure locale-prefixed strategies and initialize layouts using setRequestLocale in the correct order to enable lazy-loaded messages and prevent hydration mismatches when switching locales.

Does vue-i18n support ICU plural rules and locale-prefixed routing in Nuxt?

Yes, vue-i18n via @nuxtjs/i18n supports ICU plural rules and locale-prefixed routing strategies, allowing you to build locale switchers and format dates or numbers dynamically per locale in Nuxt applications.

What's the best way to manage hreflang tags and canonical URLs for multilingual SEO?

The best way to manage multilingual SEO is generating hreflang alternative links and setting canonical URLs alongside per-locale sitemaps, ensuring search engines correctly index locale-prefixed routes without duplicate content issues.

How do I organize translation message catalogs by namespace for internationalization?

Organize translation message catalogs by grouping ICU-formatted messages into logical namespaces, which allows safe runtime loading of specific translation subsets and maintains fallback behavior for missing keys.

Why does my Russian ICU pluralization return the wrong translation form?

Russian ICU pluralization fails when ICU message syntax is invalid or plural rules are misconfigured, requiring validation of ICU select and plural tags to ensure correct fallback behavior for Russian translation forms.

Can I integrate Crowdin or Lokalise with a git-first internationalization workflow?

Yes, you can integrate Crowdin, Lokalise, Phrase, and Tolgee using recommended git-first source control patterns, synchronizing translation files directly with your message catalog structure to maintain safe translation pipelines.