Yazılar

Bir günde yedi dil ve yayımlamadığım iki sayfa

laithjunaidy.com'u üç saatte üç dilden yediye nasıl çıkardım? Yayından önce yaptığım iki kontrol ve ikisi için de kopyalayabileceğiniz istemler.

Yazan
Laith Aljunaidy
Yayınlandı
dk. okuma
7 dk. okuma
  • çok dilli web sitesi
  • web sitesi yerelleştirme
  • dil yönlendirmesi
  • çeviri kalitesi
  • hreflang
Bu sayfada
  1. Ziyaretçi hangi dili görür?
  2. Yayımlamaya hazır mı?
  3. Çevrilmiş bir dosya bitmiş bir dosya mıdır?
  4. Yeni bir dil ekliyorsanız
Yayını özetleyen beş kart: adlarıyla yedi dil, 3 saat 14 dakika, 0 Artikel yazan bir sayfa, 83 başlıktan 16'sı ve kural: cihaz dili, asla ülke
Beş kartta yayın.

9 Kasım 2026 sabahı bu site üç dil konuşuyordu: İngilizce, Arapça ve Çince. Bu diller bugün çalıştığım pazarları kapsıyor. Bir sonraki pazarı, ona ihtiyaç duymadan önce açmak istedim.

Saat 10:07’de yönü belirledim:

İstem
Sitenin tamamına Almanca, Fransızca, İspanyolca ve Türkçe ekle. Her vaka çalışmasına, her yazıya, her araştırma sayfasına. Hizmetlerimi AB'de de sunmak istiyorum.

Saat 13:21’de site yedi dilde yayındaydı. Üç saat on dört dakika.

Siteyi yapay zekâ kodlama ajanlarıyla geliştiriyorum ve onları bir ekibi yönettiğim gibi çalışacak şekilde düzenliyorum. Yönü ve kuralları ben belirliyorum. Onlar geliştiriyor. Yapılan işin hiçbirini yazmamış ikinci bir ajan, her şeyi ilk kez gören biri gibi okuyana kadar hiçbir şey yayımlanmıyor. Bu son kural, üç saat içinde yayını iki kez durdurdu. İkisinde de haklıydı.

Bu yazı, bir siteye ya da ürüne yeni bir dil ekleyen herkes için. Anlamak için kod bilmeniz gerekmiyor. Verdiğim her talimat burada kopyalayabileceğiniz bir istem olarak yer alıyor.

Ziyaretçi hangi dili görür?

İlk karar çeviriyle ilgili değildi. Bir kişinin siteye hangi dilde gireceğiyle ilgiliydi.

Çoğu site bu soruyu ziyaretçinin ülkesiyle yanıtlıyor. Bu bir çıkmaz. Dubai’de çalışan bir Alman Arapça görür. Amman’da İngilizce konuşan bir yönetici Arapça görür. Berlin’e seyahat eden Suudi bir kurucu Almanca görür. Üçü de yanlış; üstelik üçü de doğru yanıtı zaten vermiştir: telefonlarının ayarlı olduğu dil.

Ben de kuralı böyle koydum:

İstem
Siteyi ziyaretçinin sistem dilinde aç, asla ülkesine göre açma. Arapçaya ayarlı bir telefona Arapça göster. Bunu yalnızca ana sayfada yap: paylaşılan bir bağlantıyı tam olarak gönderildiği hâliyle aç. Ziyaretçi menüden bir dil seçerse o andan itibaren onun seçimini esas al. Arama motorlarını asla yönlendirme. Henüz desteklemediğimiz bir dil için İngilizce göster.
laithjunaidy.com'un aynı sayfasını gösteren üç telefon: Almancaya ayarlı telefonda Almanca, Arapçaya ayarlı telefonda Arapça, İngilizceye ayarlı telefonda İngilizce
Aynı adres, üç telefon. Telefon nerede olursa olsun, hangi dilin açılacağını telefondaki ayar belirliyor.

