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
- "Küresel yapılandırma eklendi"v6.0.020.09.2025
- "`{{fileName}}` değişkeni eklendi"v6.0.017.09.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
İçerik Bildirim Dosyası Çevirilerini Doldur
İçerik bildirim dosyalarını otomatik doldur, CI'nizde geliştirme iş akışınızı hızlandırmanın bir yoludur.
Davranışı Anlamak
fill komutu iki moda sahiptir:
- Complete: Her yerel ayar için tüm eksik içeriği otomatik olarak doldurur ve geçerli dosyayı veya belirtilmişse başka bir dosyayı düzenler. Yani, complete modu, zaten çevrilen varsa mevcut içeriğin çevirisini atlar.
- Review: Her yerel ayar için tüm içeriği otomatik olarak doldurur ve belirli bir dosya için veya belirtilmişse başka bir dosya için oluşturur.
fill komutu tüm yerel ayar içeriği bildirimi dosyalarınızı işleyecektir. Yani, CMS'den uzak içeriğinizi işlemeyecektir. CMS'nin kendi çevirileri yönetimi vardır.
@intlayer/sync-json-plugin gibi eklentileri kullanıyorsanız, Intlayer JSON dosyalarını yerel ayar içeriği bildirimi dosyalarına dönüştürecektir. Yani, fill komutu tarafından işleneceklerdir.
Yeni oluşturulan dosyalar, sözlük metaverisi olarak filled talimatını içerir. Bu talimat, Intlayer tarafından dosyanın otomatik olarak doldurulup doldurulmadığını bilmek için kullanılır ve varsa bu dosyayı tekrar çevirilmekten atlar.
Intlayer ayrıca otomatik doldurma için aşağıdaki talimatı dikkate alacaktır:
.content.{ts|js|json}dosyanızdan →filltalimatı.intlayer.config.tsyapılandırma dosyanızdan →dictionary.filltalimatı- Aksi takdirde varsayılan olarak
trueolarak ayarlanır
Yerel ayara özgü içerik bildirimi dosyaları için, true talimatı ./{{fileName}}.fill.content.json ile değiştirilecektir. Bunun nedeni, yerel ayara özgü bir içerik bildirimi dosyasının ek yerelleştirilmiş içerik alamamasıdır. Yani, mevcut dosyayı üzerine yazmamak için yeni bir dosya oluşturacaktır.
Varsayılan Davranış
Varsayılan olarak, fill global olarak true olarak ayarlanır, bu da Intlayer'ın tüm içerik dosyalarını otomatik olarak dolduracağı ve dosyanın kendisini düzenleyeceği anlamına gelir. Bu davranış çeşitli şekillerde özelleştirilebilir:
Genel Yapılandırma Seçenekleri
fill: true(default) - Tüm locales'i otomatik olarak doldur ve mevcut dosyayı düzenlefill: false- Bu content dosyası için auto-fill'i devre dışı bırakfill: "./relative/path/to/file"- Mevcut dosyayı düzenlemeden belirtilen dosyayı oluştur/güncelle ve mevcut dosyanın konumuna göre çözümlenen göreli yola işaret etfill: "/absolute/path/to/file"- Mevcut dosyayı düzenlemeden belirtilen dosyayı oluştur/güncelle ve.intlayer.config.tsyapılandırma dosyasındaki base directory konumuna (baseDiralanı) göre çözümlenen yola işaret etfill: "C:\absolute\path\to\file"- Mevcut dosyayı düzenlemeden belirtilen dosyayı oluştur/güncelle ve işletim sisteminize göre çözümlenen mutlak yola işaret etfill: { [key in Locales]?: string }- Her locale için belirtilen dosyayı oluştur/güncelle
v7 Davranış Değişiklikleri
v7'de, fill komutunun davranışı güncellenmiştir:
fill: true- Geçerli dosyayı tüm diller için doldurulmuş içerikle yeniden yazarfill: "path/to/file"- Belirtilen dosyayı geçerli dosyayı değiştirmeden doldururfill: false- Otomatik doldurmayı tamamen devre dışı bırakır
Başka bir dosyaya yazmak için bir yol seçeneği kullanırken, doldurma mekanizması içerik deklarasyon dosyaları arasında ana-köle ilişkisi aracılığıyla çalışır. Ana (master) dosya gerçeğin kaynağı olarak hizmet eder ve güncellendiğinde, Intlayer bu değişiklikleri otomatik olarak yol tarafından belirtilen türetilmiş (doldurulmuş) deklarasyon dosyalarına uygular.
Otomatik Doldurma İçerik Beyan Dosyası Çevirileri
Otomatik doldurma içerik beyan dosyaları, geliştirme iş akışınızı hızlandırmanın bir yoludur.
Otomatik doldurma mekanizması, içerik beyan dosyaları arasında bir ana-uydu ilişkisi üzerinden çalışır. Ana (master) dosya güncellendiğinde, Intlayer bu değişiklikleri türetilmiş (otomatik doldurulmuş) beyan dosyalarına otomatik olarak uygular.
Kodu panoya kopyala
import { Locales, type Dictionary } from "intlayer";const exampleContent = { key: "example", locale: Locales.ENGLISH, autoFill: "./example.content.json", content: { contentExample: "Bu bir içerik örneğidir", },} satisfies Dictionary;export default exampleContent;İşte autoFill talimatını kullanan bir her dil için içerik beyan dosyası.
Sonra, aşağıdaki komutu çalıştırdığınızda:
Kodu panoya kopyala
npx intlayer fill --file 'src/components/example/example.content.ts'Intlayer, ana dosyada henüz beyan edilmemiş tüm yerelleri doldurarak, türetilmiş beyan dosyasını src/components/example/example.content.json konumunda otomatik olarak oluşturacaktır.
Kodu panoya kopyala
{ "key": "example", "content": { "contentExample": { "nodeType": "translation", "translation": { "fr": "Ceci est un exemple de contenu", "es": "Este es un ejemplo de contenido", }, }, },}Daha sonra, her iki beyan dosyası tek bir sözlükte birleştirilecek ve standart useIntlayer("example") hook'u (react) / composable'ı (vue) kullanılarak erişilebilir olacaktır.
Genel Konfigürasyon
intlayer.config.ts dosyasında genel otomatik doldurma konfigürasyonunu yapılandırabilirsiniz.
Kodu panoya kopyala
import { type IntlayerConfig, Locales } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, requiredLocales: [Locales.ENGLISH, Locales.FRENCH], }, dictionary: { // Tüm sözlükler için eksik çevirileri otomatik oluştur fill: "./{{fileName}}Filled.content.ts", // // fill: "/messages/{{locale}}/{{key}}/{{fileName}}.content.json", // // fill: true, // "./{{fileName}}.content.json" kullanarak tüm sözlükler için eksik çevirileri otomatik oluştur // // fill: { // en: "./{{fileName}}.en.content.json", // fr: "./{{fileName}}.fr.content.json", // es: "./{{fileName}}.es.content.json", // }, },};export default config;İçerik dosyalarında fill alanını kullanarak her sözlük için ince ayar yapabilirsiniz. Intlayer önce sözlük başına konfigürasyonu dikkate alır, ardından genel konfigürasyona geri döner.
Otomatik Doldurulmuş Dosya Formatı
Önerilen otomatik doldurulmuş beyan dosyalarının formatı, biçimlendirme kısıtlamalarından kaçınmaya yardımcı olan JSON formatıdır. Ancak, Intlayer .ts, .js, .mjs, .cjs ve diğer formatları da destekler.
Kodu panoya kopyala
const exampleContent = { key: "example", autoFill: "./example.filled.content.ts", content: { // İçeriğiniz },};Bu, şu dosyayı oluşturacaktır:
Kodu panoya kopyala
src/components/example/example.filled.content.ts
.js,.tsve benzeri dosyaların oluşturulması şu şekilde çalışır:
- Dosya zaten mevcutsa, Intlayer her alanı bulmak ve eksik çevirileri eklemek için AST (Soyut Sözdizimi Ağacı) kullanarak dosyayı ayrıştırır.
- Dosya mevcut değilse, Intlayer varsayılan içerik beyan dosyası şablonunu kullanarak dosyayı oluşturur.
Mutlak Yollar
autoFill alanı mutlak yolları da destekler.
Kodu panoya kopyala
const exampleContent = { key: "example", autoFill: "/messages/example.content.json", content: { // İçeriğiniz },};Bu, şu dosyayı oluşturacaktır:
Kodu panoya kopyala
/messages/example.content.jsonYerel Bazlı İçerik Beyan Dosyalarının Otomatik Oluşturulması
autoFill alanı ayrıca yerel bazlı içerik beyan dosyalarının oluşturulmasını da destekler.
Kodu panoya kopyala
const exampleContent = { key: "example", autoFill: { fr: "./example.fr.content.json", es: "./example.es.content.json", }, content: { // İçeriğiniz },};Bu, iki ayrı dosya oluşturacaktır:
src/components/example/example.fr.content.jsonsrc/components/example/example.es.content.json
Bu durumda, nesne tüm yerelleri içermiyorsa, Intlayer kalan yerellerin oluşturulmasını atlar.
Belirli Yerel Otodoldurmayı Filtreleme
autoFill alanı için bir nesne kullanmak, filtre uygulamanıza ve yalnızca belirli yerel dosyalarını oluşturmanıza olanak tanır.
Kodu panoya kopyala
const exampleContent = { key: "example", autoFill: { fr: "./example.fr.content.json", }, content: { // İçeriğiniz },};Bu sadece Fransızca çeviri dosyasını oluşturacaktır.
Yol Değişkenleri
autoFill yolu içinde değişkenler kullanarak oluşturulan dosyaların hedef yollarını dinamik olarak çözebilirsiniz.
Kullanılabilir değişkenler:
{{locale}}– Yerel kodu (örneğinfr,es){{fileName}}– Dosya adı (örneğinindex){{key}}– Sözlük anahtarı (örneğinexample)
Kodu panoya kopyala
const exampleContent = { key: "example", autoFill: "/messages/{{locale}}/{{key}}.content.json", content: { // İçeriğiniz },};Bu, aşağıdaki dosyaları oluşturacaktır:
/messages/fr/example.content.json/messages/es/example.content.json
Kodu panoya kopyala
const exampleContent = { key: "example", autoFill: "./{{fileName}}.content.json", content: { // İçeriğiniz },};Bu, aşağıdaki dosyaları oluşturacaktır:
./index.content.json./index.content.json