spree-i18n
Installation
SKILL.md
Spree I18n + Translations
Three separate translation surfaces:
| What | Mechanism | Where it lives |
|---|---|---|
| Merchant content (product names, descriptions, slugs, category names…) | Mobility translation tables | spree_<model>_translations tables; edited in the dashboard or via the Admin API |
| Backend strings (emails, validation errors, API error messages) | Rails I18n + Spree.t |
config/locales/<locale>.yml; community spree_i18n gem |
| Dashboard UI (the React admin) | i18next JSON bundles | @spree/dashboard ships ar de en es fr pl zh-CN; plugins register their own |
Which locales a store offers is decided by its Markets (each market has default_locale + supported_locales) — see spree-data-model / markets docs.
Locale resolution (Store API)
Per request, Spree::Api::V3::LocaleAndCurrency: