Skip to content
View i18n-l10n's full-sized avatar

Block or report i18n-l10n

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
i18n-l10n/README.md

i18n & l10n Pipelines β€” end-to-end internationalization and localization documentation

i18n & l10n Pipelines

End-to-end internationalization and localization documentation for developers who ship in more than one language.

🌐 Live site: www.i18n-l10n.com

Live Built with Eleventy Deployed on Cloudflare Workers


Internationalization is one of those things that looks simple until the first bug report comes in from a locale you never tested β€” a plural that reads wrong in Polish, a date that lands a day off in Tokyo, a translation catalog that silently drops half its keys after a one-character source edit. i18n-l10n.com is a practical, deeply technical reference for getting all of that right: 51 hand-written guides covering the full path from resolving a user's locale to keeping translations in sync through your CI/CD pipeline.

Every page is written for engineers doing the actual work β€” real code, real failure modes, real fixes β€” not marketing fluff. Diagrams are hand-authored SVGs, examples are runnable, and the hard edge cases (CLDR plural categories, ICU selectordinal, RTL mirroring, redirect loops in Next.js middleware) get the space they deserve.

What's inside

The guides are organized into three areas that follow the work itself:

🌐 Core i18n Architecture & Locale Negotiation

The foundational layer β€” how to make locale handling deterministic and correct.

  • Locale negotiation strategies and fallback chain configuration
  • ICU Message Format in depth: nested plurals, select/selectordinal, complex messages
  • CLDR pluralization rules across languages (including Arabic and Slavic few/many traps)
  • Date & number formatting with the native Intl API
  • RTL / bidirectional layout engineering
  • Translation memory & glossary management

βš›οΈ Frontend Framework i18n & Component Routing

Framework-specific integration patterns for the stacks teams actually use.

  • React (i18next component patterns), Next.js (App Router i18n middleware & routing)
  • Vue 3 (Composition API), Angular (@angular/localize), SvelteKit, Astro
  • Type-safe hooks, middleware routing, SSR hydration, and locale cookie persistence
  • Tooling decisions like FormatJS vs Lingui, compared end to end

πŸ”„ Translation Workflows & CI/CD Pipeline Sync

Automation that keeps translations flowing without breaking builds.

  • Crowdin and Weblate integrations for dev teams (including self-hosted)
  • AST-based key extraction with i18next-parser
  • GitHub Actions CI gates that fail the build on untranslated keys
  • PO ↔ XLIFF format bridging without data loss
  • Machine-translation pre-fill workflows with quality gates

Who it's for

Full-stack developers, UX engineers, product teams, and localization managers who need internationalization that is deterministic, cache-aware, edge-ready, and scales past the first few locales.

Features

  • ✍️ 51 in-depth technical guides across three coherent areas, tightly cross-linked.
  • 🎨 Hand-authored inline SVG diagrams β€” architecture, sequence, and comparison visuals that adapt to light/dark themes; no stock imagery.
  • ❓ FAQ accordions and runnable code examples on every page.
  • πŸ”Ž SEO-ready structured data (JSON-LD TechArticle + breadcrumbs), sitemap, and canonical URLs.
  • πŸ“± Installable PWA β€” web app manifest, service worker, and generated icons.
  • ⚑ Fast by construction β€” a static Eleventy build served at the edge as a Cloudflare Worker.

Tech stack

Layer Choice
Site generator Eleventy (11ty) with Nunjucks + Markdown
Styling Hand-written CSS (no framework), theme-aware
Hosting Cloudflare Workers static assets on the i18n-l10n.com zone
Icons/PWA sharp-generated icon set, web manifest, service worker

Zero runtime dependencies β€” the shipped site is plain HTML, CSS, and a little JavaScript.

Local development

npm install          # install build tooling
npm start            # generate icons + serve with live reload at http://localhost:8080
npm run build        # produce the static site in ./_site

Project structure

content/        Markdown guides + Nunjucks pages (index, sitemap, robots), organized by area
_includes/      Nunjucks layouts (base, home, content)
_data/          Global site data (site.json) and asset cache-busting hashes
assets/         CSS, JS, icons, service worker, manifest
scripts/        Build helpers (icon generation)
src/            Cloudflare Worker entry
wrangler.toml   Cloudflare Workers configuration

Deployment

The site builds to static files and deploys as a Cloudflare Worker serving those assets:

npm run deploy       # npm run build && wrangler deploy

Routes are served on both i18n-l10n.com/* and www.i18n-l10n.com/* (canonical is www).


Built and maintained as an open technical reference for the internationalization community. Spot something wrong or missing? Open an issue.

Popular repositories Loading

  1. i18n-l10n i18n-l10n Public

    End-to-end internationalization (i18n) & localization (l10n) pipeline documentation for developers β€” locale negotiation, ICU message format, framework i18n (React/Next.js/Vue/Angular/SvelteKit), an…

    Nunjucks

  2. translation-key-linter translation-key-linter Public

    Zero-dependency CLI + CI check that catches translation drift: missing keys, placeholder mismatches, and CLDR-aware ICU plural bugs

    JavaScript

  3. icu-message-playground icu-message-playground Public

    Offline, dependency-free playground and engine for authoring and previewing ICU MessageFormat strings across locales

    JavaScript

  4. locale-fallback-simulator locale-fallback-simulator Public

    Zero-dependency simulator that reveals which locales silently leak the base language through their translation fallback chains

    JavaScript

  5. rtl-audit rtl-audit Public

    Zero-dependency CLI that finds RTL layout bugs in CSS/SCSS and inline styles and suggests logical-property fixes

    JavaScript

  6. i18n-framework-adapter i18n-framework-adapter Public

    One framework-agnostic i18n core (negotiation, fallback, ICU-subset formatting) with thin Next.js, Vue, and Svelte adapters

    JavaScript