テーマ設定スキーマにおける翻訳可能なデフォルト値

テーマ開発者にとって、多言語対応は重要な課題の一つです。特に、初期設定時や新しいセクションの統合時に、複数の言語をサポートするテーマを構築することは、ユーザー体験の向上と国際的な展開を目指すEC事業にとって不可欠です。しかし、現状では、テーマ設定スキーマのデフォルト値を翻訳することは容易ではありません。

そこで今回、Shopifyではテーマ設定スキーマのデフォルト値を翻訳可能にする新機能が追加されました。これにより、テーマ開発者はスキーマの翻訳ファイルを利用して、テーマのデフォルト値を翻訳することが可能になります。その詳細な手順について解説します。

実装手順とコード例

スキーマの翻訳を参照するための詳細なガイドラインは開発者向けドキュメンテーションに記載されています。以下にその概要を示します。

  1. まず、テーマのロケールフォルダ内にスキーマの翻訳ファイルを作成します。
  2. 次に、そのファイル内に、各デフォルト値の翻訳をキーと値の形式で記述します。キーはスキーマ内で定義した項目名、値はその項目の翻訳結果とします。
  3. 最後に、スキーマ内でデフォルト値を設定する際に、その値を翻訳ファイルから参照するようにします。具体的には、デフォルト値を設定する項目の値をキーとして指定します。

以下に、この手順を適用したコード例を示します。

  // スキーマの翻訳ファイル(例:en.default.schema.json)
  {
    "my_section": {
      "settings": {
        "my_setting": "My translated default value"
      }
    }
  }
  
  // スキーマ設定ファイル(例:settings_schema.json)
  {
    "name": "my_section",
    "settings": [
      {
        "id": "my_setting",
        "default": "t:my_section.settings.my_setting"
      }
    ]
  }

パフォーマンス・コスト分析

この新機能の導入により、テーマの初期設定時や新しいセクションの統合時における多言語対応の工数が大幅に削減されます。また、テーマの翻訳作業を一元化することで、翻訳の品質と一貫性を保つことが可能となります。

実装時の注意点・ベストプラクティス

スキーマの翻訳ファイルを作成する際は、各言語ごとに別のファイルを用意することを推奨します。これにより、言語ごとの翻訳を独立して管理することが可能となり、多言語対応の効率を高めることができます。

次のステップ・発展案

今後、Shopifyのテーマ開発においては、この新機能を活用して多言語対応を進めることが求められます。また、翻訳の自動化やAIによる翻訳サポートなど、より効率的な多言語対応のための技術の開発・導入も期待されます。

参考記事: Translatable Default Values in Theme Settings Schema