i18n-rtl-l10n

Installation
SKILL.md

i18n, RTL & Localization

One contract: store canonical, localize at render. Every conversion and formatting lives in one l10n layer; feature widgets receive value objects and already-localized strings, never raw formatting logic. RTL is a layout discipline, not a translation task — author with logical geometry so it mirrors by construction. Applies to any app that ships more than one locale or any RTL locale (Arabic, Persian, Hebrew, Sorani Kurdish, Urdu).

Read the reference for the task at hand:

  • references/arb-and-icu.md — the ARB add/translate workflow, l10n.yaml, ICU plural/select, placeholder typing.
  • references/rtl-and-bidi.md — the directional-geometry allow/ban table, icon mirroring, bidi isolation, CustomPainter pinned LTR, RTL charts.
  • references/numerals-and-calendars.md — digit systems, separator traps, format/parse, calendar projection.
  • references/unsupported-locales.md — shipping a locale flutter_localizations has no data for: the probe, the vendored delegate trio, delegate ordering, font coverage.

Run scripts/check_arb_parity.sh and scripts/check_i18n_bans.sh before a PR.

Non-negotiable rules

Installs
73
GitHub Stars
34
First Seen
Aug 15, 2026
i18n-rtl-l10n — zakariaf/flutter-skills