# Localization Finqu themes support multiple languages through JSON files in the `locales/` directory. ## Storefront translations Each language needs a locale file: ``` locales/ en.json fi.json sv.json ``` Use translation keys in your Liquid templates: ```liquid {{ 'general.add_to_cart' | t }} ``` Keys are nested in the JSON file: ```json { "general": { "add_to_cart": "Add to cart" } } ``` The active language comes from the customer's locale (`request.locale`). ## Schema translations Section, block, and setting labels shown in the **theme designer** can be translated separately from storefront copy using schema locale files: ``` locales/ en.json en.schema.json fi.json fi.schema.json ``` **`en.json`** — strings customers see on the storefront. **`en.schema.json`** — labels merchants see in the designer (section names, setting labels, block titles). Example `locales/fi.schema.json`: ```json { "sections": { "hero": { "name": "Hero-banneri", "settings": { "heading": { "label": "Otsikko" } } } } } ``` At runtime, schema translations are merged into the corresponding locale. You do not need to duplicate schema labels inside `fi.json` unless the same string is also used on the storefront. ## Translating schema in section files You can also localize schema inline when defining `{% schema %}`: ```liquid {% schema %} { "name": { "en": "Hero banner", "fi": "Hero-banneri" }, "settings": [ { "type": "text", "id": "heading", "label": { "en": "Heading", "fi": "Otsikko" } } ] } {% endschema %} ``` Use inline localization for small schemas; use `{lang}.schema.json` when you have many sections and blocks to translate. ## Best practices - Keep storefront copy in `{lang}.json` and designer labels in `{lang}.schema.json` or inline schema objects. - Ship a locale file for every language your theme claims to support. - Use the same language codes as your store's enabled locales (`en`, `fi`, `sv`, etc.). - Test language switching with the `localization` form or store locale picker on a deployed store. ## Related articles - [Theme Structure](/build-with-finqu/liquid-themes/theme-structure) - [Settings](/build-with-finqu/liquid-themes/settings) - [Sections](/build-with-finqu/liquid-themes/sections)