Çevirileri kaydetme, gerekirse pazar bazında

translatableResource ile çevrilebilir içeriği ve digest’leri okuyun, çevirileri translationsRegister ile, isterseniz tek bir pazar için kaydedin.

API
Admin GraphQL API
İşlemler
translatableResource, translationsRegister
Erişim yetkileri
read_translations, write_translations
API sürümü
2026-10
Son kontrol

Kısaca

Bir ürünü, koleksiyonu ya da başka bir kaydı çevirmek için translatableResource ile çevrilebilir içeriğini sorgulayın: her key, değeri ve bir digest. Ardından her alan için locale, key, çevrilmiş değer ve translatableContentDigest ile translationsRegister’ı çağırın. Bir çeviriyi yalnızca bir pazarda göstermek için marketId ekleyin, örneğin İsviçre’ye özel Almanca bir ifade. Dilin mağazaya eklenmiş olması gerekir.

Nasıl kullanılır

  1. TranslatableProduct’ı kayıt ID’siyle gönderin ve çevireceğiniz her key’in digest’ini saklayın.
  2. TranslateProduct’ı her dil ve key için, o key’in digest’iyle birlikte bir girdiyle gönderin.
  3. Yalnızca bir pazarda geçerli olacak girdilere marketId ekleyin; marketId olmayanlar her pazarda geçerlidir.
  4. Orijinal metin değişince digest’i de değişir ve çeviri güncelliğini yitirmiş (outdated) olarak işaretlenir; yeni digest’le tekrar kaydedin.

Kod

translatable-resource.graphql
query TranslatableProduct($resourceId: ID!) {
  translatableResource(resourceId: $resourceId) {
    resourceId
    translatableContent {
      key
      value
      digest
      locale
    }
  }
}
translatable-resource.variables.json
{
  "resourceId": "gid://shopify/Product/1234567890"
}
translatable-resource.response.json
{
  "data": {
    "translatableResource": {
      "resourceId": "gid://shopify/Product/1234567890",
      "translatableContent": [
        {"key": "title", "value": "Linen shirt", "digest": "<digest of title>", "locale": "en"},
        {"key": "body_html", "value": "<p>Relaxed fit, washed linen.</p>", "digest": "<digest of body_html>", "locale": "en"}
      ]
    }
  }
}
translations-register.graphql
mutation TranslateProduct($resourceId: ID!, $translations: [TranslationInput!]!) {
  translationsRegister(resourceId: $resourceId, translations: $translations) {
    translations {
      key
      locale
      value
      market {
        id
      }
    }
    userErrors {
      code
      field
      message
    }
  }
}
translations-register.variables.json
{
  "resourceId": "gid://shopify/Product/1234567890",
  "translations": [
    {
      "locale": "tr",
      "key": "title",
      "value": "Keten gömlek",
      "translatableContentDigest": "<digest of title>"
    },
    {
      "locale": "de",
      "key": "title",
      "value": "Leinenhemd für die Schweiz",
      "translatableContentDigest": "<digest of title>",
      "marketId": "gid://shopify/Market/1234567890"
    }
  ]
}
translations-register.response.json
{
  "data": {
    "translationsRegister": {
      "translations": [
        {"key": "title", "locale": "tr", "value": "Keten gömlek", "market": null},
        {"key": "title", "locale": "de", "value": "Leinenhemd für die Schweiz", "market": {"id": "gid://shopify/Market/1234567890"}}
      ],
      "userErrors": []
    }
  }
}

Lintel tarafından yazıldı. MIT lisansı: kendi mağazanızda da müşteri işlerinizde de ücretsiz kullanabilirsiniz.

Sınırlar ve özel durumlar

  • Dili yayında olan bir çeviri, alıcılara hemen görünür.
  • Key’ler kayıt tipine göre değişir: ürünlerde örneğin title, body_html, handle ve meta_title.
  • Tüm ürünleri, koleksiyonları ya da diğer tipleri sayfalamak için resourceType ile translatableResources’ı kullanın.
  • Çevirileri kaldırmak için translationsRemove’u kullanın.

Sık sorulan sorular

Shopify’a API ile çeviri nasıl eklenir?
Digest’leri translatableResource ile okuyun, ardından her alan için locale, key, value ve translatableContentDigest ile translationsRegister gönderin.
Translatable content digest nedir?
Orijinal metnin bir özetidir (hash). Çeviriyi, çevrildiği metnin o sürümüne bağlar; böylece Shopify orijinal değiştiğinde çeviriyi güncelliğini yitirmiş olarak işaretleyebilir.
Pazar bazında farklı çeviriler kullanabilir miyim?
Evet. Çeviri girdisine marketId ekleyin. O pazardaki alıcılar bu çeviriyi görür; diğer pazarlar genel çeviriyi kullanmaya devam eder.
  • Gösterilen tarihte, 2026-10 sürümünün Admin veya Storefront API şemasıyla doğrulandı. İstek adresinizdeki sürümü kontrol edin.
  • Örneklerdeki ID’ler ve mağaza adresleri yer tutucudur. Kendi değerlerinizle değiştirin.
  • Admin API çağrıları uygulamanızdan bir erişim anahtarı (access token) ister. Admin API anahtarını asla vitrine ya da temaya koymayın.
  • MIT lisansı. Kodu kendi mağazanızda da müşteri işlerinizde de kullanabilirsiniz.

Mağazanız için kurulmasını, test edilmesini ve bakımını isterseniz: API entegrasyonları.

Geliştirmek istediğiniz bir şey mi var? Gelin, birlikte konuşalım.

Aynı anda sınırlı sayıda proje alıyoruz.

Gencer KarakayaShopify mühendisi

Proje özetinizi bir mühendis okur; size e-postayla yanıt veririz.