Sektörel Görüşler//9 dk okuma

better-auth'ın Kimlik Doğrulama İçin Yaptığını, better-i18n Yerelleştirme İçin Yapıyor

Eray Gündoğmuş
Paylaş

"better-" felsefesinin geliştirici araçlarını nasıl yeniden şekillendirdiği — ve i18n'nin neden çok önce aynı muameleyi hak ettiği.


NextAuth.js veya Auth.js ile boğuşurken better-auth'ı kullandıysanız, o his ne bilin. Bir kütüphanenin yalnızca çalışmadığı değil — doğru hissettirdiği an. API mantıklı. TypeScript türleri eksiksiz. Dokümantasyon tam da sorduğunuz soruyu yanıtlıyor. Araçlarınızla savaşmayı bırakıp ürününüzü inşa etmeye başlıyorsunuz.

İşte bu his better-i18n'i ilham etti.

Bu bir pazarlama yazısı değil. Yerelleştirmedeki geliştirici deneyiminin yıllardır neden takılı kaldığına, "better-" felsefesinin i18n'e nasıl uygulandığına ve bunun pratikte ne anlama geldiğine dair dürüst bir bakış.


better-auth Etkisi

better-auth'tan önce Next.js için kimlik doğrulama manzarası şöyleydi:

  • NextAuth.js / Auth.js — varsayılan tercih. Güçlü, yaygın benimsenmiş, ancak inanılmaz derecede karmaşık yapılandırma, tutarsız TypeScript desteği ve birçok ekibi hayal kırıklığına uğratan v4'ten v5'e geçiş.
  • Clerk, Auth0, Supabase Auth — sağlayıcının öngörmediği bir şeyi özelleştirmeniz gerekene kadar harika çalışan yönetilen hizmetler.
  • Kendiniz yazmak — basit başlayıp bir güvenlik olayıyla biten "sadece bcrypt ve JWT kullanacağım" yaklaşımı.

Sonra better-auth ortaya çıktı ve dedi ki: Ya kimlik doğrulama basit, tip güvenli ve geliştiricilerin 2025'te gerçekte çalışma biçimine göre tasarlanmış olsaydı?

Sonuç, ferahlatıcı biçimde açık hissettiren bir kütüphaneydi. Baştan itibaren tam TypeScript desteği. Kısıtlamak yerine genişleten bir eklenti sistemi. Güvenlik protokollerinde doktora gerektirmeyen oturum yönetimi. Sadece bağlanan veritabanı adaptörleri. Çalışan sosyal giriş.

Geliştiriciler better-auth'a daha fazla özelliği olduğu için değil, zamanlarına saygı gösterdiği için geçti.


i18n Sorunu Aynı Sorundur

Şimdi yerelleştirme manzarasına bakın:

  • react-i18next / i18next — endüstri standardı. Savaşta test edilmiş, inanılmaz derecede esnek, ancak önemli miktarda ortak kod gerektiriyor. Tip güvenliği sonradan düşünülmüş. App Router ile sunucu tarafında render dikkatli manuel yapılandırma gerektiriyor. Tüm eklentiler ve seçenekler için öğrenme eğrisi gerçek.
  • next-intl — Next.js için büyük bir iyileştirme. Temiz API, hızlı kurulum. Ancak yalnızca Next.js. React Native yok. Vue yok. Astro yok. JSON dosyalarını hâlâ manuel yönetiyorsunuz.
  • Crowdin, Lokalise, Phrase — aylık 40-385 dolardan başlayan fiyatlarla yönetilen platformlar, kurumsal satın alma döngüleri için tasarlanmış hantal web arayüzleri ve dosyaları dışa aktarma, yükleme, bekleme, indirme ve yeniden içe aktarmayı içeren geliştirici iş akışları.

Tanıdık geldi mi? Aynı örüntü:

Kimlik Doğrulama (better-auth Öncesi)i18n (better-i18n Öncesi)
NextAuth: güçlü ama karmaşık yapılandırmareact-i18next: güçlü ama ağır ortak kod
Clerk/Auth0: yönetilen ama esnek değilCrowdin/Lokalise: yönetilen ama pahalı ve hantal
Kendiniz yazın: basit başlangıç, acı sonElle JSON dosyaları: basit başlangıç, sürdürülemez son

Her iki durumda da eksik seçenek? Varsayılan olarak basit, gerektiğinde güçlü ve her yerde tip güvenli olan geliştirici odaklı bir araç.


better-i18n "Better" Felsefesini Nasıl Uyguluyor

İsim bir tesadüf değil. Açıkça better-auth'tan ilham aldık — yalnızca isimlendirmede değil, tasarım felsefesinde. İşte nasıl çeviriliyor:

1. Tip Güvenliği İsteğe Bağlı Değil

better-auth TypeScript desteğini @types paketleriyle sonradan eklenen değil, temel özellik yaptı. better-i18n çeviri anahtarları için aynısını yapıyor.

