Localization guide
The practical version of International. Read this when you are adding a language or translating the theme yourself.File structure
Key conventions
The
accessibility namespace holds every aria-label in the theme. A merchant who
translates the visible strings but not these ends up with a page where a
screen-reader user hears English button names. It is the most commonly missed part
of a translation.Adding a language
1
Create the language in Shopify
Settings → Languages → Add language. Pick the language and the domain it
will be served on.
2
Create the locale file
Copy
locales/en.default.json to locales/<code>.json — for example
locales/fr.json.3
Translate every value
Keep the keys identical. Change only the values.
4
Push the theme
5
Copy the locale in the admin
Settings → Languages → your language — Actions → Copy from default theme.
This picks up any keys added since the theme was first published.
6
Verify the language selector
It appears in the header automatically once the second language is published.
Using a translation in Liquid
Right-to-left languages
The theme’s layout uses logical CSS properties and flexbox, so RTL mirrors automatically. The header, the cart drawer and the mobile drawer all slide in from the correct edge.Regional formats
Only the strings in
locales/ are yours to translate. Formats are Shopify’s job,
and they follow the storefront locale automatically.Adding a language in code
If you deploy with the CLI, the flow is:International
The feature overview.
Code reference
The full file map.
