Internationalization — opt-in translations
SkillAI & modelsThis skill guides your AI in adding and editing localized interface text in agent-native apps. Once added, it can add, change, or remove user-visible copy such as labels, prompts, toasts, and empty states across every locale your app supports, and keep dates, numbers, and lists formatted for each language.
Available today. Use it from your connected AI after setup.
No other account needed.
Add the skill, then ask your AI to write or update the text on any screen and it will cover each locale your app supports. To support a new language, have it opt in through the agent-native.config.ts file.
Then ask your AI: use the Internationalization — opt-in translations skill
What your AI can do with it
- Add or edit localized interface text across all supported locales
- Update labels, prompts, toasts, and empty states in every language
- Remove user-visible copy when it is no longer needed
- Format dates, numbers, and lists to match each locale
- Turn on additional locales through the app's config file
What this skill tells your AI
The instructions your AI receives, as published by builderio/agent-native in .agents/skills/internationalization/SKILL.md and read by ahel’s review.
English (en-US) is the default source locale. Do not create or update
additional locale catalogs unless the app's agent-native.config.ts lists them
under translations.locales.
Rule
Visible framework/template UI copy belongs in the app's i18n catalog, not
inline in components. When you add or edit UI text, update the English source
catalog first, then update only the locale catalogs listed in
translations.locales, and run the i18n guard.
Catalogs
Templates use app/i18n/:
en-US.tsis the canonical source tree and fallback.- Other locale files keep the same non-plural keys and the same placeholders.
index.tsexports anAgentNativeI18nCatalogwith English bundled and non-English catalogs loaded by dynamic import.
Use BCP-47 filenames from the supported set: en-US, zh-CN, es-ES,
fr-FR, de-DE, ja-JP, ko-KR, pt-BR, hi-IN, ar-SA.
If an app only ships translations for a subset of that set, set
supportedLocales on the AgentNativeI18nCatalog to that subset. Without it,
<LanguagePicker /> lists every framework-supported locale regardless of
whether loadMessages can actually resolve it.
UI Pattern
- Wrap apps with
AppProviders i18n={{ catalog: i18nCatalog }}. - Read strings with
useT()and keep keys stable. - Sidebar apps should expose a
/settingsroute in the app sidebar. Put<LanguagePicker />in that settings page, usually in a Language or General section, and keep the header language icon only as a quick-access shortcut. - Settings pages should include an "Agent settings" row/card that calls
openAgentSettings()from@agent-native/core/clientto open the right agent sidebar's Settings tab. Localize the title, description, and button. - Use
useFormatters()for dates, numbers, relative time, and lists instead of embedding formatted values in translation strings. - Do not translate stable identifiers: action names, route names, enum values, app-state keys, database values, protocol fields, env var names, or provider names.
Plurals And Placeholders
Plural strings use i18next/CLDR suffixes. Do not force every locale to copy English plural categories:
- English uses
_oneand_other. - Chinese and Japanese usually use
_other. - Arabic uses
_zero,_one,_two,_few,_many, and_other.
Keep interpolation placeholders identical across locales, such as
{{count}}, {{name}}, or ICU-style {count} arguments.
RTL
New UI should be RTL-safe. Prefer logical CSS utilities/properties such as
ms-*, me-*, ps-*, pe-*, start-*, end-*, text-start, and
text-end when direction matters. Avoid hardcoded left/right positioning for
new localized UI unless it is genuinely physical.
Verification
Run:
pnpm guard:i18n-catalogs
For broader changes, also run the affected template tests and pnpm typecheck.
Machine translation is only a starting point; high-visibility strings need
human review.
Signals
- GitHub stars
- 5k
- Forks
- 440
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
internationalization- Source
- github.com/builderio/agent-native