La clé d’interpolation suivante n’est pas valide : site_name
Je pense que « Site_text » n’est pas disponible. Lorsque j’essaie de modifier le texte à l’adresse /admin/customize/site_texts/js.welcome_banner.header.new_members?locale=en, je constate que seul le nom est disponible.
Je pense que
site_name n’est disponible que pour les utilisateurs anonymes. Je suppose que la description doit être mise à jour.
D’accord, merci pour l’information, pour l’instant j’utilise du CSS pour mettre le nom du site. J’avais juste un problème pour le souligner dans le texte de bienvenue.
Cela a du sens. Ils ne se sont pas connectés, donc nous ne savons pas qui ils sont. Il n’y a pas de nom pour eux dans la base de données.
C’est comme quand quelqu’un que vous ne connaissez pas sonne à votre porte ; vous ne pourrez pas le saluer par son nom tant qu’il ne se sera pas présenté.
Oui, mais j’aimerais utiliser ce %site_name pour les utilisateurs connectés également ![]()
Merci d’avoir signalé le problème ! Il semble que j’aie promis plus de variables que ce qui était disponible… Une mise à jour est en cours pour corriger cela.
Donc, nous ne pouvons toujours pas ajouter %{site_name} si l’utilisateur est connecté ?
Le service siteSetting pourrait fonctionner pour obtenir la valeur du paramètre de site title
J’ai examiné cela, le blocage ici n’est pas l’accès à la valeur de titre. C’est que le backend valide les traductions en extrayant les clés d’interpolation valides des chaînes de locale par défaut.
Donc, lorsque %{site_name} n’est pas dans la chaîne par défaut, le backend le rejettera comme une « clé d’interpolation invalide ».
Je ne sais pas quelle est l’idée de @NateDhaliwal. Je voulais juste souligner une alternative à une demande supplémentaire à /about.json.
Je pense qu’un composant personnalisé qui copie la bannière de bienvenue mais fournit la clé site_name pour tous les textes serait la bonne approche.
Ou une PR qui ajoute site_name comme clé disponible pour les textes pour les utilisateurs connectés dans le cœur.
get headerText() {
if (!this.currentUser) {
return i18n("welcome_banner.header.anonymous_members", {
site_name: this.siteSettings.title,
});
}
const isNewUser = !this.currentUser.previous_visit_at;
const key = isNewUser
? "welcome_banner.header.new_members"
: "welcome_banner.header.logged_in_members";
return i18n(key, {
preferred_display_name: sanitize(
prioritizeNameFallback(this.currentUser.name, this.currentUser.username)
),
+ site_name: this.siteSettings.title,
});
}
@hipp0 merci encore d’avoir soulevé ce point ! Nous avons publié une mise à jour qui rend la variable site_name disponible sur les trois champs d’en-tête :




