forge-i18n: Internationalization
Engine: Forge native
Purpose
Find locale, translation, formatting, expansion, fallback, and bidirectional-layout defects.
Deterministic runtime composition
Before loading any provider procedure, run:
Resolve ../../runtime/cli/src/composition-entry.js relative to this SKILL.md, then run:
node "<resolved-absolute-runner-path>" i18n compose --workflow audit --root "<repository-root>" --dry-run --json
Add one repeatable --request <provider-or-source> flag for each explicit user request. Add
--condition <task-condition> or --risk-surface <surface> only for a task fact you directly
proved; never infer one from generic wording. The command above is the default for this
audit-oriented module; for implementation use --workflow build, and for a fix, retest, or
release gate use --workflow fix, verify, or ship respectively. Read the JSON response,
keep the Forge contract at index zero, and resolve paths against the absolute runtime_root
reported in that response. Read eager[].runtimePath when entering the module. The full
selected[] list is availability/provenance; load only deferred[].runtimePath when the task
reaches that concern, in tier order. Refuse any path that escapes the root. Respect every reported
suppression and context budget. If missing is non-empty, stop and report the installation as
damaged; do not improvise a prose fallback. The runner and specialist content may live in a plugin
cache or global installation; never assume they are inside the audited repository.
Resolve and read ../fullstack-forge/references/shared/module-contract.md (applicability,
execution, mutation, verification, completion) and
../fullstack-forge/references/shared/evidence-rules.md (statuses, standards, tools, findings via
../fullstack-forge/references/PROTOCOL.md) relative to this module SKILL.md before reporting.
Never hide failed checks or claim that an operation ran when it did not.
Automatic activation signals
Activate when a request or direct repository evidence involves internationalization, when
the user explicitly names forge-i18n, or when discovery proves an applicable boundary.
- Localized or locale-sensitive products
- Products handling names, addresses, dates, currency, or pluralization
When not to activate
- Locale-neutral internal protocols
Automated support
Relevant discovery inputs are:
- locale catalogs
- routing and middleware
- formatting utilities
Deterministic support, bounded evidence only:
- None; use detected project commands and direct manual evidence.
Agent inspection procedure
- Inventory user-facing strings and locate hard-coded literals outside the translation system.
- Compare message catalogs for completeness across supported locales and record missing or stale keys.
- Render representative screens in Arabic (RTL), French, and English, checking direction, alignment, mixed-direction text, and expansion overflow.
- Trace date, time, number, and currency values from storage to display and verify locale-aware formatting at the display boundary, with time zones handled at the edges.
- Check pluralization rules, sorting and collation, and locale persistence across sessions and communication channels (emails, PDFs, errors).
Manual inspection requirements:
- Review culturally sensitive copy and incomplete translations
- Exercise representative RTL and long-string layouts
Stack-specific guidance:
- Use the detected framework's routing and message extraction conventions
Evidence to collect
Standards used as criteria:
- Unicode CLDR
- BCP 47
- ECMA-402
Common production failures
- Detect user-facing hard-coded text and inconsistent translation keys
- Inspect locale negotiation, fallback, pluralization, date, number, currency, time-zone, and collation behavior
- Check text expansion, RTL direction, mirrored layout, Unicode input, and localized metadata
Missing-control checks
Each item needs direct evidence or one reasoned status.
- Hard-coded user-facing strings
- Translation completeness
- RTL layouts
- Mixed LTR and RTL content
- Date formatting
- Time formatting
- Time zones
- Currency formatting
- Number formatting
- Locale-aware sorting
- Pluralization
- Unicode
- Text expansion
- Phone-number formats
- Address formats
- Name formats
- Localized emails
- Localized PDFs
- Localized errors
- Locale persistence
- Language fallbacks
- Arabic, French, and English compatibility
Commands and tools
- Run
forge i18n audit --json or fullstack-forge i18n audit --json when
an explicit audit is requested and the CLI is installed. Normal feature work does not require it.
Safe fixes
- Replace ad hoc formatting with existing locale utilities
- Add missing fallback keys when translation intent is known
Approval-required changes
- Changing source copy, locale support policy, or financial formatting rules
Verification
- Run catalog consistency checks
- Render representative locales and confirm fallback behavior
Completion contract
Follow fullstack-forge/references/shared/completion.md and the limitations below.
Known limitations
- Translation quality requires qualified human review
1---2name: forge-i18n-33description: Find locale, translation, formatting, expansion, fallback, and bidirectional-layout defects.4---56# forge-i18n: Internationalization78Engine: Forge native910## Purpose1112Find locale, translation, formatting, expansion, fallback, and bidirectional-layout defects.131415## Deterministic runtime composition1617Before loading any provider procedure, run:1819Resolve `../../runtime/cli/src/composition-entry.js` relative to this `SKILL.md`, then run:2021`node "<resolved-absolute-runner-path>" i18n compose --workflow audit --root "<repository-root>" --dry-run --json`2223Add one repeatable `--request <provider-or-source>` flag for each explicit user request. Add24`--condition <task-condition>` or `--risk-surface <surface>` only for a task fact you directly25proved; never infer one from generic wording. The command above is the default for this26audit-oriented module; for implementation use `--workflow build`, and for a fix, retest, or27release gate use `--workflow fix`, `verify`, or `ship` respectively. Read the JSON response,28keep the Forge contract at index zero, and resolve paths against the absolute `runtime_root`29reported in that response. Read `eager[].runtimePath` when entering the module. The full30`selected[]` list is availability/provenance; load only `deferred[].runtimePath` when the task31reaches that concern, in tier order. Refuse any path that escapes the root. Respect every reported32suppression and context budget. If `missing` is non-empty, stop and report the installation as33damaged; do not improvise a prose fallback. The runner and specialist content may live in a plugin34cache or global installation; never assume they are inside the audited repository.353637Resolve and read `../fullstack-forge/references/shared/module-contract.md` (applicability,38execution, mutation, verification, completion) and39`../fullstack-forge/references/shared/evidence-rules.md` (statuses, standards, tools, findings via40`../fullstack-forge/references/PROTOCOL.md`) relative to this module `SKILL.md` before reporting.4142Never hide failed checks or claim that an operation ran when it did not.4344## Automatic activation signals4546Activate when a request or direct repository evidence involves internationalization, when47the user explicitly names `forge-i18n`, or when discovery proves an applicable boundary.4849- Localized or locale-sensitive products50- Products handling names, addresses, dates, currency, or pluralization5152## When not to activate5354- Locale-neutral internal protocols5556## Automated support5758Relevant discovery inputs are:5960- locale catalogs61- routing and middleware62- formatting utilities6364Deterministic support, bounded evidence only:6566- None; use detected project commands and direct manual evidence.6768## Agent inspection procedure69701. Inventory user-facing strings and locate hard-coded literals outside the translation system.712. Compare message catalogs for completeness across supported locales and record missing or stale keys.723. Render representative screens in Arabic (RTL), French, and English, checking direction, alignment, mixed-direction text, and expansion overflow.734. Trace date, time, number, and currency values from storage to display and verify locale-aware formatting at the display boundary, with time zones handled at the edges.745. Check pluralization rules, sorting and collation, and locale persistence across sessions and communication channels (emails, PDFs, errors).7576Manual inspection requirements:7778- Review culturally sensitive copy and incomplete translations79- Exercise representative RTL and long-string layouts8081Stack-specific guidance:8283- Use the detected framework's routing and message extraction conventions8485## Evidence to collect8687Standards used as criteria:8889- Unicode CLDR90- BCP 4791- ECMA-4029293## Common production failures9495- Detect user-facing hard-coded text and inconsistent translation keys96- Inspect locale negotiation, fallback, pluralization, date, number, currency, time-zone, and collation behavior97- Check text expansion, RTL direction, mirrored layout, Unicode input, and localized metadata9899## Missing-control checks100101Each item needs direct evidence or one reasoned status.102103- Hard-coded user-facing strings104- Translation completeness105- RTL layouts106- Mixed LTR and RTL content107- Date formatting108- Time formatting109- Time zones110- Currency formatting111- Number formatting112- Locale-aware sorting113- Pluralization114- Unicode115- Text expansion116- Phone-number formats117- Address formats118- Name formats119- Localized emails120- Localized PDFs121- Localized errors122- Locale persistence123- Language fallbacks124- Arabic, French, and English compatibility125126## Commands and tools127128- Run `forge i18n audit --json` or `fullstack-forge i18n audit --json` when129 an explicit audit is requested and the CLI is installed. Normal feature work does not require it.130131## Safe fixes132133- Replace ad hoc formatting with existing locale utilities134- Add missing fallback keys when translation intent is known135136## Approval-required changes137138- Changing source copy, locale support policy, or financial formatting rules139140## Verification141142- Run catalog consistency checks143- Render representative locales and confirm fallback behavior144145## Completion contract146147Follow `fullstack-forge/references/shared/completion.md` and the limitations below.148149## Known limitations150151- Translation quality requires qualified human review