İçeriğe git
cutty.dev
All posts

25 dilde CANLI — dönüm noktası

cutty.dev artık yirmi beş dilde konuşuyor. Bunun ne anlama geldiğine, neden bu özel dillerin seçildiğine ve verileri dışarıya göndermeden bunun nasıl yapıldığına dair kısa bir hikaye.

  1. Birkaç hafta içinde bu kadar çok dil ekledik. Başlangıç mütevazıydı: Lehçe ve İngilizce, iki tane, liste bitti. Bugün cutty.dev sizi yirmi beşiyle karşılıyor. Sayı güzel ama tek başına bir anlam ifade etmiyor. Önemli olan, bu sütunların arkasında kimin olduğudur.

Hızlıca hesapla. Arapça 400 milyonun çok üzerinde bir nüfusa sahip. Hintçe ise birkaç yüz milyon daha ekliyor. Mandarin dahil edilirse Çince, bir milyarı aşıyor. Buna İspanyolcayı (İspanya artı neredeyse tüm Latin Amerika) ve Portekizceyi (esas olarak Brezilya sayesinde) ekle. Bu pazarları topladığında, aracı anında kendi dillerinde görebilecek birkaç milyar insan ortaya çıkıyor. İlk saniyeden itibaren.

Neden tam olarak bu 25

Düzenli olması için tam liste. Lehçe, İngilizce, Almanca, Fransızca, İspanyolca, İtalyanca, Çekçe, Romence, Macarca, Yunanca, Felemenkçe, İsveççe, Fince, Ukraynaca, Türkçe. Buna ek olarak Arapça ve İbranice (her ikisi de sağdan sola yazılır). Çince, Japonca, Korece. Hintçe, Tayca, Vietnamca, Endonezyaca. Ve Portekizce.

Burada hiçbir şey akla esinlenerek gelmedi. İlk katman sadece Avrupa, pazar pazar ilerlemek. İkincisi ise bir Avrupa girişiminin "hareketlilik oluşana kadar" genellikle dokunmadığı yerler: Orta Doğu ve Kuzey Afrika, İsrail, Doğu Asya, Hint alt kıtası, Güneydoğu Asya.

Fransızca, tek bir yerel ayarın (locale) tüm dünyayı nasıl beraberinde sürüklediğine dair burada iyi bir örnektir. Fransa, elbette; ancak Belçika, Quebec ve Batı Afrika'nın büyük bir kısmı da öyle. Tek bir çeviri dosyası, onlarca ülke.

Bu çeviriler nereden geliyor

Burası sanırım en memnun olduğum kısım. Herhangi bir harici API üzerinden gerçekleşmedi. Kendi ağımızdaki, kendi donanımımızda çalıştırılan yerel bir yapay zeka modeli çeviri yaptı.

Bundan ne sonuç çıkıyor, basitçe:

  • Arayüzden tek bir cümle bile dışarı çıkmadı. Hiçbir yapay zeka sağlayıcısı metinlerimizi "işlemek" için almadı. Bunun sebebi "Kısalt" butonunda saklayacak bir şeyimiz olması değil. Sadece bu projeyi en başından beri böyle yapılandırıyoruz ve istisnalar sonradan büyüdüğü için istisna yapmıyoruz.
  • Kelimesi kelimesine çevirmekten daha iyi sonuç veriyor. Model bağlamı, tonu ve bazen şakayı koruyor. Üç dilde "Short link" ifadesi tek bir kopyalama yerine üç farklı anlamlı karşılığa sahip olabiliyor.
  • Sorgu başına sıfır maliyet. Yirmi beş versiyonda tek bir cümleyi düzeltmek mi istiyorum? Bunu yapıyorum ve faturadaki sayaca bakmıyorum.

İlk geçişten sonra bile her versiyona gözle bakıyordum. Düzen korunuyor mu, Almanca (o harika uzun isimleri) metni butonun dışına taşıyor mu veya Arapça gerçekten doğru yöne mi akıyor diye kontrol ediyordum.

Sayfa yansıması, yani Arapça ve İbranice

Bu ayrı bir işti, "bayrak değişimi" değil. Bu iki dil için tüm sayfa yatay olarak ters yansıtılmış. Navigasyon sağa kayıyor, oklar diğer yöne bakıyor, hatta hero kısmındaki gradyan bile ters gidiyor.

Vazgeçilebilirdi. Birçok servis vazgeçiyor ve o zaman Arapça versiyon, birinin kısmen ters çevirip bıraktığı Batı sitesi gibi görünüyor. Bu hemen fark ediliyor. Mısırlı veya İsrailli birinin, sayfanın kendisi için mesai saatleri dışında çevrilmiş değil de, kendi yerinde yapılmış olduğu izlenimine kapılmasını istedik.

Yazı Tipleri, yani çatlayana kadar kimsenin düşünmediği o sorun

Çince, Japonca, Korece. Standart bir web fontunun içinde basitçe bulunmayan CJK karakterleri. Eğer bu şekilde bırakılsaydı, kullanıcı metin yerine kareler görürdü (bozuk bir sayfanın o klasik görünümü). Bu yüzden ek fontlar yüklüyoruz, ancak sadece bu sürümlerde. Geri kalan yirmi küsur yerel dil ise hafif, standart yazı tipimizi kullanıyor ve gereksiz hiçbir şey taşımıyor. Tayca, Hintçe ve diğer alfabeler için de tam olarak aynı yaklaşım uygulandı.

Ters Sıralama

Şema belli: ürünü İngilizce olarak piyasaya sürüyorsun ve geri kalan dilleri "bir gün, hareketlilik olduğunda" ekleyeceksin. Ancak İspanyolca tarafında bir hareketlilik olmayacak, çünkü Google üzerinden gelen bir İspanyol İngilizceyi görüp çıkacaktır.

Tersine gittik. Günaydın demek için 25 dil. Çekya, Tayvan, Vietnam veya Mısır'dan biri arama motorundan gelip ilk ekrandan itibaren kendini evinde hissediyor.

Bunda sıradan bir nezaket de var. Ağ, varsayılan olarak İngilizce anlaşacağınızı varsayar. Sizinle Korece veya Tayca konuşan Avrupa menşeli küçük bir araç, aynı zamanda şunu da söyler: sadece İngilizce konuşan merkez için değil, herkes için yapılmıştır.

Peki ya seninkisi yoksa

Liste uzun ama tamamen kapalı değil. Dilinizi görmüyor musunuz? Yazın. Bir yenisini eklemek bizim için günler meselesi, gerçekten, çeyrekler değil.

Eğer anlaştıysak, ne yapacağını biliyorsun demektir. Bir bağlantıyı kısalt ve gerçekten kendi yerindeymiş gibi görünüp görünmediğine bak. Bir şeyler ters giderse, haber ver.