Creation:2025-09-07Last update:2025-09-07

    Intlayer'da Yerel Ayar Başına İçerik Bildirimi

    Intlayer çok dilli içeriği bildirmek için iki yol destekler:

    • Tüm çevirilerle tek dosya
    • Yerel ayar başına bir dosya (yerel ayar başına format)

    Bu esneklik şunları sağlar:

    • Diğer i18n araçlarından kolay geçiş
    • Otomatik çeviri iş akışları desteği
    • Çevirilerin ayrı, yerel ayara özgü dosyalara net organizasyonu

    Tüm Çevirilerle Tek Dosya

    Bu format şunlar için idealdir:

    • Kodda hızlı yineleme.
    • CMS ile sorunsuz entegrasyon.

    Bu, çoğu kullanım durumu için önerilen yaklaşımdır. Çevirileri merkezileştirir, yinelemeyi ve CMS ile entegrasyonu kolaylaştırır.

    hello-world.content.ts
    import { t, type Dictionary } from "intlayer";
    
    const helloWorldContent = {
      key: "hello-world",
      content: {
        multilingualContent: t({
          en: "Title of my component",
          es: "Título de mi componente",
        }),
      },
    } satisfies Dictionary;
    
    export default helloWorldContent;
    Önerilen: Bu format, Intlayer'ın görsel düzenleyicisini kullanırken veya çevirileri doğrudan kodda yönetirken en iyisidir.

    Yerel Ayar Başına Dosyalar İçin Global Yapılandırma

    Aşağıdakileri intlayer.config.ts dosyanıza ekleyerek yerel ayar başına dosyalar için global yapılandırmayı ayarlayabilirsiniz:

    ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  dictionary: {    locale: Locales.ENGLISH,  },};export default config;

    Bu yapılandırmayı kullanarak, tüm yerel ayar başına dosyalar varsayılan yerel ayar İngilizce olarak ayarlanmış şekilde oluşturulacaktır. Ayrıca extract komutu kullanılarak .content dosyalarının oluşturulmasını ve derleyiciyi (compiler) içerir. (Daha fazla bilgi için Compiler veya Extract bölümlerine bakın.)

    Yerel Ayar Başına Format

    Bu format şunlar için yararlıdır:

    • Çevirileri bağımsız olarak sürümlemek veya geçersiz kılmak istediğinizde.
    • Makine veya insan çeviri iş akışlarını entegre ettiğinizde.

    Yerel ayar alanını belirterek çevirileri ayrı yerel ayar dosyalarına bölebilirsiniz:

    hello-world.es.content.ts
    import { t, Locales, type Dictionary } from "intlayer";
    
    const helloWorldContent = {
      key: "hello-world",
      locale: Locales.SPANISH, // Önemli
      content: { multilingualContent: "Título de mi componente" },
    } satisfies Dictionary;
    
    export default helloWorldContent;
    Önemli: Yerel ayar alanının tanımlandığından emin olun. Bu, Intlayer'a dosyanın hangi dili temsil ettiğini söyler.
    Not: Her iki durumda da, içerik bildirim dosyası Intlayer tarafından tanınmak için *.content.{ts,tsx,js,jsx,mjs,cjs,json} adlandırma desenini takip etmelidir. .[locale] soneki isteğe bağlıdır ve sadece adlandırma kuralı olarak kullanılır.

    Formatları Karıştırma

    Aynı içerik anahtarı için her iki bildirim yaklaşımını da birleştirebilirsiniz. Örneğin:

    • Temel içeriğinizi index.content.ts gibi bir dosyada statik olarak bildirin.
    • Belirli çevirileri index.fr.content.ts veya index.content.json gibi ayrı dosyalarda ekleyin veya geçersiz kılın.

    Bu kurulum özellikle şunlar için yararlıdır:

    • İlk içerik yapısını kodda tanımlamak istediğinizde.
    • Daha sonra CMS veya otomatik araçları kullanarak çevirileri zenginleştirmeyi veya tamamlamayı planladığınızda.
    bash
    .└── Components    └── MyComponent        ├── index.content.ts        ├── index.content.json        └── index.ts

    Örnek

    İşte çok dilli bir içerik bildirim dosyası:

    Components/MyComponent/index.content.ts
    import { t, type Dictionary } from "intlayer";const helloWorldContent = {  key: "hello-world",  locale: Locales.ENGLISH,  content: {    multilingualContent: "Title of my component",    projectName: "My project",  },} satisfies Dictionary;export default helloWorldContent;
    Components/MyComponent/index.content.json
    {  "$schema": "https://intlayer.org/schema.json",  "key": "hello-world",  "content": {    "multilingualContent": {      "nodeType": "translation",      "translation": {        "fr": "Titre de mon composant",        "es": "Título de mi componente"      }    }  }}

    Intlayer çok dilli ve yerel ayar başına dosyaları otomatik olarak birleştirir.

    Components/MyComponent/index.ts
    import { getIntlayer, Locales } from "intlayer";const intlayer = getIntlayer("hello-world"); // Varsayılan yerel ayar ENGLISH, bu yüzden ENGLISH içeriği döndürecekconsole.log(JSON.stringify(intlayer, null, 2));// Sonuç:// {//  "multilingualContent": "Title of my component",//  "projectName": "My project"// }const intlayer = getIntlayer("hello-world", Locales.SPANISH);console.log(JSON.stringify(intlayer, null, 2));// Sonuç:// {//  "multilingualContent": "Título de mi componente",//  "projectName": "My project"// }const intlayer = getIntlayer("hello-world", Locales.FRENCH);console.log(JSON.stringify(intlayer, null, 2));// Sonuç:// {//  "multilingualContent": "Titre de mon composant",//  "projectName": "My project"// }

    Otomatik Çeviri Oluşturma

    Eksik çevirileri tercih ettiğiniz servisler temelinde otomatik olarak doldurmak için intlayer CLI'yi kullanın.