Apple WWDC 2023’te String Catalogs’u tanıttığında, kalbim çarpmaya başladı. Uygulama yerelleştirmesi için bir Xcode eklentisi olan RemafoX’u inşa etmek için tam bir yılımı harcamıştım, sonra da işlevselliğinin büyük bölümünün Xcode’un kendisinin bir parçası haline geldiğini gördüm. Bağımsız bir geliştirici olarak bu büyük bir darbe oldu — RemafoX, 2022’de tam zamanlı bağımsız geliştirici olduktan sonra amiral gemisi uygulamam olacaktı.
Yine de String Catalogs’u derinlemesine inceledikçe ilginç bir şey fark ettim: Apple’ın derin SwiftUI entegrasyonu, Xcode eklentileri aracılığıyla başarılması mümkün olmayan olasılıklar sunuyordu. Akıntıya karşı savaşmak yerine, onu kucaklamaya karar verdim. Tek bir hafta sonunda, String Catalogs’u ayrıştırabilen ve makine çevirilerini işleyebilen basit bir araç yaptım. O araç TranslateKit oldu.
Beklenmedik Bir Başarı Hikayesi
Kişisel kullanım için bir hafta sonu projesi olarak başlayan şey, hızla bugüne kadarki en başarılı uygulamam oldu. Dünya genelindeki geliştiriciler TranslateKit’in sadeliğini ve verimliliğini benimsedi. Bu kadar çabuk yazılmış bir uygulama için geri bildirimler beklentilerimi aştı ve beraberinde geliştiricilerin bir yerelleştirme aracından gerçekten ne istediğine dair değerli içgörüler geldi. Yakın zamanda, bir bağımsız geliştirici arkadaş Bluesky’da şunları paylaştı:
1/ I've always wanted to localize @glusight.app, but I initially thought it'd require significant refactoring, which I wasn't prepared for. However, my new project, setup with localization from the start made it clear how easy Apple and tools like @translatekit.app make the process.
#BuildInPublic
— slowbrewed.studio (@creativewith.in) 2025-02-03T15:42:08.641Z
Bu bende derin bir yankı uyandırdı. Birçok geliştirici SwiftUI uygulamalarını yerelleştirmek için gereken çabayı fazla abartıyor. Günümüzün araçlarıyla %90 yerelleştirme kapsamına ulaşmak şaşırtıcı derecede basit ve son %10’a ulaşmak da her zamankinden daha kolay hale geliyor.
Şunu düşün: Dünya nüfusunun yaklaşık %80’i İngilizce konuşmuyor. Yerelleştirme eksikliği, bir uygulamanın küresel ölçekte kullanıcılar için erişilemez olmasının istatistiksel olarak bir numaralı nedeni. Her uygulama yerelleştirilmeli — bu sadece daha fazla kullanıcıya ulaşmakla ilgili değil, uygulamanı gerçekten erişilebilir kılmakla ilgili. Ve bunu bağımsız geliştiriciler için mümkün olduğunca kolaylaştırmayı misyonum haline getirdim.
TranslateKit 3’e Evrim
Bir yıl boyunca kullanıcı geri bildirimlerinden öğrendikten sonra, çok daha iyisini yapabileceğimi fark ettim. En büyük sıkıntı noktası? API key’lerinin kurulumu. Geliştiriciler kendilerini çeşitli çeviri servislerine kayıt olurken, kredi kartlarıyla uğraşırken ve API kotalarını yönetirken buluyordu. Basit olması gereken bir süreç için çok fazla sürtünme vardı.
Sonra çeviri kalitesi sorunları vardı. Makine çevirisi entegrasyonlarım iyi olsa da, her string’i izole çevirerek genellikle önemli bağlamı kaçırıyordu. İngilizce’de gayet mantıklı olan bir buton, diğer dillerde garip derecede uzun veya tamamen bağlam dışı olabiliyordu. String’leri toplu işleyerek ve yapay zekaya tam uygulama bağlamını sağlayarak, TranslateKit 3 tüm uygulamanda tutarlılığı ve uygun tonu koruyabiliyor.
Proje çapında yönetim bir diğer kritik iyileştirme oldu. Daha önce, geliştiriciler InfoPlist.xcstrings dosyalarını ayrıca sürükleyip bırakmayı hatırlamak zorundaydı — bu da uygulamaların yerelleştirilmiş olmasına rağmen izin diyaloglarının hâlâ İngilizce görünmesine yol açıyordu. Artık TranslateKit tüm projeyi bir seferde ele alarak hiçbir şeyin kaçırılmamasını sağlıyor.
Bu, geliştiriciler için en önemli olan şeylere odaklanan tamamen yeni bir yapıya yol açtı:
Sıfır kurulum gerekli - artık API key’leri veya servis kayıtları yok
Uygulamanın amacını anlayan bağlam duyarlı yapay zeka çevirileri
İzin metinleri dahil her şeyi yakalayan proje çapında yerelleştirme
Uygulamanın marka terimleri ve terminolojisinin akıllı yönetimi
Resmiyet ve kültürel bağlam gibi dile özgü nüanslar desteği
Sonuçlar? Çeviri hataları geleneksel servislere kıyasla yaklaşık %90 azaldı. Üstelik TranslateKit 3, mevcut çevirileri iyileştirebilen benzersiz bir özellik olan yapay zeka düzeltmesini de tanıtıyor — ister TranslateKit’in eski sürümünden ister başka bir kaynaktan olsun. Kontrol edilecek dilleri seç ve yapay zekanın çevirilerini daha iyi doğruluk için ince ayar yapmasına izin ver.
Proxyman’ın arkasındaki geliştirici Noah’ın ne dediğine kendin bak:
love this feature.
— Noah Tran (@_nghiatran) February 17, 2025
Meanwhile, Google Translate is so stupid, it tried to translate universal terms like HEAD, GET, Proxy, REST ... to Chinese, which is completely wrong pic.twitter.com/YaxCan3kUH
Noah, çok büyük uygulaması Proxyman’ın yerelleştirmesi hakkında.
Ve yeni ihtiyacın kadar öde fiyatlandırma yaklaşımıyla, yerelleştirme sonunda tüm bağımsız geliştiriciler için uygun fiyatlı. Sadece 1$’a tek bir dil ekleyerek deneyebilirsin (denemek için ücretsiz bir ilk ay ile), ya da hepsine birden dalıp ortalama büyüklükteki bir uygulamaya sadece 4 dakikada en popüler 10 dili 5$’dan az bir fiyata ekleyerek 5 kat daha fazla kullanıcıya ulaşabilirsin. Umarım bu, uygulama yerelleştirmesini mümkün olduğunca uygun fiyatlı kılar ve bunu düşünen geliştiriciler için bir engeli daha ortadan kaldırır.
iOS’un Ötesine Bakmak
Ama burada durmadım. TranslateKit SDK hakkındaki son yazımda paylaştığım gibi, SwiftUI geliştiricileri artık #tk makrosuyla otomatik key üretiminden ve TK.Action.cancel gibi bir çağrıyla 2.000’den fazla önceden çevrilmiş ortak arayüz metninden faydalanabiliyor. Her ikisi de yerelleştirmenin doğruluğunu daha da artırmaya yardımcı olacak. Ve iOS geliştirme her zaman birincil odağım olacak olsa da, TranslateKit’in çekirdek çeviri sistemini platformdan bağımsız olarak tasarladım, gelecekte Android ve Flutter başta olmak üzere diğer uygulama platformlarını desteklemenin yolunu açtım.
Uygulama yerelleştirmesinin ne kadar basit hale geldiğini gösteren kapsamlı bir video rehberine son dokunuşları yapıyorum. Çünkü bazen görmek inanmaktır — ve her geliştiricinin, bekledikleri baş ağrıları olmadan uygulamalarını küreselleştirebileceklerini bilmelerini istiyorum. Şimdilik bu 50 saniyelik video yeterli olmalı:
TranslateKit 3 ile bir uygulamayı yerelleştirmenin hızlı demosu
Kendin Dene
Yerelleştirmenin ne kadar kolay hale geldiğini anlamanın en iyi yolu denemek. Projenize bir String Catalog ekle, uygulamanı derle ve zaten yerelleştirilecek girişlerin çoğunun hazır olduğunu görmek seni şaşırtabilir. TranslateKit 3 ile bunları bağlam duyarlı yapay zeka ile çevirebilir, tüm projen genelinde tutarlılık sağlayabilir ve dünya genelindeki kullanıcılara her zamankinden daha hızlı ulaşabilirsin.
RemafoX’tan TranslateKit’e olan yolculuk bana bazen bir gerilemenin daha iyi bir şey inşa etmeye yol açabileceğini öğretti. Yeni teknolojileri kucaklayarak ve geliştiricilerin ihtiyaçlarını gerçekten dinleyerek, uygulama yerelleştirmesini daha kolay ve daha iyi hale getiren bir araç yarattım. Sabır her zaman meyvesini verir!