14 Kasım’da yayındaki sitenin beş ziyaretçiye verdiği yanıtlar şöyle:

ZiyaretçiSitenin davranışı
Telefonu Almancaya ayarlı, ana sayfayı açıyorAlmanca ana sayfaya yönlendirilir
Telefonunda sırasıyla Arapça ve İngilizce var, ana sayfayı açıyorArapça ana sayfaya yönlendirilir
Telefonunda sırasıyla İngilizce ve Arapça var, ana sayfayı açıyorİngilizcede kalır
Telefonu İtalyancaya ayarlı, ana sayfayı açıyorİngilizcede kalır
Telefonu Arapçaya ayarlı, bir vaka çalışmasının paylaşılan bağlantısını açıyorBağlantı gönderildiği hâliyle açılır

Üçüncü satırı ülkeye dayalı bir kuralla yapamazsınız. O okur Arapça biliyor ama İngilizceyi tercih ediyor; dolayısıyla İngilizcede kalıyor.

Yayımlamaya hazır mı?

Saat 11:21’de yeni diller oluşturulmuştu. Şunu söyledim:

İstem
Hemen yayımla.

Yayımlanmadı. Kendi kuralım durdurdu: inceleme henüz dönmemişti. Her yayının geçtiği inceleme şu:

İstem
Bu yayını siteye ilk kez gelen bir ziyaretçi gibi incele. Yapılan işin hiçbirini sen yazmadın. Her dildeki her yeni sayfayı aç ve sonuna kadar oku. Bir ziyaretçinin boş, yanlış ya da yarım göreceği her şeyi bildir. Hiçbir şeyi düzeltme. Yalnızca raporla.

Saat 11:29’da bir uyarıyla döndü: henüz yayımlama.

Yeni diller ilk üçüyle aynı şablonlardan oluşturulduğu için her birinin daha ilk dakikadan bir Çalışmalar, bir Yazılar ve bir Mağaza sayfası vardı. Çeviriler ise hâlâ geliyordu. Almanca Yazılar sayfasının o derlemede oluşan hâli buydu:

İlk derlemede laithjunaidy.com/de/writing adresini gösteren bir tarayıcı penceresi: sayfa tamamen yüklenmiş ve boş bir panelin üstünde 0 Artikel yazıyor
Sayfa tamamen yüklendi. Tamamı bu: “0 Artikel”, sıfır yazı. Fotoğrafını almak için sitenin o sürümünü bu hafta yeniden derledim.

Hiçbir test bunu yakalamamıştı, çünkü her test sayfanın var olup olmadığını soruyordu. Alman bir ziyaretçi, düzgün bir Almancayla burada hiçbir şey olmadığını söyleyen bir siteye gelecekti.

Çözüm tek bir kural ve alıp kullanmaya değer:

İstem
Bir dil için ancak listelenecek bir şey varsa liste sayfası oluştur. O dilde ilk yazı hazır olana kadar Yazılar sayfasını oluşturma, ona bağlantı verme ve onu arama motorlarına gösterme. Aynısını Çalışmalar ve Mağaza için de uygula.

İnceleme toplam dokuz sorun listeledi. Birini daha bilmekte fayda var. Telefonu Almancaya ayarlı bir okur, İngilizce bir vaka çalışmasındayken Ana Sayfa’ya dokunmuş ve Almancaya yönlendirilmişti. Orada bulunarak İngilizceyi zaten seçmişti. Artık yönlendirme, site içinden gelen hiçbir tıklamaya müdahale etmiyor.

Çevrilmiş bir dosya bitmiş bir dosya mıdır?

Saat 13:16’ya gelindiğinde, her yeni dil için 27 olmak üzere çevrilmiş 108 dosyanın tamamı gelmişti ve testler geçmişti. Çalışmayı yeniden incelemeye gönderdim.

Saat 13:19’da inceleme tek bir bulguyla döndü. Sitenin en uzun yazısı olan tasarım süreci kontrol listesinin İspanyolca ve Türkçe sürümleri yarıda kesilmişti.

