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
- "Init history"v8.13.005.06.2026
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
vue-i18n'den Intlayer'a Geçiş
Neden vue-i18n'den Intlayer'a geçmelisiniz?
Sayfalarınıza devasa JSON dosyalarını yüklemek yerine yalnızca gerekli içeriği yükleyin. Intlayer, paket ve sayfa boyutunuzu %50'ye kadar azaltmanıza yardımcı olur.
Uygulamanızın içeriğini kapsamlandırmak (scoping), büyük ölçekli uygulamaları sürdürmesi kolay hale getirir. Tüm içerik kod tabanınızı gözden geçirme yükü olmadan bir özellik dizinini silebilir veya kopyalayabilirsiniz. Ayrıca, Intlayer içeriğinizin doğruluğunu garanti etmek için sıkı bir şekilde yazılmıştır (strongly typed).
Intlayer aynı zamanda i18n ekosisteminde en aktif şekilde geliştirilen çözümdür — sorunlar hızlıca çözülür, yeni framework adaptörleri düzenli olarak yayınlanır ve çekirdek API, üretimdeki gerçek geri bildirimlere dayanarak sürekli olarak iyileştirilir.
İçeriğin (kod ile) bir arada bulunması (colocation), Büyük Dil Modelleri (LLM'ler) için gerekli bağlamı azaltır. Intlayer ayrıca eksik çevirileri test etmek için bir CLI, LSP, MCP ve yapay zeka ajanları için Geliştirici Deneyimini (DX) çok daha pürüzsüz hale getiren Ajan Yetenekleri (Agent Skills) gibi bir dizi araç sunar.
Seçtiğiniz bir LLM'yi kullanarak, CI/CD süreçlerinizdeki çevirileri kendi AI sağlayıcınızın maliyeti üzerinden otomatikleştirin. Intlayer ayrıca içerik çıkarma işlemini otomatikleştiren bir derleyici ve arka planda çeviriye yardımcı olmak için bir web platformu sunar.
Büyük JSON dosyalarını bileşenlere bağlamak, performans ve reaktivite sorunlarına yol açabilir. Intlayer, derleme (build) zamanında içeriğin yüklenmesini optimize eder.
Basit bir i18n çözümünden çok daha fazlası olan Intlayer, çok dilli içeriğinizi gerçek zamanlı olarak yönetmenize yardımcı olan kendi barındırdığınız (self-hosted) bir görsel editör ve tam donanımlı bir CMS sağlar. Bu, çevirmenler, metin yazarları ve ekibin diğer üyeleriyle sorunsuz bir işbirliği sağlar. İçerik yerel ve/veya uzak bir sunucuda barındırılabilir.
Geçiş Stratejileri
vue-i18n'den Intlayer'a geçiş yapmak için birbirini tamamlayan iki strateji vardır:
Uyumluluk Adaptörü (Mevcut uygulamalar için önerilir) —
@intlayer/vue-i18npaketini kurun (Vue bileşenleri için). Bu paket arka planda tüm çeviri işlerini Intlayer'a devrederekvue-i18nile tam olarak aynı API'yi sunar. Mevcut$t,useI18n()ve<i18n-t>kullanımınız dokunulmadan kalır; değişen tek şey içe aktarma yolu ve başlatma (initialization) ayarlarıdır.Tam Geçiş —
vue-i18nAPI'lerini kademeli olarak Intlayer'ın yerel (native) kancasıyla (useIntlayer) değiştirin ve içeriğinizi bileşenlerinizin yanındaki.content.tsdosyalarında tutun (colocate).
Bu kılavuz, öncelikle Strateji 1'i (doğrudan eklenebilir uyumluluk adaptörü) kapsar ve ardından isteğe bağlı tam geçişten bahseder.
İçindekiler
Hızlı Geçiş
Aşağıdaki adımlar, mevcut vue-i18n uygulamanızı hiçbir bileşen kodunu değiştirmeden Intlayer üzerinde çalıştırmak için gereken minimum işlemlerdir.
Bağımlılıkları Kurun
Temel Intlayer paketlerini ve uyumluluk adaptörünü kurun:
bashKodu kopyalaKodu panoya kopyala
npm install intlayer vue-intlayer @intlayer/vue-i18n @intlayer/sync-json-pluginnpx intlayer initvue-i18n'i güvenle yüklü bırakabilirsiniz; uyumluluk adaptörü onu TypeScript türleri içindevDependency/peerDependencyolarak kullanır.Intlayer'ı Yapılandırın
intlayer initkomutu başlangıç olarak birintlayer.config.tsdosyası oluşturur. Bunu mevcut yerel ayarlarınıza (locales) uyacak şekilde güncelleyin ve mesaj dosyalarınızısyncJSONeklentisine işaret edin:intlayer.config.tsKodu kopyalaKodu panoya kopyala
import { Locales, type IntlayerConfig } from "intlayer"; import { syncJSON } from "@intlayer/sync-json-plugin"; const config: IntlayerConfig = { internationalization: { locales: [ Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH, // Mevcut diğer dillerinizi (locales) buraya ekleyin ], defaultLocale: Locales.ENGLISH, }, plugins: [ syncJSON({ // vue-i18n yer tutucu sentaksıyla eşleşir: {name} format: "icu", source: ({ locale }) => `./src/locales/${locale}.json`, location: "src/locales", }), ], }; export default config;source, bir dili JSON dosya yolunuza eşler.location, Intlayer izleyicisine (watcher) değişiklikler için hangi klasörü izlemesi gerektiğini söyler.format: 'icu'seçeneği,vue-i18nyer tutucularının (placeholder) doğru bir şekilde çözümlenmesini garanti eder.Intlayer Eklentilerini Paketleyiciye (Bundler) Ekleyin
Mevcut bundler yapılandırmanızı uyumluluk eklentisiyle sarmalayın. Bu işlem, temel Intlayer eklentisini dâhil eder, içerik izlemeyi etkinleştirir ve en önemlisi modül takma adları (alias) enjekte eder. Böylece
import … from 'vue-i18n'çağrıları derleme aşamasında şeffaf bir şekilde@intlayer/vue-i18nadresine yönlendirilir. Kaynak kodunda hiçbir değişiklik yapmanıza gerek yoktur.Vite İçin:
vite.config.tsKodu kopyalaKodu panoya kopyala
import { defineConfig } from "vite"; import vue from "@vitejs/plugin-vue"; import { vueI18nVitePlugin } from "@intlayer/vue-i18n/plugin"; export default defineConfig({ plugins: [vue(), vueI18nVitePlugin()], });vueI18nVitePlugin(),vite-intlayeraltındaki normalintlayer()eklentisini sarmalar vevue-i18ntakma adlarını (alias) otomatik olarak ekler. Düzenliintlayer()vite-intlayereklentisini kullanmak sözlükleri derler ancak alias eklemez; bu durumda içe aktarmaları manuel olarak@intlayer/vue-i18nolarak yeniden adlandırmanız gerekir (Adım 4'e bakın).Nuxt İçin:
Eğer
@nuxtjs/i18n(Nuxt entegrasyonu) kullanıyorsanız,nuxt-intlayerpaketini yükleyipnuxt.config.tsdosyanıza ekleyin:bashKodu kopyalaKodu panoya kopyala
npm install nuxt-intlayernuxt.config.tsKodu kopyalaKodu panoya kopyala
export default defineNuxtConfig({ modules: ["nuxt-intlayer"], // @nuxtjs/i18n modülü güvenle kaldırılabilir });createI18n()veya manuel provider çağrıları artık gerekli değildir. Intlayer tüm sözlükleri derleme (build) zamanında derler ve çalışma zamanında (runtime) yükleme adımını ortadan kaldırır. Alias yönlendirmesiyle sarmalanmış Provider başlatma (initialization) işlemini kendi halleder.
Hızlı geçiş bu kadar. Uygulamanız artık vue-i18n içe aktarmalarınız ve API'niz olduğu gibi kalarak Intlayer üzerinde çalışmaktadır.
Türetilmiş (Typed) çeviri anahtarları — otomatik olarak. Intlayer sözlüklerinizi derlediğinde,
useI18n'enamespaceseçeneğini iletirseniz kendi gerçek içeriğiniz için tür güvenli (typed) hale gelir. Anahtarlar IDE'nizde otomatik tamamlanır (autocomplete) ve geçersiz yollar, ekstra bir yapılandırma olmadan derleme (compile) anında TypeScript hatalarına neden olur.tsKodu kopyalaKodu panoya kopyala
// 'about' kayıtlı bir sözlüktürconst { t } = useI18n({ namespace: "about" });t("counter.label"); // ✓ otomatik tamamlandıt("does.not.exist"); // ✗ TypeScript Hatası
Tam Geçiş
Aşağıdaki adımlar isteğe bağlıdır ve kademeli olarak yapılabilir. Bunlar, görsel editör, CMS, türetilmiş (typed) içerik dosyaları, AI çeviri otomasyonu gibi Intlayer özelliklerinin tam kapsamlı kullanımını sağlar.
İçe Aktarmaları Açıkça Yeniden Adlandırın (İsteğe Bağlı)
İsteğe bağlıIntlayer eklentisi takma adlama (aliasing) işlemlerini bundler düzeyinde çoktan halleder. Bağımlılığı kaynak dosyalarınızda açık tutmayı tercih ederseniz, içe aktarma yollarını manuel olarak yeniden adlandırabilirsiniz:
Tüm tablo içeriğini gösterTüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
Öncesi Sonrası import { useI18n } from 'vue-i18n'import { useI18n } from '@intlayer/vue-i18n'import { createI18n } from 'vue-i18n'import { createI18n } from '@intlayer/vue-i18n'Bunlar doğrudan değişimlerdir; fonksiyon çağırma şeklinizde, argümanlarda veya dönüş türlerinde hiçbir değişiklik gerekmez.
AI Çeviri Otomasyonunu Etkinleştirin
İsteğe bağlıIntlayer yapılandırıldığında, eksik çevirileri otomatik olarak doldurmak için CLI'yı kullanabilirsiniz:
bashKodu kopyalaKodu panoya kopyala
# Eksik çevirileri test et (CI'a ekleyin)npx intlayer test# Eksik çevirileri AI kullanarak doldurnpx intlayer fillAI yapılandırmanızı
intlayer.config.tsdosyasına ekleyin:intlayer.config.tsKodu kopyalaKodu panoya kopyala
import { Locales, type IntlayerConfig } from "intlayer"; import { syncJSON } from "@intlayer/sync-json-plugin"; const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, }, plugins: [ syncJSON({ format: "icu", source: ({ locale }) => `./src/locales/${locale}.json`, location: "src/locales", }), ], ai: { apiKey: process.env.OPENAI_API_KEY, // provider: "openai", // varsayılan // model: "gpt-4o-mini", // varsayılan }, }; export default config;Mevcut tüm seçenekleri incelemek için Intlayer CLI Dokümantasyonuna göz atın.
Geçişten Sonra Silinebilecekler
Uyumluluk adaptörü kullanılmaya başlandığında, aşağıdaki standart vue-i18n tekrarlayan kodları (boilerplate) kaldırılabilir:
Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
| Dosya / Desen | Neden artık gerekli değil? |
|---|---|
createI18n() çağrıları | Intlayer Provider her şeyi otomatik olarak başlatır; çalışma zamanında (runtime) bir yükleme adımı yoktur. |
Vue eklenti kaydı (app.use(i18n)) | Intlayer eklentisi enjeksiyonu kendi halleder. |
JSON dil paketleri (locales/*.json) | JSON paketleri yalnızca syncJSON eklentisini kullanmaya devam etmeniz durumunda gereklidir. .content.ts dosyalarına geçtikten sonra JSON klasörünü kaldırabilirsiniz. |
Bir adım öteye geçmeye hazır olduğunuzda, Intlayer kod tabanınızın herhangi bir yerindeki (varsayılan olarak ./src altındaki herhangi bir yerde) tüm .content.ts ve .content.json dosyalarını otomatik olarak keşfeder. Sadece MyComponent.vue'nun yanına bir my-component.content.ts dosyası bırakın, Intlayer onu ek bir yapılandırma olmadan derleme (build) sırasında yakalayacaktır. Ne içe aktarmaya, ne kayda, ne de merkezi bir indeks dosyasına ihtiyaç vardır. Bu sayede çeviriler sayfalar ve bileşenlerinizle en kolay şekilde bir arada tutulur (colocation).
TypeScript Kurulumu
Intlayer, çeviri anahtarlarınız için kapsamlı TypeScript IntelliSense'i (otomatik tamamlama) sağlamak için modül genişletme (module augmentation) özelliğini kullanır. tsconfig.json dosyanızın otomatik oluşturulan türleri içerdiğinden emin olun:
Kodu panoya kopyala
{ // ... Mevcut TypeScript yapılandırmalarınız "include": [ // ... Mevcut TypeScript yapılandırmalarınız ".intlayer/**/*.ts", // Otomatik oluşturulan türleri içeriğe dahil edin ],}Git Yapılandırması
Intlayer tarafından oluşturulan dizini .gitignore dosyanıza ekleyin:
Kodu panoya kopyala
# Intlayer tarafından oluşturulan dosyaları yoksay.intlayerDaha Fazlasını Keşfedin
- Görsel Editör — Çevirileri doğrudan tarayıcınızda görsel olarak yönetin: Intlayer Görsel Editör
- CMS — İçeriği projenizden ayırın ve uzaktan yönetin: Intlayer CMS
- VS Code Eklentisi — Otomatik tamamlama ve anında hata tespiti (hover) edinin: Intlayer VS Code Eklentisi
- CLI Referansı — CLI komutlarının tam listesi: Intlayer CLI
- Vue İle Intlayer — Vue için tam kurulum rehberi: intlayerwithvite+vue.md
- Nuxt İle Intlayer — Nuxt için tam kurulum rehberi: intlayerwithnuxt.md