Я думаю, что «Site_text» недоступен. Когда я пытаюсь отредактировать текст по адресу /admin/customize/site_texts/js.welcome_banner.header.new_members?locale=en, я вижу, что доступно только имя.
Это логично. Они не вошли в систему, поэтому мы не знаем, кто они. В базе данных у них нет имени.
Это как когда кто-то, кого вы не знаете, звонит в дверь: вы не сможете поздороваться с ними по имени, пока они не представятся.
Думаю, вы сможете отобразить название сайта с помощью компонента темы, сделав запрос к /about.json и получив заголовок сайта (я посмотрел на сервис site и не нашёл ничего о заголовке сайта).
Я изучил этот вопрос. Проблема здесь не в доступе к значению title. Проблема в том, что бэкенд проверяет переводы, извлекая допустимые ключи интерполяции из строк локали по умолчанию.
Поэтому, если %{site_name} отсутствует в строке локали по умолчанию, он отклоняется как «недопустимый ключ интерполяции».
Я не знаю, какая идея у @NateDhaliwal. Я лишь хотел предложить альтернативу дополнительному запросу к /about.json.
Думаю, правильным решением будет создание пользовательского компонента, который копирует приветственный баннер, но добавляет ключ site_name для всех текстов.
Или же PR, который добавляет site_name как доступный ключ для текстов авторизованных пользователей в ядре.
@hipp0 ещё раз спасибо за то, что подняли эту тему! Мы выпустили обновление, которое делает переменную site_name доступной во всех трёх полях заголовка: