localization

Implements internationalization and localization patterns for multilingual software applications.

1|Updated Mar 5, 2026
One-click install
npx skills add https://github.com/fabioc-aloha/AlexAgent --skill localization-fabioc-aloha
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: localization
Source: https://github.com/fabioc-aloha/AlexAgent/tree/main/plugin/skills/localization
Command: npx skills add https://github.com/fabioc-aloha/AlexAgent --skill localization-fabioc-aloha

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires next-intl, @formatjs/intl-localematcher, negotiator, intl-messageformat, rtl-detect, tailwindcss-rtl.

What problem does it solve? Building software that works across languages, regions, and writing systems requires solving language detection, translation fallback, pluralization, RTL layout, font coverage, and translation quality assurance — this Skill provides the architecture and code patterns for all of them. ## Core Features & Use Cases - Language Detection & Fallback: Implements a detection cascade (user preference, identity provider, Accept-Language header) with CLDR-style fallback chains and BCP 47 locale matching. - Translation & Formatting Patterns: Provides ICU MessageFormat pluralization, locale-aware date/number/currency formatting, and dialect inheritance trees for regional variants like Manezinho Portuguese. - RTL, Fonts & LQA: Covers CSS logical properties for right-to-left languages, Noto font selection per script, pseudo-localization testing, and severity-tiered localization QA. - Use Case: When adding Spanish and Arabic support to a Next.js app, use this Skill to configure next-intl middleware, set up Accept-Language detection, handle RTL layout with logical CSS properties, and write automated tests verifying translation key coverage. ## Quick Start Use the localization skill to set up next-intl middleware with Accept-Language detection and fallback chains for my Next.js app supporting English, Spanish, and Arabic.

Frequently Asked Questions about localization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect user language in a web application?▼

Language detection uses a priority cascade: explicit user selection, identity provider profile claims, organization default, Accept-Language header, then navigator.language. Parse Accept-Language with negotiator and match against supported locales using @formatjs/intl-localematcher.

How to handle pluralization in translations with ICU MessageFormat?▼

ICU MessageFormat handles pluralization with the plural selector, supporting language-specific forms like Polish one/few/many or Arabic's six plural categories. Use intl-messageformat to format messages with count parameters per locale.

What CSS properties support RTL languages like Arabic?▼

CSS logical properties support RTL layouts automatically: use margin-inline-start, padding-inline-end, and text-align: start instead of physical left/right properties. Set document.documentElement.dir to rtl for languages like Arabic, Hebrew, and Farsi.

Does next-intl work with Next.js App Router?▼

next-intl supports Next.js App Router through middleware that handles locale routing and detection, plus getRequestConfig for server-side message loading. Configure supported locales, a default locale, and enable localeDetection for Accept-Language parsing.

Why use pseudo-localization before real translations?▼

Pseudo-localization wraps strings with brackets, accents characters, and adds ~30% padding to simulate German expansion. It reveals hardcoded untranslated strings, text truncation issues, and encoding bugs before paying for actual translations.

What are BCP 47 language tag formatting rules?▼

BCP 47 tags follow the pattern language-script-region-variant, like zh-Hans or pt-BR. Use hyphens not underscores, lowercase language codes, titlecase script codes, uppercase region codes, and keep tags minimal unless disambiguation is needed.