言語ごとの表示の切替について

AI-generated summary

主題: Shopify Markets利用の多言語サイトで、テーマ内の表示(画像など)を言語ごとに切り替えたいが、現在の言語の取得方法が不明で「shop_locale.name」では動作しない。

最新の提案: Shopify Liquidの「localization.language」オブジェクトを使用し、条件分岐で現在言語を判定する。iso_code(例: “ja”)またはname(例: “日本語”)で分岐可能。

具体例(コードが中核):

  • {% if localization.language.iso_code == "ja" %} 日本語の場合の表示。
  • {% if localization.language.name == "日本語" %} 名前ベースでの表示。

補足: 参照ドキュメントとしてStorefront APIのLanguageオブジェクトへのリンクが提示。Liquid(Shopifyのテンプレート言語)とlocalizationはロケール情報取得に用いる。

状況: 実装方法は提示済み。投稿者による動作確認や最終解決報告はなく、結論は未確定。

Shopify Markets使用して

日本語と英語と中国語の切り替えをおこなっているのですが、

テーマファイルで言語ごとに表示する画像を切り替えたいと考えています。

if文を使用して実装できたらと考えているのですが、

現在の言語の取得方法がわからず

「shop_locale.name」を試して下記のように

記述してみましたができませんでした。

{% if shop_locale.name == 言語 %}

表示したい内容

{% endif %}

どのようにすればよいでしょうか?

ご教授いただけますと幸いです。

こちらを利用されるのが良さそうです。

https://shopify.dev/api/storefront/2022-07/objects/Language

具体的なコードに起こすと下記のようになるかと思います。

{% if localization.language.iso_code == "ja" %}
日本語の場合に表示したい内容
{% endif %}

もし、nameを利用されたいのでしたら、下記になります。

{% if localization.language.name == "日本語" %}
日本語の場合に表示したい内容
{% endif %}

ご参考まで。

(キュー田辺)