記事のサマリー(TL;DR)
- API version 2026-10で、GraphQL Admin APIのMetafieldオブジェクトに非null型の新フィールド
translatable: Boolean!が追加されました。 - 従来、翻訳可能なmetafieldを取得するには非推奨の
TranslatableResourceType.METAFIELDenumをtranslatableResourcesに対して使う必要がありましたが、2026-10以降はMetafieldオブジェクト自体のtranslatableを参照する方法に切り替えます。 - shop単位で翻訳可能なmetafieldを問い合わせていないアプリは、変更対応は不要です。
対象と条件
この変更が影響するのは、以下の両方に該当するアプリです。
- GraphQL Admin APIをバージョン2026-10以降で呼び出している
- 翻訳可能なmetafieldを取得(fetch)している
バージョン2026-07以前のアプリは影響を受けません。translatable フィールドはそれらのバージョンでは利用できず、TranslatableResourceType.METAFIELD は非推奨のまま存続します。また、翻訳可否を考慮せずにmetafieldの値を読み取るだけのアプリは、バージョンを問わず影響を受けません。
この変更にフィーチャープレビューや新しいアクセススコープは伴いません。利用可否はAPIバージョンのみに依存するため、リクエストを2026-10に移行すれば、このフィールドはすぐに利用できるようになります。
詳細
変更内容
GraphQL Admin APIのMetafieldオブジェクトは、API version 2026-10で新しい非null型フィールド translatable: Boolean! を公開します。
{
product(id: "gid://shopify/Product/1") {
metafield(namespace: "custom", key: "care_guide") {
type # "single_line_text_field"
translatable # true
}
}
}
translatable は、プラットフォームがそのmetafieldの値を翻訳可能かどうかを判定する際にすでに適用しているルールの結果をそのまま返します。この変更以前は、翻訳可能なmetafieldを問い合わせるために、translatableResources に対して非推奨の TranslatableResourceType.METAFIELD enumを使う必要がありました。API version 2026-10以降では、translatableResources を通じてmetafieldを分類するのではなく、Metafieldオブジェクト上の translatable を直接読み取ることが推奨されます。
この変更が重要な理由
アプリは、翻訳可能なmetafieldを取得するために translatableResources に対して TranslatableResourceType.METAFIELD enumを使う方法から移行する必要があります。この変更以前は、どのmetafieldタイプが翻訳可能かを判断するために、翻訳可能なタイプの一覧をアプリ側で保持する必要があり、さらにそのロジックをプラットフォームの仕様と同期させ続ける必要がありました。translatable はこれらのルールを1つのbooleanに集約します。このフィールドはアプリ内のルールのコピーではなく、プラットフォーム自体の判定ロジックから解決されるため、翻訳可否のルールが変更された場合でも常に正しい値を返します。
対応方法
アプリがshop単位で翻訳可能なmetafieldを検索していない場合、2026-10へ移行する際に対応の変更は不要です。検索している場合、2026-10への移行時に以下を行います。
- トップレベルの
resourceType引数にTranslatableResourceType.METAFIELDを指定してtranslatableResourcesを呼び出しているかどうかを確認する - それらのクエリを、
translatableResourcesを通じてmetafieldを分類する方式から、Metafieldオブジェクト上のtranslatableフィールドを直接読み取る方式に更新する - API version 2026-10を使った開発ストアで変更内容をテストし、以下を確認する
- これまで
TranslatableResourceType.METAFIELDを渡していたクエリが、アプリ内で実行されなくなっていること - UIが
metafield.translatableの値を使って、翻訳を提供するかどうかを判断していること
- これまで
移行の具体例については、TranslatableResourceType.METAFIELD から Metafield.translatable への移行ガイドを参照してください。
関連ドキュメント
- translatableResources query
- TranslatableResourceType enum
- API versioning for Shopify APIs
- Custom data in Shopify apps
[“Shopify”, “GraphQL Admin API”, “Metafield”, “API versioning”, “翻訳機能”]