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

Internationalization I18n

  • 566 installs
  • 305 repo stars
  • Updated March 4, 2026
  • aj-geddes/useful-ai-prompts

internationalization-i18n is an agent skill that guides developers through message extraction, translation catalogs, pluralization, date/time/number formatting, RTL support, and library setup with i18next and gettext for

About

internationalization-i18n is a comprehensive agent skill from useful-ai-prompts for implementing internationalization and localization in web and mobile codebases. It walks developers through message extraction, translation catalog structure, pluralization rules, locale-aware date/time and number formatting, and right-to-left language support. The skill references established libraries including i18next and gettext and includes quick-start paths, reference guides, and best-practice checklists agents can apply directly in repositories. Developers reach for internationalization-i18n when adding a new locale, refactoring hard-coded strings, or standing up translation management before launch. Because i18n touches routing, component copy, and server responses, the skill spans multiple implementation steps rather than a single file edit, making it suited to sustained build-phase work across frontend and API layers.

  • Implements message extraction and translation catalogs
  • Handles pluralization rules, date/time/number formatting, and RTL support
  • Integrates with i18next, gettext and other popular i18n libraries
  • Supports language detection, switching, and translation workflows
  • Provides ready-to-use TypeScript and JavaScript implementation patterns

Internationalization I18n by the numbers

  • 566 all-time installs (skills.sh)
  • Ranked #590 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill internationalization-i18n

Add your badge

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

Listed on Skillselion
Installs566
repo stars305
Last updatedMarch 4, 2026
Repositoryaj-geddes/useful-ai-prompts

How do you add i18next translation catalogs to a React app?

Add multi-language support, locale-aware formatting, and translation management to web and mobile apps.

Who is it for?

Developers shipping multi-language web or mobile apps who need structured i18n patterns for catalogs, pluralization, and RTL rather than ad-hoc string replacement.

Skip if: Developers who only need a one-off string translated without integrating locale routing, catalogs, or formatting into the codebase.

When should I use this skill?

The user mentions internationalization, localization, translation catalogs, i18next, gettext, RTL, or multi-language support.

What you get

Locale message files, pluralization rules, RTL-ready layouts, and formatted date/time/number outputs per language.

  • translation catalog files
  • locale routing config
  • RTL-ready component patterns

Files

SKILL.mdMarkdownGitHub ↗

Internationalization (i18n) & Localization

Table of Contents

Overview

Comprehensive guide to implementing internationalization and localization in applications. Covers message translation, pluralization, date/time/number formatting, RTL languages, and integration with popular i18n libraries.

When to Use

  • Building multi-language applications
  • Supporting international users
  • Implementing language switching
  • Formatting dates, times, and numbers for different locales
  • Supporting RTL (right-to-left) languages
  • Extracting and managing translation strings
  • Implementing pluralization rules
  • Setting up translation workflows

Quick Start

Minimal working example:

// i18n.ts
import i18next from "i18next";
import Backend from "i18next-http-backend";
import LanguageDetector from "i18next-browser-languagedetector";

await i18next
  .use(Backend)
  .use(LanguageDetector)
  .init({
    fallbackLng: "en",
    debug: process.env.NODE_ENV === "development",

    interpolation: {
      escapeValue: false, // React already escapes
    },

    backend: {
      loadPath: "/locales/{{lng}}/{{ns}}.json",
    },

    detection: {
      order: ["querystring", "cookie", "localStorage", "navigator"],
      caches: ["localStorage", "cookie"],
    },
  });
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
i18next (JavaScript/TypeScript)i18next (JavaScript/TypeScript)
React-Intl (Format.js)React-Intl (Format.js)
Python i18n (gettext)Python i18n (gettext)
Date and Time FormattingDate and Time Formatting
Number and Currency FormattingNumber and Currency Formatting
Pluralization RulesPluralization Rules
RTL (Right-to-Left) Language SupportRTL (Right-to-Left) Language Support
Translation ManagementTranslation Management
Locale DetectionLocale Detection
Server-Side i18nServer-Side i18n

Best Practices

✅ DO

  • Extract all user-facing strings to translation files
  • Use ICU message format for complex messages
  • Support pluralization correctly for each language
  • Use locale-aware date/time/number formatting
  • Implement RTL support for Arabic, Hebrew, etc.
  • Provide fallback language (usually English)
  • Use namespaces to organize translations
  • Test with pseudo-localization (ääçćëńţś)
  • Store locale preference (cookie, localStorage)
  • Use professional translators for production
  • Implement translation management workflow
  • Support dynamic locale switching
  • Use translation memory tools

❌ DON'T

  • Hardcode user-facing strings in code
  • Concatenate translated strings
  • Assume English grammar rules apply to all languages
  • Use generic plural forms (one/many) for all languages
  • Forget about text expansion (German is ~30% longer)
  • Store dates/times in locale-specific formats
  • Use flags to represent languages (flag ≠ language)
  • Translate technical terms without context
  • Mix translation keys with UI strings
  • Forget to translate alt text, titles, placeholders
  • Assume left-to-right layout

Related skills

How it compares

Use internationalization-i18n when you need end-to-end locale architecture—not just a single translated JSON file.

FAQ

Which i18n libraries does internationalization-i18n cover?

internationalization-i18n documents patterns for i18next and gettext alongside general message-extraction and catalog-management practices. Developers can apply the guides to other stacks, but those two libraries are the named references.

Does internationalization-i18n handle RTL languages?

internationalization-i18n includes right-to-left language support guidance for layout, text direction, and locale-aware formatting. This helps teams ship Arabic, Hebrew, and other bidirectional locales without breaking UI structure.

What formatting does the skill address beyond strings?

internationalization-i18n covers locale-aware date, time, and number formatting plus pluralization rules in translation catalogs. These details prevent subtle localization bugs that plain string translation alone cannot fix.

Frontend Developmentfrontendintegrations

This week in AI coding

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

unsubscribe anytime.