Kurumsal better-i18n: Lokalizasyon Altyapınızı Ölçeklendirin
Ürününüz birden fazla dilde sunulduğunda, lokalizasyon tek seferlik bir proje olmaktan çıkar ve altyapı haline gelir. Programatik erişim, CI/CD entegrasyonu, tutarlı terminoloji uygulaması ve neyin çevrildiği, neyin beklemede olduğu, neyin eksik olduğuna dair görünürlük gereklidir.
better-i18n, mühendislik ekipleri için tasarlanmış API öncelikli bir çeviri yönetim platformudur. REST API, Content SDK, CLI araçları, MCP sunucusu, CDN dağıtımı ve GitHub entegrasyonu gibi yapı taşlarını sunarak lokalizasyonu geliştirme iş akışınızın kusursuz bir parçası haline getirir.
Kurumsal Ekiplerin Gerçekte Elde Ettiği
API Öncelikli Mimari
better-i18n'deki her fonksiyon REST API üzerinden kullanılabilir. Dahili araçlarınız, CI pipeline'larınız ve özel iş akışlarınız platformla programatik olarak etkileşime geçebilir:
Çeviri Yönetimi API (dash.better-i18n.com/api):
| İşlem | Açıklama |
|---|---|
| listKeys | Arama, namespace ve durum filtreleriyle çeviri anahtarlarını sorgulama |
| createKeys | Kaynak metin ve başlangıç çevirileriyle anahtar oluşturma |
| updateKeys | Mevcut anahtarların çevirilerini birden fazla dilde güncelleme |
| deleteKeys | Artık kullanılmayan anahtarları geçici silme |
| listProjects | Organizasyondaki tüm projeleri listeleme |
| getProject | Diller ve namespace'ler dahil proje detaylarını alma |
Content SDK (@better-i18n/sdk):
Yerelleştirilmiş içerik girdilerini almak için Supabase tarzı bir sorgu oluşturucu:
import { createClient } from "@better-i18n/sdk";
const client = createClient({
project: "your-org/your-project",
apiKey: process.env.BETTER_I18N_CONTENT_API_KEY,
});
// Fransızca yayınlanmış blog yazılarını getir
const { data, total, hasMore } = await client
.from("blog-posts")
.eq("status", "published")
.language("fr")
.order("publishedAt", { ascending: false })
.limit(20);
SDK sıfır bağımlılığa sahiptir, TypeScript ile tam tiplidir ve herhangi bir JavaScript çalışma zamanında çalışır.
CDN Dağıtımı
Çeviriler Cloudflare'in uç ağından şu adreste sunulur:
https://cdn.better-i18n.com/{org}/{project}/{locale}/{namespace}.json
Dünya genelinde 100 milisaniyenin altında teslimat. Dashboard veya API üzerinden çevirileri güncelleyin; uygulamanızı yeniden dağıtmadan CDN'de anında yayına alınır.
GitHub Entegrasyonu
better-i18n depolarınızla senkronize olur:
- Webhook tetiklemeli senkronizasyon — Push olayları çeviri dosyası güncellemelerini tetikler
- Pull request iş akışı — Çeviri güncellemeleri, kontrolünüzdeki PR'lar olarak gönderilir
- Minimum yetki — Yalnızca yapılandırılmış çeviri dosya kalıplarına (örn.
locales/**/*.json) okuma/yazma - Tam birleştirme kontrolü — Çevirilerin kod tabanınıza ne zaman dahil olacağına siz karar verirsiniz
Geliştirici İş Akışı için CLI
@better-i18n/cli geliştirme sürecinize entegre olur:
# React/Next.js kodunuzdaki sabit kodlanmış dizeleri tespit edin
npx @better-i18n/cli scan --ci
# Yerel çeviri anahtarlarını bulut projenizle karşılaştırın
npx @better-i18n/cli sync --format json
scan'i pre-commit hook'larınıza veya CI pipeline'ınıza ekleyin. Yayın öncesinde çeviri kapsamını denetlemek için sync kullanın.
AI Destekli Çeviri için MCP Sunucusu
İki MCP sunucusu, AI araçlarınızı doğrudan çeviri çalışma alanınıza bağlar:
| Paket | Araç | Amaç |
|---|---|---|
| @better-i18n/mcp | 11 araç | Çeviri yönetimi (anahtarlar, çeviriler, yayınlama) |
| @better-i18n/mcp-content | 17 araç | İçerik yönetimi (modeller, girdiler, yerelleştirilmiş içerik) |
Claude, Cursor, Windsurf ve MCP uyumlu tüm AI araçlarıyla çalışır. AI asistanınız IDE'den çıkmadan anahtar oluşturabilir, çevirileri güncelleyebilir ve içerikleri yönetebilir.
Güvenlik ve Erişim Kontrolü
Altyapı
- Cloudflare Workers — Yerleşik DDoS korumasıyla uç bilişim
- PlanetScale MySQL — Otomatik yedeklemeli sunucusuz veritabanı
- Cloudflare R2 — Çeviri dosyaları için nesne depolama
Şifreleme
- Durağan halde: AES-256 şifreleme
- Aktarım sırasında: Tüm bağlantılar için TLS 1.3
Kimlik Doğrulama
- Dashboard: GitHub OAuth (şifre saklanmaz)
- API: bcrypt ile hashlenmiş anahtarlarla Bearer token kimlik doğrulaması
- Anahtar kapsamı: API anahtarları belirli projelerle sınırlandırılabilir
- Anahtar yönetimi: Dashboard'dan anında iptal
Erişim Kontrolü
- Organizasyon ve proje düzeyinde rol tabanlı erişim kontrolü (RBAC)
- Tüm hassas işlemler için denetim günlükleri
- Tüm dahili erişim için en az yetki ilkesi
Uyumluluk
| Standart | Durum |
|---|---|
| GDPR | Uyumlu — Veri işleme sözleşmeleri mevcut, silme hakkı desteklenir, talep üzerine veri dışa aktarımı |
| SOC 2 Type II | Devam ediyor — sertifikasyon için çalışıyoruz |
Şeffaflık notu: Henüz SOC 2 Type II sertifikamız bulunmamaktadır. Altyapı sağlayıcılarımız (Cloudflare, PlanetScale) SOC 2 Type II ve ISO 27001 sertifikalarına sahiptir. Bu standartlarla uyumlu güvenlik uygulamalarını sürdürüyoruz ve kendi sertifikamızı almak için çalışıyoruz. Ayrıntılı bilgi için güvenlik belgelerimize göz atın.
Framework Desteği
| Framework | Paket | Öne Çıkanlar |
|---|---|---|
| Next.js (App Router & Pages) | @better-i18n/next | Sunucu bileşenleri, middleware yönlendirme |
| TanStack Start | @better-i18n/use-intl | SSR, $locale parametresiyle dosya tabanlı yönlendirme |
| Vite + React | @better-i18n/use-intl | İstemci tarafı dil geçişli SPA |
| Expo (React Native) | @better-i18n/expo | Çevrimdışı önbellekleme, dinamik lokalizasyon, OTA güncellemeler |
Tüm framework entegrasyonları aynı çeviri anahtarlarını ve namespace'leri kullanır; böylece web ve mobil uygulamalarınız tek bir doğru kaynağı paylaşır.
Çoklu Ekip Çeviri Yönetimi
Namespace Organizasyonu
Çevirileri ekip, özellik veya içerik türüne göre düzenleyin:
your-org/your-project
├── auth/ → Kimlik doğrulama ekibi
├── dashboard/ → Ürün ekibi
├── marketing/ → Pazarlama ekibi
├── help/ → Destek ekibi
└── onboarding/ → Büyüme ekibi
Her namespace bağımsız çeviri ilerlemesi ve inceleme iş akışlarına sahip olabilir.
Sözlük Yönetimi
Marka terimleri, ürün adları ve teknik kelime dağarcığını bir kez tanımlayın. Sözlük tüm çevirilerde tutarlılığı sağlar:
- Onaylı terimler — Her dilde ürün terminolojiniz için doğru çeviriyi belirleyin
- Çevirilmeyecek kurallar — Marka adları, teknik terimler ve kısaltmaları kaynak dilde kalacak şekilde işaretleyin
- Tutarlılık uyarıları — Çevirmenler onaylanmamış alternatifler kullandığında bildirim alır
Bağlam Duyarlı AI Çevirisi
AI çevirisi sözlüğünüze ve namespace bağlamınıza saygı duyar. Şu amaçlarla kullanın:
- İlk taslak oluşturma — AI, terminolojinizi takip eden çeviriler üretir, ardından insan gözden geçiriciler iyileştirir
- Toplu çeviri — Tüm bir namespace'i dakikalar içinde yeni bir dile çevirin
- Model seçimi — Kalite tercihlerinize göre GPT-4o, Claude, Gemini veya DeepL arasından seçim yapın
Büyük Organizasyonlar için Ölçekleme Kalıpları
Çoklu Proje Yapısı
Kurumsal organizasyonlar genellikle birden fazla ürüne sahiptir. Her biri bağımsız namespace'ler, sözlükler ve ekip erişimine sahip kendi better-i18n projesine sahip olur:
your-org/web-app
your-org/mobile-app
your-org/marketing-site
your-org/help-center
Content SDK ve REST API, aynı kimlik doğrulamasıyla tüm projelerde çalışır.
CI/CD Entegrasyonu
# .github/workflows/i18n-check.yml
name: Translation Coverage Check
on: [push, pull_request]
jobs:
i18n:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- run: npx @better-i18n/cli scan --ci
- run: npx @better-i18n/cli sync --format json
Çevrilmemiş dizeler içeren PR'ları engelleyin. Her push'ta çeviri kapsamını denetleyin.
Ölçekli İçerik Yönetimi
Content SDK, yerelleştirilmiş içerik için headless CMS kalıplarını destekler:
// Almanca yayınlanmış tüm yardım makalelerini getir
const { data: articles, total } = await client
.from("help-articles")
.eq("status", "published")
.language("de")
.order("updatedAt", { ascending: false })
.limit(50);
// Yazar ilişkisi genişletilmiş tek bir makale getir
const { data: article } = await client
.from("help-articles")
.language("de")
.expand("author", "category")
.single("getting-started");
Sorgu oluşturucu değişmezdir (immutable), tam tiplidir ve total ile hasMore meta verileri içeren sayfalanmış sonuçlar döndürür.
Henüz Sunmadıklarımız
Mevcut yeteneklerimiz konusunda açık sözlü olmanın önemli olduğuna inanıyoruz:
- SSO/SAML — Henüz mevcut değil. Kimlik doğrulama şu anda GitHub OAuth üzerinden yapılmaktadır. SSO yol haritamızda yer almaktadır.
- Yerinde (on-premises) dağıtım — Bulutta barındırılan bir SaaS platformuyuz. Self-hosted seçenekleri şu anda mevcut değildir.
- Özel veri yerleşimi — Veriler Cloudflare'in küresel ağı üzerinden işlenir ve PlanetScale'de depolanır. Bölgeye özel barındırma henüz mevcut değildir.
- Özel SLA — Mali cezalı sözleşmeye dayalı çalışma süresi SLA'ları şu anda sunulmamaktadır.
Bunlardan herhangi biri organizasyonunuz için engel teşkil ediyorsa, gereksinimlerinizi ve yol haritası zaman çizelgemizi görüşmek için bizimle iletişime geçin.
Başlarken
- dash.better-i18n.com adresinde organizasyonunuzu oluşturun
- İlk projenizi kurun ve dilleri yapılandırın
- CLI'ı yükleyin —
npm install -D @better-i18n/cli - GitHub'ı bağlayın — Çeviri dosyalarınız için senkronizasyonu etkinleştirin
- MCP sunucusunu ekleyin — AI araçlarınıza çevirilerinize erişim verin
- SDK'yı entegre edin — Uygulamanızda
@better-i18n/next,@better-i18n/use-intlveya@better-i18n/expokullanın
Ücretsiz başlayın — kredi kartı gerekmez. API, CLI, MCP sunucusu ve tüm framework entegrasyonları her planda kullanılabilir. Ayrıntılı kurulum kılavuzları için belgelerimizi inceleyin.