- Short answer
- Translate Custom Liquid in its own code, with a language check or the t filter, or move the text to a text field; Translate & Adapt can't see it.
- Why it's skipped
- Custom Liquid keeps its text in a liquid setting, whose value shopify.dev says isn't available in Translate & Adapt.
- Which themes
- Theme Store themes must include a Custom Liquid section with a liquid setting; Horizon's Custom Liquid block uses one.
- Help Center
- The Help Center translation pages we read on October 17, 2026 don't mention Custom Liquid.
Why does Translate & Adapt skip Custom Liquid?
Text you type into a Custom Liquid section or block stays in the language you typed it in, and Translate & Adapt gives you no field for it. The reason is the field itself: it is a theme setting of type liquid.
In Horizon the Custom Liquid block stores its code in a liquid setting, and Dawn's Custom Liquid section does the same. Shopify's Theme Store requirements go further: themes must include a Custom Liquid section, and that section needs a setting of type liquid. The input settings documentation spells out what that type means for translation:
liquid settings: the stored value isn't available in Translate & Adapt, which makes this type a good choice for language-neutral values like a CSS class name or app integration code.
The settings overview repeats it: a liquid setting's value isn't translatable through Translate & Adapt. The Help Center translation pages we read on October 17, 2026 (translating your theme, changing theme wording and the Translate & Adapt requirements) don't mention Custom Liquid, and the Translate & Adapt requirements page's list of what it can't translate leaves it out (our breakdown of that list).
Which translation route fits your text?
Three routes work, and they differ in where each translation is stored and who can change it afterwards.
| Route | Where the translations live | Who edits the wording later | Limit to plan around |
|---|---|---|---|
| Language check inside the Liquid | In the Custom Liquid field itself, one branch per language | Whoever edits that Liquid code | 50kb for the whole field, every language included |
| t filter with locale-file keys | In each language's locale file in the theme | Whoever edits the theme's files | 3,400 translations per locale file; 1,000 characters per value |
| Move the text to a text-bearing setting | In Translate & Adapt, entered per language | The merchant, in Translate & Adapt | Needs a section or block with a text-bearing setting, such as text, rich text or HTML |
Limits per shopify.dev input settings and locales documentation, read October 17, 2026.
Pick by who maintains the words. If nobody on your team edits theme code, take the third route: shopify.dev says merchants can translate the content of text-bearing settings in Translate & Adapt. The first two are work in the theme's code. A short line in two languages that rarely changes fits a language check; longer copy, or more languages, is easier to keep in locale-file keys.
How do the two code routes work?
A language check keeps every version in one field. Liquid in a liquid setting can still produce locale-dependent output at render time, for example through localization.language, the currently selected language on the storefront, or translation filters. request.locale, the locale of the request, is another value you can branch on.
The price is space: content in these settings can't exceed 50kb, and saving content that exceeds it or includes invalid Liquid results in an error.
The t filter moves the words out of the field. It returns translated text for a translation key from a locale file; shopify.dev says theme layouts, templates, snippets and Liquid assets can reference these translations rather than hard-coded text strings.
Each language has its own locale file, and each locale file can store up to 3,400 translations, counted per file rather than across languages. Under the locale file rules, a single translation value can't exceed 1,000 characters.
When should you move the text out of Custom Liquid?
Move it when someone who doesn't edit theme code needs to translate the wording. The input settings page lists five text-bearing setting types whose content merchants can translate in Translate & Adapt:
texttextarearichtextinline_richtexthtml
In practice that means placing the words in a section or block that uses one of these settings, then translating them in Translate & Adapt like other theme content. Keep Custom Liquid for what the quote above calls language-neutral values, such as a CSS class name or app integration code. For the other jobs the block does well, see when you can use a Custom Liquid section or block.
This page was written by AI. Separate AI agents that did not write it check its figures and claims against official sources and test its links and interactive tools. A human editor sets the site's editorial direction, topics and rules and checks that pages are complete and display correctly, but does not check their facts or edit their text. Details may change — always confirm critical data at shopify.com.
Editorial Policy