# @inContext ile yerel fiyat ve dil gösterme

> Sorguya @inContext(country, language) ekleyerek Storefront API’den fiyatları alıcının para biriminde, içeriği de kendi dilinde alın.

Sayfa: https://lintelagency.com/tr/kaynaklar/graphql/storefront-yerel-fiyatlar-incontext

## Kısaca

Headless bir mağazada yerel fiyat göstermek için sorguya alıcının ülkesi (ve dili) ile @inContext direktifini ekleyin, örneğin @inContext(country: CH, language: DE). Fiyatlar o pazarın para biriminde döner, o pazarda yayında olmayan ürünler de listeden çıkar. Direktif olmadan ana pazarın ürünleri ve mağaza para birimindeki fiyatlar gelir.

## Bilgiler

- **API:** Storefront API
- **İşlemler:** @inContext direktifi, product, localization
- **Erişim yetkisi:** unauthenticated_read_product_listings
- **API sürümü:** 2026-10
- **Son kontrol:** 2 Kasım 2026

## Nasıl kullanılır

1. Alıcının ülkesini (URL’den, bir seçiciden ya da konumdan) ve dilini belirleyin.
2. Bunları LocalProductPrices’a değişken olarak verin; direktif, değişken listesinden sonra operation’ın üzerinde durur.
3. Fiyatları biçimlendirmek ve ülke seçiciyi kurmak için localization.country.currency’yi okuyun.
4. Sepet fiyatları tutsun diye sepette de buyerIdentity.countryCode olarak aynı ülkeyi kullanın.

## Kod

### product-prices-in-context.graphql

```graphql
query LocalProductPrices($handle: String!, $country: CountryCode!, $language: LanguageCode!)
@inContext(country: $country, language: $language) {
  localization {
    country {
      isoCode
      currency {
        isoCode
        symbol
      }
    }
    language {
      isoCode
    }
  }
  product(handle: $handle) {
    title
    priceRange {
      minVariantPrice {
        amount
        currencyCode
      }
    }
    variants(first: 10) {
      nodes {
        id
        title
        price {
          amount
          currencyCode
        }
        compareAtPrice {
          amount
          currencyCode
        }
      }
    }
  }
}
```

### product-prices-in-context.variables.json

```json
{
  "handle": "linen-shirt",
  "country": "CH",
  "language": "DE"
}
```

### product-prices-in-context.response.json

```json
{
  "data": {
    "localization": {
      "country": {
        "isoCode": "CH",
        "currency": {
          "isoCode": "CHF",
          "symbol": "CHF"
        }
      },
      "language": {
        "isoCode": "DE"
      }
    },
    "product": {
      "title": "Leinenhemd",
      "priceRange": {
        "minVariantPrice": {
          "amount": "49.0",
          "currencyCode": "CHF"
        }
      },
      "variants": {
        "nodes": [
          {
            "id": "gid://shopify/ProductVariant/1111111111",
            "title": "S",
            "price": {"amount": "49.0", "currencyCode": "CHF"},
            "compareAtPrice": null
          }
        ]
      }
    }
  }
}
```

## Sınırlar ve özel durumlar

- Ülkenin para birimi mağazanın ödeme ayarlarında etkin olmalı ve ülke aktif bir pazara ait olmalıdır.
- Sorgular @inContext kullanır; sepetler ise bağlamı buyerIdentity’de saklar.
- Siparişler, hangi bağlamda sorgularsanız sorgulayın verildikleri para biriminde kalır.
- Hydrogen’da storefront.query, $country ve $language değişkenlerini i18n ayarlarından doldurur; @inContext direktifini sorguya yine siz yazarsınız.

## Sorular

### Storefront API ile fiyatları başka bir para biriminde nasıl alırım?

Sorguya @inContext(country: XX) ekleyin. Fiyatlar, o ülkenin ait olduğu pazarın para biriminde döner.

### @inContext neden hâlâ mağaza para birimini döndürüyor?

Büyük ihtimalle ülke kendi para birimi olan aktif bir pazarda değil ya da o para birimi mağazanın ödeme ayarlarında etkin değil.

### @inContext içeriği de çevirir mi?

Evet, language argümanıyla. Ürün başlıkları ve açıklamaları, çevirisi olan yerlerde o dilde döner.

## Shopify belgeleri

- [Support international pricing on storefronts](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/markets/international-pricing)
- [Storefront API product query](https://shopify.dev/docs/api/storefront/latest/queries/product)

## İlgili içerikler

- [Tek bir Shopify mağazasından birçok para biriminde satış](https://lintelagency.com/tr/blog/shopify-markets-ile-coklu-para-birimi)
- [Storefront API ile sepet oluşturma ve ürün ekleme](https://lintelagency.com/tr/kaynaklar/graphql/storefront-sepet-olusturma-ve-urun-ekleme)
- [Çevirileri kaydetme, gerekirse pazar bazında](https://lintelagency.com/tr/kaynaklar/graphql/ceviri-kaydetme)

Lisans: MIT. Kendi mağazanızda da müşteri işlerinizde de ücretsiz kullanabilirsiniz.
