Ç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
- TranslatableProduct’ı kayıt ID’siyle gönderin ve çevireceğiniz her key’in digest’ini saklayın.
- TranslateProduct’ı her dil ve key için, o key’in digest’iyle birlikte bir girdiyle gönderin.
- Yalnızca bir pazarda geçerli olacak girdilere marketId ekleyin; marketId olmayanlar her pazarda geçerlidir.
- 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.graphqlquery 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.graphqlmutation 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.
Shopify belgeleri
- 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ı.
