Selling in more than one language usually means one spreadsheet tab per locale, drifting apart. In minipim, every language lives on the same product record, and only the attributes that actually differ by language are translated.
Locales
On the Locales page, add each locale you sell in — a code like fr_CA and a label — and pick one as the default. Channels list the locales they sell in, so a French-Canadian storefront can require French copy while your US store doesn’t.
Localizable and scopable attributes
Each attribute has two switches:
- Localizable — the value can differ per locale. Titles and descriptions usually are; a SKU or a weight usually isn’t.
- Scopable — the value can differ per channel, so a marketplace can get its own title while your web store keeps the default.
Values are stored with their locale and channel, so a product can carry an English title, a French title, and a marketplace-specific English title side by side.
Editing
When your organization has more than one locale, the product editor shows a Locale switcher and a channel switcher. Pick French and you’re editing the French values; non-localizable fields stay shared.
Reading localized values
Ask the API for a product with ?locale=fr_CA (and optionally &channel=…) and the response adds resolvedAttributes: for each attribute, the closest match — exact locale and channel, then locale only, then channel only, then the unscoped value. Your storefront gets one flat set of values, already resolved. See the headless integration for the full API.
Missing translations
Channel readiness counts localizable attributes once per channel locale, so a product missing only its French description shows exactly that gap on the French channel.
Good to know
- There’s no built-in machine translation. Translate however you like and enter or import the result — or have an AI agent do it through the MCP server.
- Bulk edit and CSV import write localizable values to
en_US. Edit other locales on the product, or through the API. - A localizable attribute can’t have a default value.