Shopifyの翻訳用JSONファイルに関して:メモ

Shopify

正しい情報とは断言できませんが、調べて検討した感じだと概ね正しいのではという翻訳用JSONファイルに関してのメモです。

前提

  • ja.json
  • ja.schema.json

Shopifyのテーマ内には上記のように各言語ごとに2種類の翻訳用JSONファイルが存在します。
この2つの違いを把握できていませんでした。

2種類のJSONファイルの違い

上記のドキュメントに書かれている以下が回答になります。

Type Description
Storefront Storefront locale files have a .json file extension, and control translations for storefront content. These translations can be edited by merchants through the Shopify Language Editor.
Schema Schema locale files have a .schema.json file extension, and control translations for theme editor settings.

上記を踏まえ多少の補足を加えると以下のようになると思います。

.json
  • ストアフロント用で、ユーザーがストアで目にする部分の翻訳を記載
  • 管理画面を通してマーチャント(ストアを運営している店舗)が翻訳を書き換えることができる
.scheme.json
  • 主に管理画面用で、マーチャントが管理画面内で目にする部分の翻訳を記載
  • 具体的には、カスタマイズ内で目にする各項目の見出しや項目名、選択肢、説明文など
  • マーチャントが管理画面を通して翻訳を変更できない(「コードを編集」で直接書き換えることは可能)

Theme Checkによるエラー検出

  • 全言語ではなく特定の言語の翻訳ファイルのみ項目を追加
    en.default.jsonja.jsonのみ翻訳を追加した場合など

上記前提で下記のテーマチェックを実行。

以下のような状態を確認しました。

  • .schema.jsonファイルに対してはエラーがでない
  • .jsonファイルに対してはMissing translation keys:のエラーがでる

エラーが出ないから放置で良いとはいえませんが、用途を考えますと案外許されているのかもしれません。

「設定」の「言語」による翻訳との関係

上記記事で触れていますが.json.schema.jsonを利用している翻訳は、確認した限りでは「言語」でエクスポート可能なCSVの中に含まれません。

「言語」が対象としているのは、管理画面から入力された商品説明やブログ記事やページ、あるいはメタフィールドなどのいわゆる「コンテンツ」だと思われます。

結び

ストアフロントは多言語化される可能性が高く、作業対象にはストアフロント用翻訳ファイルの.jsonが含まれると認識しておくべきなのかもしれません。

他方、管理画面の言語は一つに確定している可能性が高く、またTheme Checkでエラーも出ないことから、全言語の.schema.jsonを変更する必要はないのかもしれません。
例外としては多国籍なスタッフがログインする場合が考えられ、この場合は各スタッフアカウントで選択されうる言語の.schema.jsonファイルも作業対象となります。

2人がこの記事を評価

役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。

連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。

コメント欄