Liquid、JavaScriptなどに関する質問
GraphQL draftOrderCreate APIで下書き注文作成し、draftOrderComplete APIで注文作成するアプリを作成しています。
これで作成した注文の注文状況ページの言語が英語ページになってしまいますが、日本語にする方法はありませんでしょうか?
注文状況ページは、注文確認メールのリンクや注文詳細画面の「その他操作」の「注文状況ページを表示する」から遷移できるページです。
解決済! ベストソリューションを見る。
成功
調査結果、確認致しました。
ご丁寧にありがとうございます!
調査結果のとおりAdmin APIでやるのは難しいと判断したので、別アプローチで試したらとりあえずうまくいきました。
URLパラメータに「?locale=ja」を付けると日本語になるので、ScriptTag経由でブラウザ使用言語とShopify.localの言語が異なる時だけパラメータを付けるみたいなスクリプトを追加しました。
解決策は分からなかったのですが、
調査結果をお伝えすることで質問者様が何かを閃くかもしれないため、
ご報告させていただければと思います。
下書き注文を draftOrderComplete で注文完了した場合、
そのorderの customerLocale が "en" になってしまうようでした。
なお、Shopify管理画面のGUIから注文完了した場合、
customerLocale は "ja" となりました。
そしてこの場合、注文状況ページは日本語で表示されました。
このcustomerLocaleの変化によって、
注文状況ページが英語になってしまうのかの確かな証拠はないのですが、
かなり怪しいと思っています。
次に、
customerLocaleが"en"になってしまうことが、
原因であればそうならないようにできないかと考えたのですが、
draftOrderCompleteにはそのようなパラメータはないように見えました。
また、
draftOrderCreateで下書き注文を作っても、
Shopify管理画面のGUIから下書き注文を作っても、
draftOrderCompleteで完了すると、
CustomerLocaleが"en"になることから、
下書き注文の作り方の問題でもなさそうでした。
最後に、
それならば、order.customerLocaleをAPIから変更してしまおうと考えたのですが、
どうやら、読み取り専用らしく更新もできませんでした。
なお、上記の参考にした投稿によると、customerUpdateを使ってlocaleを変更する、とあったので、試してみたのですが、
customerのlocaleをupdateしても、
order.customerLocaleがupdateされるわけではなく、"en"のままであるため、
注文状況ページは英語のままでした。
また、
customerのlocaleを"ja"にしてから、
下書き注文を作成し、
それをdraftOrderCompleteで完了しても、
order.customerLocaleは"en"になってしまいました。
さらに、この際、
Customer.localeも"en"に変化してしまうようでした。
ここまで調査した段階で私の方ではお手上げでした。
customerLocaleの変化が原因かどうかもはっきりしない報告で恐縮ですが、
何かの参考になれば幸いです。
(キュー田辺)
成功
調査結果、確認致しました。
ご丁寧にありがとうございます!
調査結果のとおりAdmin APIでやるのは難しいと判断したので、別アプローチで試したらとりあえずうまくいきました。
URLパラメータに「?locale=ja」を付けると日本語になるので、ScriptTag経由でブラウザ使用言語とShopify.localの言語が異なる時だけパラメータを付けるみたいなスクリプトを追加しました。
@pop21 様
注文状況ページのURLにパラメータをつけることで解決できるのですね。
私たちがそれを行う必要が出てきた場合に、参考にさせていただこうと思います。
解決策のご共有ありがとうございました。
東京都渋谷区代々木で30年以上、プランニングとグラフィックデザイン制作を営んでいる株式会社キュー。自社のアパレル事業やWeb制作・開発事業なども展開し、社員数が100名と小規模なが...
By rinaflora Sep 17, 2023お客様の検索はもちろん、消費行動によってセグメント管理することで、より効果的なマーケティングを行うことができます。今回は、便利な検索機能やセグメントの作成方法をご紹介!
By Alex06 Sep 3, 2023Shopifyでは多数の言語のサポートと、選択肢が提供されていることをご存知でしょうか?新しく導入されたサポートインボックスの詳細や、ヘルプセンターよりチャットを開始する方法など...
By Mirai Aug 20, 2023