Yaklaşan Intlayer sürümleri hakkında bildirim alın
    Oluşturma:2025-03-13Son güncelleme:2025-09-20

    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.

    src/components/example/example.content.ts
    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:

    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.

    src/components/example/example.content.json
    {  "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.

    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.

    src/components/example/example.content.ts
    const exampleContent = {  key: "example",  autoFill: "./example.filled.content.ts",  content: {    // İçeriğiniz  },};

    Bu, şu dosyayı oluşturacaktır:

    src/components/example/example.filled.content.ts

    .js, .ts ve 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.

    src/components/example/example.content.ts
    const exampleContent = {  key: "example",  autoFill: "/messages/example.content.json",  content: {    // İçeriğiniz  },};

    Bu, şu dosyayı oluşturacaktır:

    /messages/example.content.json

    Yerel 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.

    src/components/example/example.content.ts
    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.json
    • src/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.

    src/components/example/example.content.ts
    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ğin fr, es)
    • {{fileName}} – Dosya adı (örneğin index)
    • {{key}} – Sözlük anahtarı (örneğin example)
    src/components/example/index.content.ts
    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
    src/components/example/index.content.ts
    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

    Doküman Geçmişi

    Sürüm Tarih Değişiklikler
    6.0.0 2025-09-20 Küresel yapılandırma eklendi
    6.0.0 2025-09-17 {{fileName}} değişkeni eklendi
    5.5.10 2025-06-29 Geçmiş başlatıldı
    Yaklaşan Intlayer sürümleri hakkında bildirim alın