Overview
Spree supports two types of translations:- Resource Translations — translatable content fields on models like Products, Taxons, and Stores (e.g., product name, description, slug)
- UI Translations — interface strings used in the admin panel (e.g., button labels, flash messages)
Resource Translations
Resources with user-facing content fields have built-in support for translations. Each translatable resource has a corresponding translations table in the database — for example, product translations are stored inspree_product_translations.
Translatable Fields
Store API
To retrieve translated content, pass the locale via theX-Spree-Locale header or the SDK locale option:
Managing Translations
Translations are managed in the Admin Panel. When editing a product, taxon, or other translatable resource, switch the locale selector to enter content in each language. Translations can also be managed via the Admin API.UI Translations
Spree stores UI translation strings in a separate project: Spree I18n. This is a community-maintained project with locale files for 43+ languages. To install UI translations:The full list of supported locales is available in the Spree I18n GitHub repository.
Related Documentation
- Markets — Locale and currency configuration per geographic region
- Localization — Locale, currency, and country headers in API requests
- Slugs — Localized slugs and URL identifiers
- Products — Product translations

