Client Language Preference
Client Language Preference Koşulu Nedir?
Client Language Preference koşulu, HTTP isteğinin Accept-Language başlığını değerlendirerek istemcinin dil tercihini tespit eden ve bu bilgiye göre trafik yönlendirme ve manipülasyon kararları almak için kullanılan bir koşul tipidir.
Tarayıcılar, kullanıcının dil tercihlerini Accept-Language başlığında q-factor (kalite değeri) ağırlıklarıyla birlikte gönderir:
Koşul, başlıktaki dilleri basit metin eşleşmesiyle değil, q-factor mantığıyla değerlendirir. Örneğin en-US,tr;q=0.1 başlığında "tr" metni geçer; ancak istemcinin asıl tercihi İngilizcedir: düz metin eşleşmesi burada yanlış karar verirdi. TR7, koşulda listelenen diller arasından istemcinin en yüksek kalite değerine sahip dilini seçerek karar verir (q=0 olarak işaretlenen diller elenir).
TIP
Bölgesel varyantlar temel dile dahildir: English (en) seçimi en-US ve en-GB isteklerini de kapsar; varyantlar için ayrı tanım gerekmez.
Client Language Preference Koşulunun Önemi
Çok dilli hizmet veren sistemlerde kullanıcıyı doğru dil sürümüne yönlendirmek, kullanıcı deneyiminin ilk adımıdır. Bu seçimi istemcinin kendi beyan ettiği tercih üzerinden yapmak, IP/coğrafya tabanlı tahminlerden daha isabetlidir.
Client Language Preference koşulu sayesinde;
- Kullanıcılar tercih ettikleri dilin sayfa sürümüne yönlendirilebilir,
- Bir sayfanın hangi çevirisinin sunulacağı istemci tercihine göre seçilebilir,
- Kurum Servisine istemcinin dil tercihi başlık olarak iletilebilir,
- Belirli bir dili kabul eden/etmeyen istemciler ayrıştırılabilir,
- Dil bazlı kullanım istatistikleri toplanabilir.
Kullanılabildiği vService Tipleri
Koşul yalnızca istek (At Request) aşamasında kullanılabilir; Accept-Language bir istek başlığıdır.
Nasıl Eklenir?
Yeni bir Client Language Preference Koşulu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Conditions → Add adımları takip edilir.
- Criteria olarak Client language preference seçilir.
- Koşula ait ilgili konfigürasyonlar yapılandırılır.
Addbutonuna tıklanarak koşul eklenir.
Client Language Preference Koşulu Ekleme Formu
Client Language Preference Koşulu Ekleme Formu
INFO
Condition Name
Oluşturulacak koşul için isteğe bağlı bir isim girilebilir.
Bu alan, özellikle aşağıdaki senaryolarda önemlidir:
- Aynı vService altında çok sayıda koşul tanımlandığında,
- Benzer kriterlere sahip koşulların ayırt edilmesi gerektiğinde,
- Koşulun hangi iş kuralını temsil ettiğinin hızlıca anlaşılması istendiğinde.
Bu alan boş bırakıldığında, TR7 ilgili koşulun içeriğini analiz ederek Condition Description alanında otomatik ve açıklayıcı bir isim oluşturur. Oluşturulan bu açıklama, koşul listelerinde isim olarak kullanılır.
INFO
Criteria Zorunlu
Koşulun tipini belirleyen alandır; aranabilir açılır listeden Client language preference seçilir. Bu seçim, formda görüntülenecek alanları belirler. Kriter, koşul kaydedildikten sonra değiştirilemez: farklı bir kritere ihtiyaç duyulursa yeni bir koşul tanımlanır. Listedeki tüm kriterler ve kapsamları için Conditions sayfasındaki kriter kataloğuna bakılabilir.
INFO
Language Zorunlu
Denetlenecek dil, aranabilir açılır listeden seçilir. Listede ISO 639-1 standardındaki 184 dil, Ad (kod) biçiminde yer alır (ör. Turkish (tr), English (en)); dil adları arayüzün etkin diline göre görüntülenir. Adı çözümlenemeyen diller yalnızca kodlarıyla listelenir. Alan boş bırakılamaz ve listenin ilk maddesi (aa) seçili olarak açılır; denetlenecek dilin bilinçli olarak seçilmesi gerekir.
INFO
Languages to Compare İsteğe bağlı
Koşulun sorusunu belirleyen alandır; Language alanında seçilen dil bu listede sunulmaz:
- Boş bırakıldığında koşul yalnızca "istemci bu dili kabul ediyor mu" sorusunu sorar; seçilen dil istemcinin kabul listesinde geçiyorsa (q=0 hariç) koşul sağlanır.
- Doldurulduğunda koşul "istemci bu dili, buradaki dillerden daha çok mu istiyor" sorusunu sorar; istemcinin q-factor sıralamasında Language alanındaki dil, karşılaştırma listesindeki dillerin önüne geçiyorsa koşul sağlanır. Bir sayfanın hangi çevirisinin gösterileceğini seçmenin standart yolu budur.
Birden fazla dil seçilebilir.
WARNING
Çok dilli yönlendirme kurarken, her dil için tanımlanan koşullarda aynı dil kümesi kullanılmalıdır (ör. TR koşulunda İngilizce ile, EN koşulunda Türkçe ile karşılaştırma). Koşullar farklı kümelerle tartılırsa birbirini dışlamaz; hiçbirini karşılamayan ziyaretçiler ise varsayılan içeriğe düşer.
TIP
Türkçe–İngilizce ikilisi için koşul seçim listelerinde iki hazır koşul sunulur: If the client prefers Turkish over English ve If the client prefers English over Turkish. Bu ikili için ayrı bir koşul tanımlamaya gerek yoktur.
INFO
Condition Description
Girilen kriter ve değerler doğrultusunda TR7 tarafından otomatik olarak oluşturulur.
Bu açıklama;
- Koşulun hangi değer için geçerli olduğunu,
- Hangi kriter üzerinden çalıştığını,
- Listeleme ekranlarında koşulun hızlıca anlaşılmasını
sağlayacak şekilde sistem tarafından dinamik olarak üretilir. Diller, açıklamada büyük harfli dil kodlarıyla gösterilir (ör. TR > EN).
INFO
Form Butonları
Add
Add butonuna tıklanarak koşul ekleme işlemi tamamlanır.
Add & Repeat
Add & Repeat butonu ile koşul ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir koşul daha eklenebilir.
Koşul Eklendi
Operasyonel Kullanım Önerileri
- Çeviri Seçiminde Karşılaştırma Kullanın. "Hangi dil sürümü gösterilsin" kararı için Languages to Compare alanını doldurun; boş bırakılan koşul yalnızca kabul denetimi yapar ve birden çok dili kabul eden istemcilerde ayrım sağlamaz.
- Simetrik Koşullar Kurun. Her dil sürümü için koşul tanımlarken tüm koşullarda aynı dil kümesini kullanın; aksi halde koşullar birbirini dışlamaz.
- Varsayılanı Unutmayın. Hiçbir dil koşulunu karşılamayan istemciler (başlık göndermeyenler dahil) için varsayılan dil sürümünü planlayın.
- Varyant Tanımlamayın.
tr-TR,en-USgibi bölgesel varyantlar temel dile dahildir; yalnızca temel dili seçmek yeterlidir.
Canlı Ortamlarda Yaygın Kullanım Senaryoları
Aşağıdaki örnekler, ilgili koşulun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.
Senaryo 1: Çok Dilli Site Yönlendirmesi
Kullanım Amacı: Türkçeyi tercih eden ziyaretçileri sitenin Türkçe sürümüne, İngilizceyi tercih edenleri İngilizce sürüme yönlendirmek.
Konfigürasyon: Language → Turkish (tr), Languages to compare → English (en) (ikinci koşul tersi: Language → English (en), Languages to compare → Turkish (tr))
Aksiyon Önerileri:
- ✅ Set Path → Türkçe tercih eden ziyaretçinin isteği
/trpath'ine yönlendirilir. - ✅ Show Content → Karşılama/bilgilendirme sayfası ziyaretçinin tercih ettiği dilde gösterilir.
Senaryo 2: Kurum Servisine Dil Bilgisi İletme
Kullanım Amacı: Dil seçimini uygulama tarafında yapan Kurum Servisine, istemcinin tercihini standart bir başlıkla iletmek.
Konfigürasyon: Language → Turkish (tr), Languages to compare → English (en)
Aksiyon Önerileri:
- ✅ Add HTTP Header →
X-Preferred-Lang: trbaşlığı eklenir; koşulu karşılamayan trafik için ayrı bir kurallaX-Preferred-Lang: eneklenir. - ✅ Advanced Traffic Inspection → Dil tercihi dağılımı raporlanır.
Senaryo 3: Belirli Bir Dili Kabul Eden İstemcileri Ayrıştırma
Kullanım Amacı: Belirli bir dili kabul eden istemcilere (tercih sıralamasından bağımsız) o dile özel bir duyuru veya içerik sunmak.
Konfigürasyon: Language → German (de), Languages to compare → (boş)
Aksiyon Önerileri:
- ✅ Show Content → Almanca kabul eden ziyaretçilere Almanca duyuru sayfası gösterilir.
- ✅ Add HTTP Header →
X-Accepts-German: truebaşlığı eklenir, Kurum Servisi içerik kararını verir.
