vtex-io-messages-and-i18n

Localize VTEX IO applications using the vtex.messages system.

39|9|Updated Mar 16, 2026
One-click install
npx skills add https://github.com/vtex/ai-skills --skill vtex-io-messages-and-i18n
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vtex-io-messages-and-i18n
Source: https://github.com/vtex/ai-skills/tree/main/tracks/vtex-io/skills/vtex-io-messages-and-i18n
Command: npx skills add https://github.com/vtex/ai-skills --skill vtex-io-messages-and-i18n

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

VTEX IO apps often suffer from hardcoded strings and inconsistent translations. This skill provides a structured approach to using VTEX's messages system to centralize localization for storefront, admin, and backend flows.

Core Features & Use Cases

  • Use messages builder to manage translations for storefront, Admin UI, and GraphQL responses.
  • Define keys in /messages/context.json and per-locale translation files to ensure scalable localization and avoid key collisions.
  • Apply translations in React components, Admin UIs, and backend services to ensure consistent user-facing copy.

Quick Start

Configure a minimal messages setup by creating /messages/context.json and an en.json with app-scoped translation keys for storefront and admin interfaces.

Frequently Asked Questions about vtex-io-messages-and-i18n

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

FAQPage Schema
How do I manage translations in a VTEX IO app without hardcoding strings?

To manage translations in a VTEX IO app, source user-facing text from the vtex.messages system. Define translation keys in /messages/context.json and per-locale JSON files to centralize localization across storefront, admin, and backend flows.

What is the vtex.messages system and how does it work for localization?

The vtex.messages system is a VTEX IO infrastructure that centralizes runtime localization. It uses a context.json file to define app-scoped keys and per-locale JSON files to provide actual translations, ensuring consistent user-facing copy across React, Admin, and GraphQL layers.

How do I set up the messages builder for a storefront or Admin UI?

To set up the messages builder, create a minimal /messages directory containing a context.json file and an en.json file with app-scoped translation keys. This structure ensures scalable localization and prevents key collisions across storefront and admin interfaces.

Can I use the same translation keys across React components and backend GraphQL responses?

Yes, the vtex.messages system applies across storefront React components, Admin UIs, and backend services. By centralizing keys in context.json, you ensure consistent translations and avoid hardcoded strings throughout all VTEX IO application flows.

Why do my VTEX IO translation keys collide and how can I avoid it?

Translation key collisions occur when localization is unstructured. To avoid key collisions in VTEX IO, define app-scoped translation keys within the /messages/context.json file and organize translations into per-locale JSON files using the messages builder.