Country, currency and language
If your store sells into more than one market or publishes in more than one language, Signal renders native selectors for both in the footer.
Markets and languages are configured in admin, not in the theme:
- Settings → Markets — the countries you sell to, and the currency each uses.
- Settings → Languages — the languages your store is published in.
The theme reads localization.available_countries and localization.available_languages and renders whatever is there.
Settings
Section titled “Settings”Footer section
| Setting | Type | What it does |
|---|---|---|
| Show the country / region selector | Checkbox | Renders the country and currency selector |
| Show the language selector | Checkbox | Renders the language selector |
They hide themselves
Section titled “They hide themselves”Each selector is rendered only when there’s more than one option. A store selling to one country never shows a country picker, even with the setting on — a select with one option is a control that does nothing.
That means you can leave both switches on and the footer stays clean until you actually add a second market.
What they look like
Section titled “What they look like”- Country — the country name followed by its currency code and symbol: United Kingdom (GBP £). A shopper picking a market is usually picking a currency, so both are on the label.
- Language — the endonym: Deutsch, not German. Someone looking for their own language looks for its own name. Each option carries a
langattribute so a screen reader pronounces it correctly.
Both render the current selection as selected, so the control shows where the shopper already is.
It works without scripting
Section titled “It works without scripting”Both are ordinary dropdowns inside Shopify’s own localization form. A script submits them on change, which is what makes the selection feel immediate.
If scripting is unavailable, a submit button appears so the form can still be sent. Nothing about localization depends on the script running.
Prices and translations
Section titled “Prices and translations”Switching country switches the currency Shopify quotes in, and every price in the theme — product cards, the cart drawer, quick view, the comparison matrix — formats in the active currency rather than a hardcoded one.
Switching language loads the matching translation file. Every piece of Signal’s own interface text is translatable, including the strings used by the parts of the store that update without a page reload — the layout passes them through as a JSON block that the script reads.
Accessibility
Section titled “Accessibility”- Both selects have real visible
<label>elements, not placeholder-only labelling. - Ids are scoped by context, so the footer’s selectors can’t collide with another copy of the snippet elsewhere on the page.
- The whole thing is one
<form>, so it’s announced as a single group.
Locale keys
Section titled “Locale keys”Under general: country, language, and update — the submit button shown when scripting is unavailable.