SürümKelimeBaşlık
İngilizce10,91883
Almanca10,97383
Türkçe5,31850
İspanyolca2,91416

İspanyolca dosya, 83 başlığın 16’sından sonra bitiyordu. Çevrilmiş bir başlığı, çevrilmiş bir özeti, geçerli bir tarihi ve düzgün biçimlendirmesi vardı. İçinde bozuk bir şey yoktu. Kısaydı ve sayfanın üst kısmı kusursuz görünüyordu.

Yarıda kesilmiş bir çeviri, biri sayfayı aşağı kaydırana kadar bitmiş bir çeviriyle aynı görünür. Bu yüzden sayfayı kaydırmayı kural hâline getirdim. Kontrol şu ve her türlü çevrilmiş dosya grubunda kullanılabilir:

İstem
Her çevrilmiş dosyayı aslıyla karşılaştır. Her çift için başlıkları ve kelimeleri say. Aslındaki başlıkların yüzde 80'inden azını içeren her çeviriyi, her iki başlık sayısıyla birlikte listele. Hiçbir şeyi düzeltme. Yalnızca raporla.

Bu sitede kontrol artık her yayından önce çalışıyor ve kontrolden geçemeyen bir çeviri yayını durduruyor. İspanyolca dosya 83 başlığın 16’sıyla, Türkçe dosya ise 83 başlığın 50’siyle kontrolden geçemedi.

İki kısa dosyayı yayımlamadım; diğer 106 dosyayı da onlar için bekletmedim. İkisini de taslak olarak işaretledim. Taslağın sayfası olmaz, dolayısıyla o iki sayfaya giden on iki bağlantı artık İngilizce yazıya gidiyor. Site, bulgudan iki dakika sonra, saat 13:21’de yayına girdi.

Bugün laithjunaidy.com/de/writing adresini gösteren bir tarayıcı penceresi: 17 Artikel ve altında yazı listesi
Aynı sayfa bugün, artık listeleyecek içeriği var.

Bunu 14 Kasım’da yazarken, o kontrol listesinin İspanyolca ve Türkçe adresleri hâlâ “sayfa bulunamadı” yanıtı veriyor; Almanca ve Fransızca adresleri ise yazıyı açıyor. Beklettiğim iki sayfa hâlâ bekliyor.

Yeni bir dil ekliyorsanız

  • Dili ziyaretçinin ülkesine göre seçmek yerine cihazının istediği dili okuyun.
  • Her sayfayı yönlendirmek yerine ana sayfayı yönlendirin ve paylaşılan bağlantıları gönderildiği hâliyle açın.
  • Her dil için bütün sayfaları oluşturmak yerine liste sayfasını ilk içeriği hazır olduğunda oluşturun.
  • Yeşil test sonuçlarına güvenmek yerine siteyi geliştirmemiş birinin yeni dili bir ziyaretçi gibi açmasını sağlayın.
  • Çevirinin varlığını kontrol etmek yerine aslıyla aynı uzunlukta olup olmadığını kontrol edin. Başlıkları sayın.
  • Kısa bir çeviriyi yayımlamak ya da her şeyi onun için bekletmek yerine onu taslak olarak işaretleyin ve bağlantılarını asıl yazıya yönlendirin.

Beklediğim soru şu: neden iki dosyayı da bitirip eksiksiz yayımlamadım? İki nedeni vardı. 108 dosyanın 106’sı tamdı ve iki kısa dosya, dört dilin ikisinde tek bir yazıyı etkiliyordu. Üstelik bir taslak, İspanyolca ya da Türkçe okurun elindeki hiçbir şeyi almıyor: bir gün önce o yazı kendi dilinde yoktu, hâlâ yok.

Yakınlaştırmak için iki parmağınızı kullanın, kaydırın veya iki kez dokunun. Taşımak için sürükleyin.