Claude Code Plugins

Community-maintained marketplace

Feedback

Internationalization - localization, translations. Use when adding languages.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name i18n
description Internationalization - localization, translations. Use when adding languages.

i18n Guideline

Tech Stack

  • i18n: next-intl
  • Framework: Next.js

Non-Negotiables

  • /en/* must not exist (permanently redirect to non-prefixed)
  • Missing translation keys must fail build
  • No hardcoded user-facing strings outside localization
  • Translation bundles must be split by namespace or route (no monolithic language files)

Context

Internationalization isn't just translation — it's making the product feel native to each market. Bad i18n is obvious to users and signals that they're second-class citizens. Good i18n is invisible.

Consider: dates, numbers, currency, pluralization, text direction, cultural norms. Does the product feel like it was built for each locale, or does it feel like a translation of an English product?

Driving Questions

  • What would make the product feel native to a non-English user?
  • Where do translations feel awkward or machine-generated?
  • What cultural assumptions are baked into the UX that don't translate?
  • How painful is the translation workflow for adding new strings?
  • What locales are we missing that represent real market opportunity?
  • Where do we fall back to English in ways users would notice?
  • How large are the translation bundles, and what's being sent to the client?

Bundle Constraints

  • No monolithic language files — split by namespace (common, auth, dashboard, etc.)
  • Server Components for translations wherever possible — client bundles must not include translations that could stay on server
  • Each route should load only its required namespaces
  • Measure client bundle size impact of translations