// Her anahtar tiplendirilmiş. Otomatik tamamlama çalışıyor. Yazım hataları derleme zamanında yakalanıyor.
const t = useTranslations();
t("hero.title");     // ✅ Otomatik tamamlama bunu öneriyor
t("hero.ttle");      // ❌ TypeScript hatası — anahtar mevcut değil

i18next dünyasında kısmi tip güvenliği için fazladan yapılandırma, özel tür bildirimi dosyaları ve eklentilere ihtiyacınız var. better-i18n'de bu varsayılandır.

2. Mümkün Olan Yerde Sıfır Yapılandırma, Gerektiğinde Tam Kontrol

better-auth birkaç satır kod ve bir veritabanı adaptörüyle başlamanıza izin veriyor. Çok dosyalı yapılandırma ritüeli yok.

better-i18n aynı ilkeyi izliyor:

  • CDN dağıtımı anında çalışıyor. Derleme adımı yapılandırması yok. Bir çeviriyi yayınlayın, saniyeler içinde küresel olarak yayında.
  • Anahtar keşfi otomatik. CLI, kod tabanınızı AST ayrıştırma yoluyla tarıyor. Her anahtarı manuel olarak listelemenize gerek yok.
  • Git senkronizasyonu yerleşik. Çeviriler pull request olarak geliyor. Dışa/içe aktarma dansı yok.

Ancak kontrole ihtiyaç duyduğunuzda, orada. Kurumsal için özel AI modelleri. Şirket içi dağıtım. Ayrıntılı izinler. Eklenti tabanlı SDK mimarisi.

3. Beş Araç Değil Bir Araç

better-auth "NextAuth + Clerk + özel ara katman yazılımı + oturum deposu + sosyal giriş adaptörü" yığınını tek tutarlı bir kütüphaneyle değiştirdi.

better-i18n "react-i18next + Crowdin + özel çıkarma betiği + CDN kurulumu + tür oluşturma aracı" yığınını tek tutarlı bir platformla değiştiriyor:

İhtiyacınız OlanEski Yolbetter-i18n Yolu
Çevirileri render etmekreact-i18next / next-intl@better-i18n/react SDK
Çeviri anahtarlarını bulmakManuel veya özel betikAST tabanlı otomatik keşif
İçerik çevirmekCrowdin (aylık 40$+) veya manuelAI destekli, marka bilinçli
Çevirileri incelemekHarici TMS web arayüzüAI önerileriyle yerleşik editör
Çevirileri dağıtmakYeniden derleme ve yeniden dağıtımAnında CDN (50ms altı)
Tip güvenliğiFazladan yapılandırma + eklentilerYerleşik, sıfır yapılandırma

4. AI-Yerleşik Fark

Burada better-i18n, better-auth'ın çözmeye ihtiyaç duyduğunun ötesine geçiyor. Kimlik doğrulamanın AI'ya ihtiyacı yok. Yerelleştirmenin ise çok ciddi ihtiyacı var.

Geleneksel çeviri iş akışları:

  1. Geliştirici anahtarları çıkarıyor
  2. Geliştirici JSON dosyalarını dışa aktarıyor
  3. PM çeviri platformuna yüklüyor
  4. Çevirmen çeviriyor (günler ila haftalar)
  5. PM çevrilmiş dosyaları indiriyor
  6. Geliştirici içe aktarıp commit'liyor
  7. PR incelemesi, birleştirme, dağıtım
  8. Her dil güncellemesi için tekrar

better-i18n'nin AI-yerleşik iş akışıyla:

  1. Geliştirici kod yazıyor (anahtarlar otomatik keşfediliyor)
  2. AI marka bağlamı ve sözlük eşleştirmesiyle çeviriyor
  3. Çevirmen inceleyip onaylıyor (veya güvenilen diller için otomatik onay)
  4. CDN'de anında yayında

Adımlar 8'den 4'e indi. Takvim süresi haftalardan saatlere indi.

Ve MCP (Model Context Protocol) entegrasyonuyla çevirileri doğrudan Claude veya Cursor'dan yönetebilirsiniz:

"Hey Claude, yeni katılım akışını marka ses sözlüğümüzle eşleştirerek Almanca ve Fransızcaya çevir."

Hiçbir diğer yerelleştirme platformu bunu sunmuyor. Bu, AI ile zaten çalışan geliştiriciler için inşa ettiğinizde ne olduğu.


Dürüst Bir Karşılaştırma

"better-" öneki bir sorumluluk taşıyor: Özel kullanım durumunuz için gerçekten daha iyi olmak zorunda. better-i18n'in gerçekten öne çıktığı yerler — ve alternatiflerin kazandığı yerler:

better-i18n'nin Kazandığı Yerler

