Vous avez ajouté une fonctionnalité maison à votre thème Shopify, un bandeau de réassurance, une mention légale, un bloc custom. Et au moment de traduire, son texte n'apparaît nulle part dans Translate & Adapt.
Ce n'est pas un bug : une chaîne écrite en dur dans le Liquid n'est pas une ressource traduisible. Voici la mécanique pour corriger ça, fichiers de locales, clés et filtre « t », avec un exemple complet.
Pourquoi vos textes custom échappent aux apps de traduction
Shopify ne traduit pas du HTML brut : il traduit des ressources. Produits, collections, pages, et les chaînes du thème déclarées dans les fichiers de locales.
- Un texte écrit en dur dans un fichier .liquid n'est visible ni pour Translate & Adapt, ni pour aucune autre app de traduction
- Un texte passé par une clé de traduction et le filtre « t » devient une ressource traduisible comme une autre
- La correction se fait une fois par chaîne, directement dans le code du thème
Shopify vous prévient d'ailleurs dès l'ajout d'une langue : « tout le contenu doit être traduit, y compris le texte du thème ». Encore faut-il que ce texte soit déclaré au bon endroit.

Avant tout : ajouter la langue dans Shopify
Si ce n'est pas déjà fait, la langue cible se déclare dans les réglages de la boutique :
- Ouvrez « Paramètres » puis « Langues » dans votre admin Shopify.
- Cliquez sur « Ajouter une langue » et choisissez-la dans le menu.
- Assignez-la à un ou plusieurs marchés Shopify, puis validez.
Translate & Adapt s'installe automatiquement au passage. Rappel utile : son auto-traduction, fournie par l'API Google Cloud Translation, est plafonnée à deux langues; au-delà, tout est saisie manuelle.

Ouvrir les fichiers de locales du thème
Deux notions suffisent pour tout comprendre : les fichiers de locales, qui stockent les traductions de chaque langue, et les clés passées au filtre « t », qui vont chercher la bonne valeur au bon moment.
- Dans l'admin, ouvrez « Boutique en ligne » puis le menu « ⋯ » à côté de votre thème.
- Sélectionnez « Modifier le code ».
- Le dossier « locales » se trouve en bas de la barre latérale de l'éditeur.
Les noms de fichiers suivent la nomenclature IETF : « fr.json » pour le français, « en-US.json » pour l'anglais américain. Et distinguez bien les deux types : les .json pilotent le contenu vu par vos visiteurs, les .schema.json ne concernent que l'éditeur de thème.

Déclarer la clé, puis l'appeler avec le filtre t
Les traductions s'organisent en catégorie, groupe et valeur. Prenons un bandeau de réassurance ajouté à la main dans le thème : on déclare d'abord sa chaîne dans le fichier de locale de la langue par défaut.
json
"layout": {
"shipping_note": "Livraison offerte dès 80 €",
"secure_checkout": "Paiement 100 % sécurisé"
}
Puis, dans le fichier .liquid concerné, on remplace le texte en dur par la clé passée au filtre « t » :
liquid
<p class="reassurance">
{{ 'layout.shipping_note' | t }} ·
{{ 'layout.secure_checkout' | t }}
</p>
C'est tout : la chaîne devient une ressource traduisible, visible dans Translate & Adapt et dans toute app de traduction. Deux limites à connaître : 3 400 traductions maximum par fichier de locale, et 1 000 caractères par valeur.

Automatiser la traduction de ces chaînes avec Reversia
Une fois vos chaînes déclarées dans les locales, reste à les traduire. Dans Translate & Adapt, c'est de la saisie manuelle, langue par langue, champ par champ. Reversia prend le relais automatiquement :
- Les chaînes du thème sont détectées et traduites avec le reste de la boutique, dans toutes vos langues
- Le glossaire protège vos termes techniques et noms de marque, précieux pour du contenu codé
- Chaque traduction reste relisible et modifiable dans l'éditeur en vis-à-vis, avec verrouillage
- Les nouvelles clés ajoutées plus tard sont détectées : le thème ne se désynchronise pas
Le travail Liquid ne se fait donc qu'une fois : après, chaque nouvelle langue coûte quelques minutes, pas une passe de saisie complète.
Ce qu'il faut retenir
Le réflexe à garder : chaque type de contenu a son chemin de traduction.
| Type de contenu | Comment le rendre multilingue |
|---|---|
| Textes standard du thème (boutons, 404, panier) | Déjà déclarés dans les locales, traduits par votre app de traduction |
| Texte custom codé en dur dans le Liquid | Déclarer une clé dans la locale, l'appeler avec le filtre « t », puis traduire |
| Produits, collections, pages, metafields | Ressources natives, traduites directement par l'app |
| Réglages visibles seulement dans l'éditeur de thème | Fichiers .schema.json, sans impact sur les visiteurs |
Un thème propre, c'est un thème dont tous les textes passent par les locales. C'est le prérequis pour qu'une traduction automatisée couvre réellement 100 % de la boutique.
FAQ : Liquid et traduction de thème
Pourquoi mon texte custom n'apparaît-il pas dans Translate & Adapt ?
Parce qu'il est écrit en dur dans un fichier .liquid. Seules les chaînes déclarées dans les fichiers de locales et appelées via le filtre « t » sont des ressources traduisibles.
Quelle différence entre un fichier .json et un fichier .schema.json ?
Les .json contiennent les traductions du storefront, ce que voient vos visiteurs. Les .schema.json ne traduisent que les libellés de l'éditeur de thème, côté admin uniquement.
Y a-t-il des limites aux fichiers de locales ?
Oui : 3 400 traductions maximum par fichier, et 1 000 caractères par valeur. Largement suffisant pour un thème, mais bon à savoir avant d'y stocker de longs contenus.
Reversia traduit-elle les chaînes du thème ?
Oui. Toute chaîne correctement déclarée dans les locales est détectée et traduite automatiquement dans toutes vos langues, avec le glossaire et le prompt de marque appliqués.



