次の補間キーは無効です: site_name
「Site_text」が利用できないと思います。/admin/customize/site_texts/js.welcome_banner.header.new_members?locale=enでテキストを編集しようとすると、名前だけが利用可能であることがわかります。
site_nameは未登録ユーザーにのみ利用可能だと思います。説明を更新する必要があると思われます。
承知いたしました、情報ありがとうございます。今のところ、サイト名はCSSを使って表示しています。ウェルカムテキストで下線を引くのに問題がありました。
何らかの理由で、匿名訪問者には %site_name のみ機能します。
次のようにしたいのですが。
ようこそ、%{preferred_display_name}さん、%{site_name}へ!
しかし、これはできず、この領域での下線/CSS調整が困難になっています。
それは理にかなっています。彼らはログインしていないので、誰であるかわかりません。データベースに彼らの名前はありません。
それは、知らない人がドアベルを鳴らしたときのようなものです。自己紹介するまで、名前で挨拶することはできません。
はい、しかし、ログインしているユーザーに対してもその %site_name を使用したいです ![]()
ご報告ありがとうございます!利用可能な変数を過大に約束していたようです…これを修正するアップデートを準備中です。
%{site_name}をログイン中のユーザーに追加することはまだできないということですか?
うーん…確かにそのようですね。
サイト名を表示するには、テーマコンポーネント(Theme Component)を使って
/about.jsonにリクエストを送り、サイトタイトルを取得できるかもしれません(siteサービスを確認しましたが、サイトタイトルに関するものは見つかりませんでした)。
siteSettingサービスを使うと、titleサイト設定の値を取得できるかもしれません。
これを調査しましたが、ここでのブロッカーはタイトルの値へのアクセスではありません。バックエンドがデフォルトロケールの文字列から有効な補間キーを抽出することによって翻訳を検証することです。
そのため、デフォルトの文字列に %{site_name} が含まれていない場合、バックエンドはそれを「無効な補間キー」として拒否します。
@NateDhaliwal さんのアイデアが何なのかわかりません。私は単に /about.json への追加リクエストの代替案を指摘したかっただけです。
すべてのテキストに対して site_name キーを提供する、ウェルカムバナーをコピーするカスタムコンポーネントが良い方法だと思います。
あるいは、コアでログインしているユーザーのテキストに対して site_name を利用可能なキーとして追加する PR ですね
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 再度ご報告いただきありがとうございます!site_name 変数が3つのヘッダーフィールドすべてで利用可能になるアップデートをプッシュしました。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.




