Çoklu Dil Desteği Neden Gerekli?
Dijital dünyada coğrafi sınırlar kalktı. Türkçe bir web sitesi Almanya'daki Türk diasporasına, İngilizce versiyonu ise global pazara hitap edebilir. Çoklu dil desteği (internationalization/i18n), potansiyel müşteri kitlenizi katlayabilir.
i18n vs l10n: Fark Nedir?
- i18n (Internationalization): Uygulamayı birden fazla dili destekleyecek şekilde tasarlama — altyapı
- l10n (Localization): Belirli bir dile ve kültüre uyarlama — içerik
Önce i18n altyapısını kurarsınız, sonra her dil için l10n yaparsınız.
URL Stratejileri
Çoklu dil desteğinde URL yapısı SEO açısından kritiktir:
Alt dizin yaklaşımı (önerilen):
- muharremonel.com/tr/hakkimda
- muharremonel.com/en/about
- Tek domain, tek hosting, kolay yönetim
- Google tarafından en iyi desteklenen yöntem
Alt domain yaklaşımı:
- tr.muharremonel.com
- en.muharremonel.com
- Daha fazla yapılandırma gerektirir
Domain bazlı:
- muharremonel.com.tr (Türkçe)
- muharremonel.com (İngilizce)
- Her domain ayrı SEO otoritesi — genellikle önerilmez
Dil Dosyası Yapısı
Çevirileri JSON dosyalarında tutmak en yaygın yaklaşımdır:
- Her dil için ayrı dosya (tr.json, en.json)
- Nested yapı ile organize edin (common, about, contact gibi kategoriler)
- Değişken içeren metinler için interpolation desteği
- Çoğul form desteği (1 yorum, 5 yorum gibi)
SEO ve Çoklu Dil
Arama motorlarının farklı dil versiyonlarını doğru indexlemesi için:
- hreflang etiketleri: Her sayfada tüm dil versiyonlarını belirtin
- Canonical URL: Her dil versiyonunun kendi canonical'ı olsun
- Sitemap: Her dil versiyonu sitemap'te ayrı ayrı listelenmeli
- Meta tag'ler: Title, description her dilde ayrı olmalı
- Yapısal veri: JSON-LD'de inLanguage belirtin
- İçerik kalitesi: Makine çevirisi yerine profesyonel çeviri veya en azından kaliteli AI çevirisi kullanın
Tarih, Sayı ve Para Birimi Formatlama
Dil değiştiğinde sadece metin değil, formatlar da değişmelidir:
- Tarih: 04/08/2026 (TR) vs 08/04/2026 (US) vs 2026-08-04 (ISO)
- Sayılar: 1.234,56 (TR) vs 1,234.56 (EN)
- Para birimi: 1.500,00 ₺ vs $1,500.00
- Ölçü birimleri: Kilometre vs mile
Intl API (JavaScript built-in) bu formatlama işlemlerini kolaylaştırır.
Çeviri Yönetimi
Çeviri sürecini verimli yönetmek için:
- Çeviri anahtarlarını anlamlı isimlendirin (button_submit yerine common.buttons.submit)
- Eksik çevirileri tespit eden araçlar kullanın
- Fallback dili belirleyin — çeviri yoksa varsayılan dilde gösterin
- Context sağlayın — çevirmene metnin nerede kullanıldığını açıklayın
- Düzenli çeviri review'ları yapın
Yaygın Hatalar
- Metinleri doğrudan koda yazmak (hardcode) — çevrilemez
- Cümle parçalarını birleştirerek cümle oluşturmak — dil yapıları farklıdır
- String uzunluğunu hesaba katmamak — Almanca metinler İngilizce'den %30 daha uzun olabilir
- Sağdan sola (RTL) dilleri düşünmemek — Arapça, İbranice
- Tarih ve sayı formatlarını sabit kodlamak
- Sadece UI'ı çevirmek, URL ve meta tag'leri ihmal etmek
Sonuç
Çoklu dil desteği, doğru altyapı ile baştan kurulduğunda proje boyunca sorunsuz çalışır. Sonradan eklemeye çalışmak ise büyük refactoring gerektirir. URL stratejisi, SEO uyumu ve formatlama detaylarına dikkat ederek, web uygulamanızı global pazara açabilirsiniz.
Projenize çoklu dil desteği eklemek mi istiyorsunuz? İletişime geçin.
