Translation for app extension liquid settings

Topic summary

A developer is building an app extension and needs to translate liquid block settings into multiple languages.

Current Setup:

  • The extension includes a text setting for a heading with a default value
  • The setting currently only allows input in one language

The Problem:

  • For stores with multiple languages (e.g., English and French), the heading needs to display in the appropriate language
  • Unlike theme sections where locale files can be used for translations, custom block settings in app extensions don’t have the same functionality

Question:
How can translatable settings be implemented for app extension liquid blocks to achieve the same multi-language capability that theme sections have with locale files?

Summarized with AI on November 11. AI used: claude-sonnet-4-5-20250929.

I am writing an app extension and want to provide the ability to translate a liquid setting into various languages.

For example, my liquid block page has this:

<h2 class="inline-richtext h2">
{{ block.settings.heading }}
</h2>

{% schema %}
{
  ...
  "settings": [
    {
"type": "text",
"id": "heading",
"label": "Heading",
"default": "My App Heading"
}
  ]
}
{% endschema %}

This setting only allows it to be set for 1 language. If a store has both en and fr as languages, I want it to be able to display the appropriate version. How do we make it so that the settings are translatable? Normally, I would include a locales file, but for custom block section settings, how do we achieve that same functionality?

1 Like