Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
secondsky avatar

Internationalization I18n

  • 339 installs
  • 202 repo stars
  • Updated August 4, 2026
  • secondsky/claude-skills

internationalization-i18n is a development skill that assists internationalization workflows for developers who need to add localization, translation keys, and locale handling to an application.

About

internationalization-i18n is a developer skill for working on internationalization tasks in application codebases. internationalization-i18n is intended to help developers plan and apply changes such as extracting UI strings, defining translation keys, and wiring locale selection and formatting behaviors into the frontend. internationalization-i18n is typically used when a product expands to new regions or when developers need consistent localization patterns across multiple routes and components. Developers reach for internationalization-i18n when i18n work touches many files and requires repeatable transformations, such as converting hardcoded strings to translation lookups and ensuring date/number formatting is locale-safe.

  • internationalization-i18n

Internationalization I18n by the numbers

  • 339 all-time installs (skills.sh)
  • +14 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #1,232 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/secondsky/claude-skills --skill internationalization-i18n

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs339
repo stars202
Last updatedAugust 4, 2026
Repositorysecondsky/claude-skills

How do I add i18n to my app?

Use internationalization-i18n for development tasks

Who is it for?

internationalization-i18n is best for developers implementing localization across a frontend codebase with repeated string and locale-handling changes.

Skip if: internationalization-i18n is not for codebases that do not require multiple locales or that already have a complete localization system in place.

When should I use this skill?

Invoke when a developer asks to add i18n, localize UI strings, introduce locale routing, or standardize translation keys across the frontend.

What you get

Translation key plan, localized string mappings, and code changes to support locale selection and formatting.

  • translation key plan
  • localization refactor

Files

SKILL.mdMarkdownGitHub ↗

Internationalization (i18n)

Implement multi-language support with proper translation management and formatting.

i18next Setup (React)

import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import LanguageDetector from 'i18next-browser-languagedetector';

i18n
  .use(LanguageDetector)
  .use(initReactI18next)
  .init({
    fallbackLng: 'en',
    interpolation: { escapeValue: false },
    resources: {
      en: { translation: { welcome: 'Welcome, {{name}}!' } },
      es: { translation: { welcome: '¡Bienvenido, {{name}}!' } }
    }
  });

// Usage
const { t } = useTranslation();
<h1>{t('welcome', { name: 'John' })}</h1>

Pluralization

// Translation file
{
  "items": "{{count}} item",
  "items_plural": "{{count}} items",
  "items_zero": "No items"
}

// Usage
t('items', { count: 0 })  // "No items"
t('items', { count: 1 })  // "1 item"
t('items', { count: 5 })  // "5 items"

Date/Number Formatting

// Dates
new Intl.DateTimeFormat('de-DE', {
  dateStyle: 'long',
  timeStyle: 'short'
}).format(new Date());

// Numbers
new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD'
}).format(1234.56);  // "$1,234.56"

// Relative time
new Intl.RelativeTimeFormat('en', { numeric: 'auto' })
  .format(-1, 'day');  // "yesterday"

RTL Support

/* Use logical properties */
.container {
  margin-inline-start: 1rem;  /* margin-left in LTR, margin-right in RTL */
  padding-inline-end: 1rem;
}

/* Direction attribute */
html[dir="rtl"] .icon {
  transform: scaleX(-1);
}

Additional Frameworks

See references/frameworks.md for:

  • React-Intl (Format.js) complete implementation
  • Python gettext with Flask/Babel
  • RTL language support patterns
  • ICU Message Format examples

Best Practices

  • Extract all user-facing strings
  • Use ICU message format for complex translations
  • Test with pseudo-localization
  • Support RTL from the start
  • Never concatenate translated strings
  • Use professional translators for production

Related skills

How it compares

Pick an i18n refactor helper when localization touches many files; pick a single-string translation helper when you only need a few isolated changes.

FAQ

What kind of changes does internationalization-i18n help with?

internationalization-i18n helps with codebase changes needed for localization such as extracting UI strings into translation keys, planning message catalogs, and wiring locale selection and formatting. internationalization-i18n is most useful when i18n work spans many components

When should I start i18n work in a project?

internationalization-i18n should be used when a project needs to support multiple locales or when hardcoded strings and formatting need to be standardized. internationalization-i18n fits a build-phase workflow where developers implement translation lookups and locale-safe formatt

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.