La fonction .variable() permet de définir des variables personnalisées, que vous pouvez ensuite réutiliser dans vos textes de paywalls.
Cela facilite la mise à jour automatique de certains éléments, selon les informations passées dans votre configuration technique.
Cas d’usage : la gestion multi-langue
Dans un contexte multi-langue, cette fonction peut être utilisée pour afficher automatiquement les textes dans la bonne langue, selon la locale de l’utilisateur.
La détection de la langue est gérée côté technique : vous n’avez donc rien à paramétrer dans le Dashboard.
Exemple de configuration technique
L’équipe technique prépare au préalable les textes par langue :
const texts = {
"fr": { article: "Article offert" },
"en": { article: "Free article" },
"es": { article: "Artículo gratuito" }
};
Ensuite, selon la langue détectée (locale), la variable personnalisée est définie avec la valeur correspondante :
access.variables('article', texts[locale].article);
Utilisation dans le Dashboard
Une fois la variable définie côté technique, vous pouvez simplement l’utiliser dans vos messages ou widgets :
{article}
Le texte affiché s’adaptera automatiquement à la langue de l’utilisateur :
🇫🇷 Utilisateur en français → Article offert
🇬🇧 Utilisateur en anglais → Free article
🇪🇸 Utilisateur en espagnol → Artículo gratuito
Exemple
Voici un exemple d’un élément entièrement construit avec des variables dynamiques.
Dans cet exemple, toutes les parties textes sont des variables.
Au final, tout est géré via le multi-langue, et il n’y a aucun texte en dur, ni dans l’apparence ni dans l’élément.
⚠️ Nota bene
Dans ce cas d’utilisation, les variables sont définies côté technique.
Cela signifie que dans la preview du Dashboard, les textes associés à ces variables ne seront pas remplacés automatiquement.
Vous verrez donc encore le texte entre crochets, comme {article}.
Pas d’inquiétude : sur votre site final (ou en environnement de préproduction), la variable sera correctement remplacée par la traduction correspondant à la langue de l’utilisateur.