Boyutbetter-i18nAlternatifler
Kurulumdan üretimeDakikalar (CDN, derleme yapılandırması yok)Saatler ila günler (i18next yapılandırması, TMS kurulumu)
Çeviri iş akışıAI + insan incelemesiTamamen manuel veya pahalı TMS
Framework kapsamı11 SDK (React, Next, Vue, Angular, Svelte, Expo...)Çoğu 1-3 framework kapsar
Anahtar yönetimiOtomatik AST keşfiManuel çıkarma veya betikler
DağıtımAnında CDN, yeniden derleme yokYeniden derleme ve yeniden dağıtım
AI entegrasyonuClaude/Cursor için MCPYok
FiyatlandırmaÜcretsiz katman, aylık 19$ ProKarşılaştırılabilir platformlar için aylık 40-385$

Alternatiflerin Kazandığı Yerler

BoyutAlternatifNeden Kazanıyorlar
Topluluk boyutureact-i18nextOn yıllık Stack Overflow yanıtları, büyük eklenti ekosistemi
Sıfır bağımlılıkLinguiJS, typesafe-i18nHarici hizmet gerekmiyor, tamamen çevrimdışı çalışıyor
Next.js'e özgü DXnext-intlMümkün olan en sıkı Next.js entegrasyonu, 457B paket
Derleme zamanı garantileriLinguiJSÇeviri eksikse derleme başarısız — çalışma zamanı sürprizi yok
Savaşta test edilmereact-i18next, FormatJSBüyük ölçekte yıllarca üretim kullanımı

Dürüst yanıt: Olgun bir çeviri hattıyla mevcut, çalışan bir i18next kurulumunuz varsa, better-i18n'e geçmek geçiş maliyetine değmeyebilir. Ancak yeni bir proje başlatıyorsanız veya mevcut iş akışınız hizmetler arasında JSON dosyalarını manuel olarak karıştırmayı içeriyorsa, "better-" yaklaşımı size önemli zaman kazandıracak.


Geliştirici Araçlarındaki "Better" Örüntüsü

better-auth ve better-i18n daha geniş bir trendin parçası: gereksiz karmaşıklığı olağan kabul etmeyi reddeden geliştirici araçları.

Örüntü şöyle görünüyor:

  1. Bir incumbent hakimiyet kuruyor ilk gelenin avantajı ve topluluk ataleti yoluyla (NextAuth, react-i18next)
  2. Acı noktaları birikiyyor ama "işlerin olduğu gibi" olarak kabul ediliyor (karmaşık yapılandırma, zayıf tipler, manuel iş akışları)
  3. Yeni bir araç geliyor modern varsayımlarla sıfırdan başlayarak (TypeScript-önce, AI-yerleşik, git-yerleşik)
  4. Erken benimseyenler geçiyor yeni araçta daha fazla özellik olduğu için değil, daha az sinir bozucu olduğu için
  5. Ekosistem kayıyor yeni standart herkes için beklentileri yükselttiğinde

Bunu şunlarla gördük:

  • Prisma ham SQL sorgu oluşturucuların yerini alıyor
  • Tailwind CSS-in-JS karmaşıklığının yerini alıyor
  • Vite webpack yapılandırma acısının yerini alıyor
  • better-auth NextAuth hayal kırıklığının yerini alıyor
  • better-i18n çeviri dosyası karıştırmanın yerini alıyor

Ortak tema? Geliştirici deneyimi güzel bir ek değil. Ürünün ta kendisi.


Başlarken

i18n için "better-" felsefesinin nasıl hissettirdiğini görmek istiyorsanız:

Hızlı Başlangıç (5 dakika)

# SDK'yı yükleyin
npm install @better-i18n/react

# Veya Next.js için
npm install @better-i18n/next
// Uygulamanızı sarın
import { I18nProvider } from "@better-i18n/react";

function App() {
  return (
    <I18nProvider project="your-project" locale="en">
      <YourApp />
    </I18nProvider>
  );
}

// Çevirileri her yerde kullanın
import { useTranslations } from "@better-i18n/react";

function Hero() {
  const t = useTranslations();
  return <h1>{t("hero.title")}</h1>;
}

Ücretsiz katman 1.000 anahtar ve 2 dil içeriyor — yaklaşımın sizin için işe yarayıp yaramadığını değerlendirmek için yeterli.


Son Düşünce

better-auth kimlik doğrulamanın sade olmadan basit olabileceğini kanıtladı. Tip güvenliğinin sonradan eklenmek yerine yerleşik olabileceğini. Geliştirici deneyiminin tasarlanmaya değer olduğunu.

better-i18n, yerelleştirmeye uygulanan aynı bahis. i18n ekosisteminin aynı "better-" muamelesini hak ettiğini düşünüyoruz — ve şimdiye kadarki tepkilere göre, bunu düşünen yalnızca biz değiliz.

Hiç bir i18next yapılandırma dosyasına bakıp bu neden bu kadar karmaşık olmak zorunda diye merak ettiyseniz, neden var olduğunu anlarsınız.


better-i18n'i ücretsiz deneyin veya dokümantasyonu okuyun. better-auth kullanıyorsanız, kendinizi hemen evinizde hissedeceksiniz.

Comments

Loading comments...