Sorunuzu sorun ve bu sayfaya ve seçtiğiniz AI sağlayıcısına referans vererek belgenin bir özetini alın
Sürüm Geçmişi
- "Alternatifler yerine neden Intlayer bölümü eklendi"v8.11.231.05.2026
- "Derleyici Sürümü"v7.3.127.11.2025
- "Karşılaştırma tablosu güncellendi"v5.8.019.08.2025
- "Geçmiş başlatıldı"v5.5.1029.06.2025
Bu sayfanın içeriği bir yapay zeka kullanılarak çevrildi.
Orijinal içeriğin İngilizce son sürümünü görüntüleyinIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Neden Intlayer'ı Düşünmelisiniz?
Intlayer Nedir?
Intlayer, JavaScript geliştiricileri için özel olarak tasarlanmış bir uluslararasılaştırma (i18n) kütüphanesidir. İçeriğinizi kodunuzun her yerinde bildirmenize olanak tanır. Çok dilli içerik bildirimlerini yapılandırılmış sözlüklere dönüştürerek kodunuza kolayca entegre edilmesini sağlar. TypeScript kullanan Intlayer, geliştirme sürecinizi daha güçlü ve verimli hale getirir.
Neden Alternatifler Yerine Intlayer?
next-intl veya i18next gibi ana çözümlerle karşılaştırıldığında, Intlayer entegre optimizasyonlarla gelen bir çözümdür:
Sayfalarınıza devasa JSON dosyaları yüklemek yerine, yalnızca kesinlikle gerekli olan içeriği yükleyin. Intlayer, paket ve sayfa boyutlarınızı %50'ye kadar azaltmaya yardımcı olur.
Uygulamanızın içeriğini bileşen düzeyinde sınırlandırmak, büyük ölçekli uygulamalar için bakımı kolaylaştırır. Tüm içerik kod tabanınızı gözden geçirme zihinsel yükü olmadan tek bir özellik klasörünü kopyalayabilir veya silebilirsiniz. Ek olarak Intlayer, içeriğinizin doğruluğunu sağlamak için tamamen tiplenmiştir (fully typed).
İçeriği bileşenle aynı yerde konumlandırmak (Co-location), Büyük Dil Modellerinin (LLM'ler) ihtiyaç duyduğu bağlamı azaltır. Intlayer ayrıca, AI ajanları için geliştirici deneyimini (DX) daha da sorunsuz hale getirmek için eksik çevirileri test eden bir CLI, LSP, MCP ve agent skills gibi bir araç paketiyle birlikte gelir.
Intlayer, diğer i18n çözümlerinin sahip olmadığı Markdown desteği, harici içerik çekme, dosya içeriği yükleme, canlı içerik güncelleme, görsel editör ve daha fazlası gibi bir dizi ek özellik sunar.
AI sağlayıcınızın maliyeti üzerinden seçtiğiniz LLM'yi kullanarak CI/CD hattınızda otomatik çeviri yapın. Intlayer ayrıca içerik çıkarmayı otomatikleştirmek için bir derleyici ve arka planda çeviri yapmanıza yardımcı olacak bir web platformu sunar.
Büyük JSON dosyalarını bileşenlere bağlamak performans ve tepkisellik sorunlarına yol açabilir. Intlayer, derleme zamanında (build time) içerik yüklemenizi optimize eder.
Bir i18n çözümünden daha fazlası olan Intlayer, çevirmenler, metin yazarları ve diğer ekip üyeleriyle işbirliğini sorunsuz hale getirmek için kendi kendine barındırılabilen bir görsel editör ve tam bir CMS sağlar. İçerikler yerel ve/veya uzaktan saklanabilir.
Uygulamanızın farklı bölümleri için farklı framework'ler kullanıyorsanız (örn. React, React-native, Vue, Angular, Svelte vb.), Intlayer tüm ana frontend framework'lerinde ortak bir sözdizimi ve uygulama kullanmanın bir yolunu sunar. Ayrıca içerik bildiriminizi tasarım sisteminiz, uygulamalarınız, backend'iniz vb. arasında paylaşabileceksiniz.
Intlayer Neden Oluşturuldu?
Intlayer, next-intl, react-i18next, react-intl, next-i18next, react-intl ve vue-i18n gibi tüm yaygın i18n kütüphanelerini etkileyen ortak bir sorunu çözmek için oluşturuldu.
Tüm bu çözümler, içeriğinizi listelemek ve yönetmek için merkezi bir yaklaşım benimser. Örneğin:
Kodu panoya kopyala
.├── locales│ ├── en.json│ ├── es.json│ └── fr.json├── i18n.ts└── src └── components └── MyComponent └── index.tsxVeya burada namespace kullanarak:
Kodu panoya kopyala
.├── locales│ ├── en│ │ ├── footer.json│ │ └── navbar.json│ ├── fr│ │ ├── footer.json│ │ └── navbar.json│ └── es│ ├── footer.json│ └── navbar.json├── i18n.ts└── src └── components └── MyComponent └── index.tsxBu tür bir mimari, geliştirme sürecini yavaşlatır ve kod tabanının bakımını birkaç nedenden dolayı daha karmaşık hale getirir:
Oluşturulan her yeni bileşen için şunları yapmalısınız:
localesklasöründe yeni kaynağı/namespace'i oluşturun- Sayfanıza yeni namespace'i import etmeyi unutmayın
- İçeriğinizi çevirin (genellikle AI sağlayıcılarından manuel olarak kopyala/yapıştır yapılarak yapılır)
Bileşenlerinizde yapılan herhangi bir değişiklik için şunları yapmalısınız:
- İlgili kaynağı/namespace'i arayın (bileşenden uzakta)
- İçeriğinizi çevirin
- İçeriğinizin her dil için güncel olduğundan emin olun
- Namespace'inizin kullanılmayan anahtarlar/değerler içermediğini doğrulayın
- JSON dosyalarınızın yapısının tüm diller için aynı olduğundan emin olun
Bu çözümleri kullanan profesyonel projelerde, içeriğinizin çevirisini yönetmeye yardımcı olmak için genellikle yerelleştirme platformları kullanılır. Ancak bu, büyük projeler için hızla maliyetli hale gelebilir.
Bu sorunu çözmek için Intlayer, içeriğinizi bileşen başına sınırlandıran ve CSS (styled-components), tipler, dokümantasyon (storybook) veya birim testlerinde (jest) sıkça yaptığımız gibi içeriğinizi bileşeninize yakın tutan bir yaklaşım benimser.
Kodu panoya kopyala
.└── components └── MyComponent ├── index.content.ts ├── index.test.tsx ├── index.stories.tsx └── index.tsxKodu panoya kopyala
import { t, type Dictionary } from "intlayer";
const componentExampleContent = {
key: "component-example",
content: {
myTranslatedContent: t({
en: "Hello World",
es: "Hola Mundo",
fr: "Bonjour le monde",
}),
},
} satisfies Dictionary;
export default componentExampleContent;Kodu panoya kopyala
import { useIntlayer } from "react-intlayer";
export const ComponentExample = () => {
const { myTranslatedContent } = useIntlayer("component-example");
return <span>{myTranslatedContent}</span>;
};Bu yaklaşım şunları yapmanızı sağlar:
Geliştirme hızını artırın
.content.{{ts|mjs|cjs|json}}dosyaları bir VSCode eklentisi kullanılarak oluşturulabilir- IDE'nizdeki AI otomatik tamamlama araçları (GitHub Copilot gibi) içeriğinizi bildirmenize yardımcı olarak kopyala/yapıştır işlemlerini azaltabilir
Kod tabanınızı temizleyin
- Karmaşıklığı azaltın
- Bakım kolaylığını artırın
Bileşenlerinizi ve bunlarla ilgili içeriği daha kolay kopyalayın (Örnek: giriş/kayıt bileşenleri vb.)
- Diğer bileşenlerin içeriğini etkileme riskini sınırlayarak
- İçeriğinizi harici bağımlılıklar olmadan bir uygulamadan diğerine kopyalayıp yapıştırarak
Kullanılmayan bileşenler için kod tabanınızı kullanılmayan anahtarlarla/değerlerle kirletmekten kaçının
- Bir bileşeni kullanmazsanız, Intlayer onunla ilgili içeriği import etmez
- Bir bileşeni silerseniz, aynı klasörde bulunacağı için ilgili içeriği silmeyi daha kolay hatırlarsınız
AI ajanlarının çok dilli içeriğinizi bildirmesi için muhakeme maliyetini azaltın
- AI ajanı, içeriğinizi nerede uygulayacağını bilmek için tüm kod tabanınızı taramak zorunda kalmayacak
- Çeviriler, IDE'nizdeki AI otomatik tamamlama araçları (GitHub Copilot gibi) tarafından kolayca yapılabilir
Yükleme performansını optimize edin
- Bir bileşen lazy-load yüklenirse, ilgili içeriği de aynı anda yüklenecektir
Intlayer'ın Ek Özellikleri
Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
| Özellik | Açıklama |
|---|---|
| Çoklu Framework Desteği Intlayer; Next.js, React, Vite, Vue.js, Nuxt, Preact, Express ve daha fazlası dahil olmak üzere tüm büyük framework'ler ve kütüphanelerle uyumludur. |
| JavaScript Destekli İçerik Yönetimi İçeriğinizi verimli bir şekilde tanımlamak ve yönetmek için JavaScript'in esnekliğinden yararlanın. - İçerik bildirimi |
| Derleyici Intlayer Derleyicisi, bileşenlerden içeriği otomatik olarak çıkarır ve sözlük dosyalarını oluşturur. - Derleyici |
| Dil Başına İçerik Bildirim Dosyası Otomatik üretimden önce içeriğinizi bir kez bildirerek geliştirmenizi hızlandırın. - Dil Başına İçerik Bildirim Dosyası |
| Tip Güvenlikli Ortam İçerik tanımlarınızın ve kodunuzun hatasız olmasını sağlamak için TypeScript'ten yararlanın ve aynı zamanda IDE otomatik tamamlamasından yararlanın. - TypeScript yapılandırması |
| Basitleştirilmiş Kurulum Minimum yapılandırma ile hızla kurun ve çalıştırın. Uluslararasılaştırma, yönlendirme, AI, derleme ve içerik işleme ayarlarını kolaylıkla yapın. - Next.js entegrasyonunu keşfedin |
| Basitleştirilmiş İçerik Çekme Her içerik parçası için t fonksiyonunuzu çağırmanıza gerek yok. Tek bir hook kullanarak tüm içeriğinizi doğrudan çekin.- React entegrasyonu |
| Tutarlı Server Component Uygulaması Next.js server component'leri için mükemmel şekilde uygundur; hem client hem de server component'leri için aynı uygulamayı kullanın, t fonksiyonunuzu her server component'e aktarmanıza gerek kalmaz. - Server Component'leri |
| Düzenli Kod Tabanı Kod tabanınızı daha düzenli tutun: Aynı klasörde 1 bileşen = 1 sözlük. İlgili bileşenlerine yakın çeviriler, bakım kolaylığını ve netliği artırır. - Intlayer nasıl çalışır |
| Gelişmiş Yönlendirme Next.js, React, Vite, Vue.js vb. için karmaşık uygulama yapılarına sorunsuz bir şekilde uyum sağlayan tam uygulama yönlendirme desteği. - Next.js entegrasyonunu keşfedin |
| Markdown Desteği Gizlilik politikaları, dokümantasyon vb. gibi çok dilli içerikler için yerel dosyaları ve uzak Markdown'ı içe aktarın ve yorumlayın. Kodunuzda Markdown meta verilerini yorumlayın ve erişilebilir hale getirin. - İçerik dosyaları |
| Ücretsiz Görsel Editör ve CMS İçerik yazarları için ücretsiz bir görsel editör ve CMS mevcuttur, bu da bir yerelleştirme platformuna olan ihtiyacı ortadan kaldırır. Git kullanarak içeriğinizi senkronize tutun veya CMS ile tamamen veya kısmen dışsallaştırın. - Intlayer Editörü - Intlayer CMS |
| Tree-shakable İçerik Nihai paket boyutunu azaltan tree-shakable içerik. İçeriği bileşen başına yükler, kullanılmayan içerikleri paketinizden hariç tutar. Uygulama yükleme verimliliğini artırmak için lazy loading desteği sunar. - Uygulama derleme optimizasyonu |
| Statik Oluşturma (Static Rendering) Statik Oluşturmayı engellemez. - Next.js entegrasyonu |
| AI Destekli Çeviri Kendi AI sağlayıcınızı/API anahtarınızı kullanarak Intlayer'ın gelişmiş AI destekli çeviri araçlarıyla web sitenizi tek bir tıklamayla 231 dile dönüştürün. - CI/CD entegrasyonu - Intlayer CLI - Otomatik Doldurma |
| MCP Sunucu Entegrasyonu IDE otomasyonu için bir MCP (Model Context Protocol) sunucusu sağlayarak, doğrudan geliştirme ortamınızda sorunsuz içerik yönetimi ve i18n iş akışları sağlar. - MCP Sunucusu |
| VSCode Eklentisi Intlayer, içeriğinizi ve çevirilerinizi yönetmenize, sözlüklerinizi derlemenize, içeriğinizi çevirmenize ve daha fazlasına yardımcı olacak bir VSCode eklentisi sağlar. - VSCode Eklentisi |
| Birlikte Çalışabilirlik react-i18next, next-i18next, next-intl ve react-intl ile birlikte çalışabilirliğe izin verir. - Intlayer ve react-intl - Intlayer ve next-intl - Intlayer ve next-i18next |
| Eksik Çevirileri Test Etme (CLI/CI) | ✅ CLI: npx intlayer content test (CI dostu denetim) |
Intlayer'ın Diğer Çözümlerle Karşılaştırılması
Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
| Özellik | intlayer | react-i18next | react-intl (FormatJS) | lingui | next-intl | next-i18next | vue-i18n |
|---|---|---|---|---|---|---|---|
| Bileşenlerin Yakınındaki Çeviriler | ✅ Evet, içerik her bileşenle birlikte konumlandırılmıştır | ❌ Hayır | ❌ Hayır | ❌ Hayır | ❌ Hayır | ❌ Hayır | ✅ Evet - Single File Components (SFCs) kullanarak |
| TypeScript Entegrasyonu | ✅ Gelişmiş, otomatik olarak oluşturulan katı tipler | ⚠️ Temel; güvenlik için ekstra yapılandırma | ✅ İyi, ancak daha az katı | ⚠️ Tip tanımları, yapılandırma gerektirir | ✅ İyi | ⚠️ Temel | ✅ İyi (tipler mevcuttur; anahtar güvenliği kurulum gerektirir) |
| Eksik Çeviri Algılama | ✅ TypeScript hatası vurgulama ve derleme zamanı hatası/uyarısı | ⚠️ Çoğunlukla çalışma zamanında yedek dizeler | ⚠️ Yedek dizeler | ⚠️ Ekstra yapılandırma gerektirir | ⚠️ Çalışma zamanı yedeği | ⚠️ Çalışma zamanı yedeği | ⚠️ Çalışma zamanı yedeği/uyarıları (yapılandırılabilir) |
| Zengin İçerik (JSX/Markdown/bileşenler) | ✅ Doğrudan destek | ⚠️ Sınırlı / yalnızca enterpolasyon | ⚠️ ICU sözdizimi, gerçek JSX değil | ⚠️ Sınırlı | ❌ Zengin düğümler için tasarlanmamıştır | ⚠️ Sınırlı | ⚠️ Sınırlı (<i18n-t> aracılığıyla bileşenler, eklentiler aracılığıyla Markdown) |
| AI Destekli Çeviri | ✅ Evet, birden fazla AI sağlayıcısını destekler. Kendi API anahtarlarınızı kullanarak kullanılabilir. Uygulamanızın bağlamını ve içerik kapsamını dikkate alır | ❌ Hayır | ❌ Hayır | ❌ Hayır | ❌ Hayır | ❌ Hayır | ❌ Hayır |
| Görsel Editör | ✅ Evet, yerel Görsel Editör + isteğe bağlı CMS; kod tabanı içeriğini dışsallaştırabilir; gömülebilir | ❌ Hayır / harici yerelleştirme platformları aracılığıyla kullanılabilir | ❌ Hayır / harici yerelleştirme platformları aracılığıyla kullanılabilir | ❌ Hayır / harici yerelleştirme platformları aracılığıyla kullanılabilir | ❌ No / harici yerelleştirme platformları aracılığıyla kullanılabilir | ❌ Hayır / harici yerelleştirme platformları aracılığıyla kullanılabilir | ❌ Hayır / harici yerelleştirme platformları aracılığıyla kullanılabilir |
| Yerelleştirilmiş Yönlendirme | ✅ Evet, yerelleştirilmiş yolları kutudan çıktığı gibi destekler (Next.js ve Vite ile çalışır) | ⚠️ Yerleşik değil, eklentiler (örn. next-i18next) veya özel yönlendirici yapılandırması gerektirir | ❌ Hayır, yalnızca mesaj biçimlendirme, yönlendirme manuel olmalıdır | ⚠️ Yerleşik değil, eklentiler veya manuel yapılandırma gerektirir | ✅ Yerleşik, App Router [locale] segmentini destekler | ✅ Yerleşik | ✅ Yerleşik |
| Dinamik Rota Oluşturma | ✅ Evet | ⚠️ Eklenti/ekosistem veya manuel kurulum | ❌ Sağlanmadı | ⚠️ Eklenti/manuel | ✅ Evet | ✅ Evet | ❌ Sağlanmadı (Nuxt i18n sağlar) |
| Çoğullaştırma | ✅ Numaralandırma tabanlı kalıplar | ✅ Yapılandırılabilir (i18next-icu gibi eklentiler) | ✅ (ICU) | ✅ (ICU/messageformat) | ✅ İyi | ✅ İyi | ✅ Yerleşik çoğul kuralları |
| Biçimlendirme (tarihler, sayılar, para birimleri) | ✅ Optimize edilmiş biçimlendiriciler (arka planda Intl) | ⚠️ Eklentiler veya özel Intl kullanımı yoluyla | ✅ ICU biçimlendiricileri | ✅ ICU/CLI yardımcıları | ✅ İyi (Intl yardımcıları) | ✅ İyi (Intl yardımcıları) | ✅ Yerleşik tarih/sayı biçimlendiricileri (Intl) |
| İçerik Biçimi | ✅ .tsx, .ts, .js, .json, .md, .txt, (.yaml WIP) | ⚠️ .json | ✅ .json, .js | ⚠️ .po, .json | ✅ .json, .js, .ts | ⚠️ .json | ✅ .json, .js |
| ICU desteği | ⚠️ WIP | ⚠️ Eklenti aracılığıyla (i18next-icu) | ✅ Evet | ✅ Evet | ✅ Evet | ⚠️ Eklenti aracılığıyla (i18next-icu) | ⚠️ Özel biçimlendirici/derleyici aracılığıyla |
| SEO Yardımcıları (hreflang, sitemap) | ✅ Yerleşik araçlar: sitemap, robots.txt, meta veriler için yardımcılar | ⚠️ Topluluk eklentileri/manuel | ❌ Çekirdek değil | ❌ Çekirdek değil | ✅ İyi | ✅ İyi | ❌ Çekirdek değil (Nuxt i18n yardımcılar sağlar) |
| Ekosistem / Topluluk | ⚠️ Daha küçük ama hızlı büyüyor ve duyarlı | ✅ En büyük ve olgun | ✅ Büyük | ⚠️ Daha küçük | ✅ Orta boy, Next.js odaklı | ✅ Orta boy, Next.js odaklı | ✅ Vue ekosisteminde büyük |
| Sunucu Tarafı İşleme & Sunucu Bileşenleri | ✅ Evet, SSR / React Server Component'leri için kolaylaştırılmış | ⚠️ Sayfa düzeyinde desteklenir ancak alt sunucu bileşenleri için bileşen ağacında t-fonksiyonlarını aktarmanız gerekir | ⚠️ Ek kurulumla sayfa düzeyinde desteklenir ancak alt sunucu bileşenleri için bileşen ağacında t-fonksiyonlarını aktarmanız gerekir | ✅ Desteklenir, kurulum gereklidir | ⚠️ Sayfa düzeyinde desteklenir ancak alt sunucu bileşenleri için bileşen ağacında t-fonksiyonlarını aktarmanız gerekir | ⚠️ Sayfa düzeyinde desteklenir ancak alt sunucu bileşenleri için bileşen ağacında t-fonksiyonlarını aktarmanız gerekir | ✅ Nuxt/Vue SSR aracılığıyla SSR (RSC yok) |
| Tree-shaking (yalnızca kullanılan içeriği yükleme) | ✅ Evet, Babel/SWC eklentileri aracılığıyla derleme zamanında bileşen başına | ⚠️ Genellikle hepsini yükler (namespace'ler/kod ayırma ile iyileştirilebilir) | ⚠️ Genellikle hepsini yükler | ❌ Varsayılan değil | ⚠️ Kısmi | ⚠️ Kısmi | ⚠️ Kısmi (kod ayırma/manuel kurulum ile) |
| Lazy loading | ✅ Evet, dil başına / sözlük başına | ✅ Evet (örn. talep üzerine backend'ler/namespace'ler) | ✅ Evet (bölünmüş dil paketleri) | ✅ Evet (dinamik katalog içe aktarmaları) | ✅ Evet (rota başına/dil başına), namespace yönetimi gerekir | ✅ Evet (rota başına/dil başına), namespace yönetimi gerekir | ✅ Evet (eşzamansız dil mesajları) |
| Kullanılmayan içeriği temizleme | ✅ Evet, derleme zamanında sözlük başına | ❌ Hayır, yalnızca manuel namespace bölümlemesi yoluyla | ❌ Hayır, beyan edilen tüm mesajlar paketlenir | ✅ Evet, kullanılmayan anahtarlar derlemede algılanır ve bırakılır | ❌ Hayır, namespace yönetimi ile manuel olarak yönetilebilir | ❌ Hayır, namespace yönetimi ile manuel olarak yönetilebilir | ❌ Hayır, yalnızca manuel lazy loading yoluyla mümkündür |
| Büyük Projelerin Yönetimi | ✅ Modülerliği teşvik eder, tasarım sistemine uygundur | ⚠️ İyi dosya disiplini gerektirir | ⚠️ Merkezi kataloglar büyüyebilir | ⚠️ Karmaşıklaşabilir | ✅ Kurulum ile modüler | ✅ Kurulum ile modüler | ✅ Vue Router/Nuxt i18n kurulumu ile modüler |
GitHub Yıldızları
GitHub yıldızları, bir projenin popülerliğinin, topluluk güveninin ve uzun vadeli alakasının güçlü bir göstergesidir. Teknik kalitenin doğrudan bir ölçüsü olmasa da, kaç geliştiricinin projeyi yararlı bulduğunu, ilerlemesini takip ettiğini ve onu benimseme olasılığının yüksek olduğunu yansıtır. Bir projenin değerini tahmin etmek için yıldızlar, alternatifler arasındaki çekiciliği karşılaştırmaya yardımcı olur ve ekosistem büyümesi hakkında bilgiler sağlar.
Birlikte Çalışabilirlik
intlayer ayrıca react-intl, react-i18next, next-intl, next-i18next ve vue-i18n namespace'lerinizi yönetmenize yardımcı olabilir.
intlayer kullanarak içeriğinizi en sevdiğiniz i18n kütüphanesinin biçiminde bildirebilirsiniz ve intlayer, namespace'lerinizi istediğiniz konumda oluşturur (örnek: /messages/{{locale}}/{{namespace}}.json).