Ana SayfaPlaygroundShowcaseUygulamaDokümanBlog
    • Englishİngilizce
      EN
    • русскийRusça
      RU
    • 日本語Japonca
      JA
    • françaisFransızca
      FR
    • 한국어Korece
      KO
    • 中文Çince
      ZH
    • españolİspanyolca
      ES
    • DeutschAlmanca
      DE
    • العربيةArapça
      AR
    • italianoİtalyanca
      IT
    • British Englishİngiliz İngilizcesi
      EN-GB
    • portuguêsPortekizce
      PT
    • हिन्दीHintçe
      HI
    • TürkçeTürkçe
      TR
    • polskiLehçe
      PL
    • IndonesiaEndonezce
      ID
    • Tiếng ViệtVietnamca
      VI
    • українськаUkraynaca
      UK
    /
    Çerçeveye göre belgeleri filtrele
    Alt+←
    Neden Intlayer?
    Başla
    Kavram
    • Intlayer Nasıl Çalışır
    • Yapılandırma
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Görsel Editör
    • CMS
    • CI/CD Entegrasyonu
    • ÇeviriÇoğulNumaralandırmaKoşulCinsiyetEklemeDosyaİç İçe GeçmeMarkdownHTMLFonksiyon Getirme
    • Yerel Dosya
    • Derleyici
    • Otomatik Doldurma
    • Test
    • Paket Optimizasyonu
    Ortam
    • Next.js 14 ve Uygulama Yönlendirici
      Next.js 15
      Next.js locale’siz URL
      Next.js ve Sayfa Yönlendirici
      Derleyici
    • Tanstack Start Solid
    • Astro ve React
      Astro ve Svelte
      Astro ve Vue
      Astro ve Solid
      Astro ve Preact
      Astro ve Lit
      Astro ve Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt ve Vue
    • Vite ve Solid
    • SvelteKit
    • Vite ve Preact
    • Vite ve Vanilla JS
    • Vite ve Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native ve Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx ve React
    Plugins
    • JSON
    • gettext (.po)
    VS Code Uzantısı
    Aracı
    • MCP Sunucusu
    • Aracı becerileri
    Sürümler
    • v8
    • v7
    • v6
    Karşılaştırma
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Blog
    Bir soru sor
    1. Documentation
    2. Kavram
    3. Yapılandırma
    Oluşturma:2024-08-13Son güncelleme:2026-05-12
    Bu dokümanı favori AI asistanınıza referans verin
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    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

    1. "LM Studio sağlayıcısı için destek eklendi"
      v8.9.412.05.2026
    2. "Derleme yapılandırmasına `minify` ve `prune` seçenekleri eklendi"
      v8.7.007.04.2026
    3. "`currentDomain` seçeneği eklendi"
      v8.7.003.04.2026
    4. "'compiler.output' ve 'dictionary.fill' için dil başına nesne notasyonu eklendi"
      v8.4.020.03.2026
    5. "'baseDir', 'content' yapılandırmasından 'system' yapılandırmasına taşındı"
      v8.3.011.03.2026
    6. "Derleyici seçenekleri güncellendi, 'output' ve 'noMetadata' desteği eklendi"
      v8.2.009.03.2026
    7. "Derleyici seçenekleri güncellendi"
      v8.1.725.02.2026
    8. "'build-only' derleyici seçeneği ve sözlük öneki eklendi"
      v8.1.523.02.2026
    9. "Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face ve Together.ai sağlayıcıları için destek eklendi"
      v8.0.612.02.2026
    10. "Yapay Zeka yapılandırmasına `dataSerialization` eklendi"
      v8.0.506.02.2026
    11. "Alttaki mekanizmayı daha iyi tanımlamak için `live` içe aktarma modu `fetch` olarak yeniden adlandırıldı."
      v8.0.024.01.2026
    12. "`importMode` derleme yapılandırması `dictionary` yapılandırmasına taşındı."
      v8.0.022.01.2026
    13. "Yönlendirme yapılandırmasına `rewrite` seçeneği eklendi"
      v8.0.022.01.2026
    14. "Sistem yapılandırması içerik yapılandırmasından ayrıldı. Dahili yollar `system` özelliğine taşındı. İçerik dosyalarını kod dönüşümünden ayırmak için `codeDir` eklendi."
      v8.0.018.01.2026
    15. "`location` ve `schema` sözlük seçenekleri eklendi"
      v8.0.018.01.2026
    16. "JSON5 ve JSONC dosya formatları için destek eklendi"
      v7.5.110.01.2026
    17. "`buildMode` seçeneği eklendi"
      v7.5.017.12.2025
    18. "`dictionary` yapılandırması eklendi"
      v7.0.025.10.2025
    19. "`middleware`, `routing` yapılandırması ile değiştirildi"
      v7.0.021.10.2025
    20. "`formatCommand` seçeneği eklendi"
      v7.0.012.10.2025
    21. "`excludedPath` seçeneği güncellendi"
      v6.2.012.10.2025
    22. "`outputFormat` seçeneği eklendi"
      v6.0.223.09.2025
    23. "`dictionaryOutput` alanı ve `i18nextResourcesDir` alanı kaldırıldı"
      v6.0.021.09.2025
    24. "`live` içe aktarma modu eklendi"
      v6.0.016.09.2025
    25. "`hotReload` alanı `liveSync` ile değiştirildi ve `liveSyncPort` ile `liveSyncURL` alanları eklendi"
      v6.0.004.09.2025
    26. "`activateDynamicImport`, `importMode` seçeneği ile değiştirildi"
      v5.6.125.07.2025
    27. "Varsayılan `contentDir`, `['src']` yerine `['.']` olarak değiştirildi"
      v5.6.013.07.2025
    28. "`docs` komutları eklendi"
      v5.5.1129.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üleyin
    Bu dokümanı düzenle

    Bu dokümantasyonu geliştirmek için bir fikriniz varsa, lütfen GitHub'da bir çekme isteği göndererek katkıda bulunmaktan çekinmeyin.

    Dokümantasyon için GitHub bağlantısı
    Kopyala

    Belge Markdown'ını panoya kopyala

    Intlayer Yapılandırma Belgeleri

    Genel Bakış

    Intlayer yapılandırma dosyaları, uluslararasılaştırma, ara yazılım (middleware) ve içerik yönetimi gibi eklentinin çeşitli yönlerini özelleştirmenize olanak tanır. Bu belge, yapılandırmadaki her özelliğin ayrıntılı bir açıklamasını sunar.


    İçindekiler


    Yapılandırma Dosyası Desteği

    Intlayer, JSON, JS, MJS ve TS yapılandırma dosyası formatlarını kabul eder:

    • intlayer.config.ts
    • intlayer.config.js
    • intlayer.config.json
    • intlayer.config.json5
    • intlayer.config.jsonc
    • intlayer.config.cjs
    • intlayer.config.mjs
    • .intlayerrc

    Örnek Yapılandırma Dosyası

    intlayer.config.ts
    Kodu kopyala

    Kodu panoya kopyala

    import { Locales, type IntlayerConfig } from "intlayer";import { nextjsRewrite } from "intlayer/routing";import { z } from "zod";/** * Mevcut tüm seçenekleri gösteren Intlayer yapılandırma dosyası örneği. */const config: IntlayerConfig = {  /**   * Uluslararasılaştırma ayarları için yapılandırma.   */  internationalization: {    /**     * Uygulamada desteklenen dillerin listesi.     * Varsayılan: [Locales.ENGLISH]     */    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    /**     * Her sözlükte tanımlanması gereken zorunlu dillerin listesi.     * Boşsa, `strict` modda tüm diller zorunludur.     * Varsayılan: []     */    requiredLocales: [Locales.ENGLISH],    /**     * Uluslararasılaştırılmış içerik için katılık seviyesi.     * - "strict": Bildirilen bir dil eksikse veya bildirilmemişse hata verir.     * - "inclusive": Bildirilen bir dil eksikse uyarı verir.     * - "loose": Mevcut herhangi bir dili kabul eder.     * Varsayılan: "inclusive"     */    strictMode: "inclusive",    /**     * İstenen dil bulunamadığında geri dönüş (fallback) olarak kullanılan varsayılan dil.     * Varsayılan: Locales.ENGLISH     */    defaultLocale: Locales.ENGLISH,  },  /**   * Sözlük işlemlerini ve geri dönüş davranışını kontrol eden ayarlar.   */  dictionary: {    /**     * Sözlüklerin nasıl içe aktarılacağını kontrol eder.     * - "static": Derleme zamanında statik olarak içe aktarılır.     * - "dynamic": Suspense kullanılarak dinamik olarak içe aktarılır.     * - "fetch": Live Sync API aracılığıyla dinamik olarak getirilir.     * Varsayılan: "static"     */    importMode: "static",    /**     * Eksik çevirileri yapay zeka kullanarak otomatik doldurma stratejisi.     * Bir boolean değer veya doldurulan içeriği saklamak için bir yol kalıbı olabilir.     * Varsayılan: true     */    fill: true,    /**     * Sözlük dosyalarının fiziksel konumu.     * - "local": Yerel dosya sisteminde saklanır.     * - "remote": Intlayer CMS'de saklanır.     * - "hybrid": Hem yerel dosya sisteminde hem de Intlayer CMS'de saklanır.     * - "plugin" (veya herhangi bir özel dize): Bir eklenti veya özel bir kaynak tarafından sağlanır.     * Varsayılan: "local"     */    location: "local",    /**     * İçeriklerin otomatik olarak dönüştürülüp dönüştürülmeyeceği (örneğin Markdown'dan HTML'e).     * Varsayılan: false     */    contentAutoTransformation: false,  },  /**   * Yönlendirme ve ara yazılım yapılandırması.   */  routing: {    /**     * Dil yönlendirme stratejisi.     * - "prefix-no-default": Varsayılan dil dışındaki tüm diller için önek (örneğin /dashboard, /fr/dashboard).     * - "prefix-all": Tüm diller için önek (örneğin /en/dashboard, /fr/dashboard).     * - "no-prefix": URL'de dil yok.     * - "search-params": ?locale=... kullanır.     * Varsayılan: "prefix-no-default"     */    mode: "prefix-no-default",    /**     * Kullanıcının seçtiği dilin nerede saklanacağı.     * Seçenekler: 'cookie', 'localStorage', 'sessionStorage', 'header' veya bunların bir dizisi.     * Varsayılan: ['cookie', 'header']     */    storage: ["cookie", "header"],    /**     * Uygulama URL'leri için temel yol.     * Varsayılan: ""     */    basePath: "",    /**     * Dile özel yollar için özel URL yeniden yazma kuralları.     */    rewrite: nextjsRewrite({      "/[locale]/about": {        en: "/[locale]/about",        fr: "/[locale]/a-propos",      },    }),    /**     * Alan adı tabanlı yönlendirme için dilleri alan adı ana bilgisayar adlarıyla eşleştirir.     * Bu dillerin URL'leri mutlak olacaktır (örneğin, https://intlayer.cn/).     * Alan adı dili ima eder, bu nedenle yola herhangi bir dil öneki eklenmez.     * Varsayılan: undefined     */    domains: {      en: "intlayer.org",      zh: "intlayer.cn",    },  },  /**   * İçerik dosyalarını bulma ve işleme ayarları.   */  content: {    /**     * Sözlükler için taranacak dosya uzantıları.     * Varsayılan: ['.content.ts', '.content.js', '.content.json', vb.]     */    fileExtensions: [".content.ts", ".content.js", ".content.json"],    /**     * .content dosyalarının bulunduğu dizinler.     * Varsayılan: ["."]     */    contentDir: ["src"],    /**     * Kaynak kodun bulunduğu dizin.     * Derleme optimizasyonu ve kod dönüşümü için kullanılır.     * Varsayılan: ["."]     */    codeDir: ["src"],    /**     * Taramadan hariç tutulacak kalıplar.     * Varsayılan: ['node_modules', '.intlayer', vb.]     */    excludedPath: ["node_modules"],    /**     * Geliştirme sırasında değişikliklerin izlenip izlenmeyeceği ve sözlüklerin yeniden oluşturulup oluşturulmayacağı.     * Varsayılan: Geliştirmede true     */    watch: true,    /**     * Yeni oluşturulan / güncellenen .content dosyalarını biçimlendirmek için komut.     */    formatCommand: 'npx prettier --write "{{file}}"',  },  /**   * Görsel Editör yapılandırması.   */  editor: {    /**     * Görsel editörün etkin olup olmadığı.     * Varsayılan: false     */    enabled: true,    /**     * Kaynak doğrulaması için uygulamanızın URL'si.     * Varsayılan: ""     */    applicationURL: "http://localhost:3000",    /**     * Yerel editör sunucusu için port.     * Varsayılan: 8000     */    port: 8000,    /**     * Editör için genel URL.     * Varsayılan: "http://localhost:8000"     */    editorURL: "http://localhost:8000",    /**     * Intlayer CMS URL'si.     * Varsayılan: "https://app.intlayer.org"     */    cmsURL: "https://app.intlayer.org",    /**     * Arka uç API URL'si.     * Varsayılan: "https://back.intlayer.org"     */    backendURL: "https://back.intlayer.org",    /**     * Gerçek zamanlı içerik senkronizasyonunun etkinleştirilip etkinleştirilmeyeceği.     * Varsayılan: false     */    liveSync: true,  },  /**   * Yapay zeka destekli çeviri ve oluşturma ayarları.   */  ai: {    /**     * Kullanılacak yapay zeka sağlayıcısı.     * Seçenekler: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio'     * Varsayılan: 'openai'     */    provider: "openai",    /**     * Seçilen sağlayıcıdan kullanılacak model.     */    model: "gpt-4o",    /**     * Sağlayıcının API anahtarı.     */    apiKey: process.env.OPENAI_API_KEY,    /**     * Çeviri oluştururken yapay zekaya rehberlik edecek küresel bağlam.     */    applicationContext: "Bu bir seyahat rezervasyon uygulamasıdır.",    /**     * Yapay zeka API'si için temel URL.     */    baseURL: "http://localhost:3000",    /**     * Veri Serileştirme     *     * Seçenekler:     * - "json": Varsayılan, güvenilir; daha fazla token tüketir.     * - "toon": Daha az token, JSON kadar tutarlı değil.     *     * Varsayılan: "json"     */    dataSerialization: "json",  },  /**   * Derleme ve optimizasyon ayarları.   */  build: {    /**     * Derleme yürütme modu.     * - "auto": Uygulama derlemesi sırasında otomatik derleme.     * - "manual": Açık bir derleme komutu gerektirir.     * Varsayılan: "auto"     */    mode: "auto",    /**     * Kullanılmayan sözlükleri kaldırarak final paketinin optimize edilip edilmeyeceği.     * Varsayılan: Üretimde true     */    optimize: true,    /**     * Demet boyutunu azaltmak için sözlükleri küçültün (Minify).     * Varsayılan: false     *     * Not:     * - `optimize` devre dışı bırakılırsa bu seçenek yoksayılır.     * - `editor.enabled` true ise bu seçenek yoksayılır.     */    minify: true,    /**     * Sözlüklerdeki kullanılmayan anahtarları temizleyin (Purge).     * Varsayılan: false     *     * Not:     * - `optimize` devre dışı bırakılırsa bu seçenek yoksayılır.     */    purge: true,    /**     * Oluşturulan sözlük dosyaları için çıktı formatı.     * Varsayılan: ['cjs', 'esm']     */    outputFormat: ["cjs", "esm"],    /**     * Derlemenin TypeScript türlerini kontrol edip etmeyeceği.     * Varsayılan: false     */    checkTypes: false,  },  /**   * Logger yapılandırması.   */  log: {    /**     * Günlük kaydı seviyesi.     * - "default": Standart günlük kaydı.     * - "verbose": Ayrıntılı hata ayıklama günlüğü.     * - "disabled": Günlük kaydı yok.     * Varsayılan: "default"     */    mode: "default",    /**     * Tüm günlük mesajları için önek.     * Varsayılan: "[intlayer]"     */    prefix: "[intlayer]",  },  /**   * Sistem Yapılandırması (Gelişmiş Kullanım Durumları)   */  system: {    /**     * Yerelleştirilmiş sözlükleri saklamak için dizin.     */    dictionariesDir: ".intlayer/dictionary",    /**     * Modül genişletme (module augmentation) dizini.     */    moduleAugmentationDir: ".intlayer/types",    /**     * Birleştirilmemiş sözlükleri saklamak için dizin.     */    unmergedDictionariesDir: ".intlayer/unmerged_dictionary",    /**     * Sözlük türlerini saklamak için dizin.     */    typesDir: ".intlayer/types",    /**     * Ana uygulama dosyalarının saklandığı dizin.     */    mainDir: ".intlayer/main",    /**     * Yapılandırma dosyalarının saklandığı dizin.     */    configDir: ".intlayer/config",    /**     * Önbellek dosyalarının saklandığı dizin.     */    cacheDir: ".intlayer/cache",  },  /**   * Derleyici Yapılandırması (Gelişmiş Kullanım Durumları)   */  compiler: {    /**     * Derleyicinin etkin olup olmayacağı.     *     * - false: Derleyiciyi devre dışı bırak.     * - true: Derleyiciyi etkinleştir.     * - "build-only": Başlangıç sürelerini hızlandırmak için geliştirme sırasında derleyiciyi atla.     *     * Varsayılan: false     */    enabled: true,    /**     * Çıktı dosyaları için yolu belirler. `outputDir` yerine geçer.     *     * - `./` yolları bileşen dizinine göre çözümlenir.     * - `/` yolları proje köküne (`baseDir`) göre çözümlenir.     *     * - Yol içinde `{{locale}}` değişkeninin bulunması, dile göre ayrı sözlükler oluşturulmasını tetikler.     *     * Örnek:     * ```ts     * {     *   // Bileşenin yanında çok dilli .content.ts dosyaları oluştur     *   output: ({ fileName, extension }) => `./${fileName}${extension}`,     *     *   // output: './{{fileName}}{{extension}}', // Şablon dizesi kullanarak eşdeğer     * }     * ```     *     * ```ts     * {     *   // Proje kökünde dile göre merkezileştirilmiş JSON'lar oluştur     *   output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,     *     *   // output: '/locales/{{locale}}/{{key}}.content.json', // Şablon dizesi kullanarak eşdeğer     * }     * ```     *     * Değişken Listesi:     *   - `fileName`: Dosya adı.     *   - `key`: İçerik anahtarı.     *   - `locale`: İçerik dili (locale).     *   - `extension`: Dosya uzantısı.     *   - `componentFileName`: Bileşen dosya adı.     *   - `componentExtension`: Bileşen dosya uzantısı.     *   - `format`: Sözlük formatı.     *   - `componentFormat`: Bileşen sözlük formatı.     *   - `componentDirPath`: Bileşen dizin yolu.     */    output: ({ locale, key }) => `compiler/${locale}/${key}.json`,    /**     * Dönüştürüldükten sonra bileşenlerin kaydedilip kaydedilmeyeceği.     * Bu sayede derleyici uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.     */    saveComponents: false,    /**     * Oluşturulan dosyaya yalnızca içeriği ekle. Dile göre i18next veya ICU MessageFormat JSON çıktıları için yararlıdır.     */    noMetadata: false,    /**     * Sözlük anahtar öneki     */    dictionaryKeyPrefix: "", // Çıkarılan sözlük anahtarları için isteğe bağlı önek ekleyin  },  /**   * Sözlüklerin içeriğini doğrulamak için özel şemalar.   */  schemas: {    "my-schema": z.object({      title: z.string(),    }),  },  /**   * Eklenti yapılandırması.   */  plugins: [],};export default config;

    Yapılandırma Referansı

    Aşağıdaki bölümler Intlayer için mevcut olan çeşitli yapılandırma ayarlarını açıklamaktadır.


    Uluslararasılaştırma Yapılandırması

    Mevcut diller ve uygulama için varsayılan dil de dahil olmak üzere uluslararasılaştırma ile ilgili ayarları tanımlar.

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür Varsayılan Örnek Not
    locales Uygulamada desteklenen dillerin listesi. string[] [Locales.ENGLISH] ['en', 'fr', 'es']
    requiredLocales Uygulamada gerekli olan dillerin listesi. string[] [] [] • Boşsa, strict modda tüm diller gereklidir.
    • Gerekli dillerin locales alanında da tanımlandığından emin olun.
    strictMode TypeScript kullanarak uluslararasılaştırılmış içeriğin sağlam uygulamalarını sağlar. string 'inclusive' • "strict" ise: t fonksiyonu bildirilen her dilin tanımlanmış olmasını gerektirir - eksikse veya bildirilmemişse hata verir.
    • "inclusive" ise: Eksik diller için uyarı verir ancak bildirilmeyenlerin kullanımına izin verir.
    • "loose" ise: Mevcut herhangi bir dili kabul eder.
    defaultLocale İstenen dil bulunamadığında geri dönüş olarak kullanılan varsayılan dil. string Locales.ENGLISH 'en' URL'de, tanımlama bilgisinde (cookie) veya üstbilgide (header) belirtilmediğinde dili belirlemek için kullanılır.

    Editör Yapılandırması

    Sunucu portu ve etkinleştirme durumu dahil olmak üzere yerleşik görsel editör ayarlarını tanımlar.

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür Varsayılan Örnek Not
    applicationURL Uygulamanın URL'si. string undefined 'http://localhost:3000'
    'https://example.com'
    process.env.INTLAYER_EDITOR_URL
    • Güvenlik nedeniyle editörün kaynağını kısıtlamak için kullanılır.
    • '*' olarak ayarlanırsa, editöre herhangi bir kaynaktan erişilebilir.
    port Görsel editör sunucusu tarafından kullanılan port. number 8000
    editorURL Editör sunucusunun URL'si. string 'http://localhost:8000' 'http://localhost:3000'
    'https://example.com'
    process.env.INTLAYER_EDITOR_URL
    • Uygulama ile etkileşime girebilecek kaynakları kısıtlamak için kullanılır.
    • '*' olarak ayarlanırsa, herhangi bir kaynaktan erişilebilir.
    • Port değiştirilirse veya editör farklı bir alanda barındırılıyorsa ayarlanmalıdır.
    cmsURL Intlayer CMS URL'si. string 'https://app.intlayer.org' 'https://app.intlayer.org'
    backendURL Arka uç sunucusunun URL'si. string https://back.intlayer.org http://localhost:4000
    enabled Uygulamanın görsel editörle etkileşime girip girmeyeceği. boolean false process.env.NODE_ENV !== 'production' • false ise editör uygulama ile etkileşime giremez.
    • Belirli ortamlar için devre dışı bırakmak güvenliği artırır.
    clientId intlayer paketlerinin oAuth2 üzerinden arka uç ile kimlik doğrulaması yapmasına olanak tanır. Erişim belirteci almak için intlayer.org/project adresine gidin. string |
    undefined
    undefined Gizli tutulmalıdır; ortam değişkenlerinde saklayın.
    clientSecret intlayer paketlerinin oAuth2 üzerinden arka uç ile kimlik doğrulaması yapmasına olanak tanır. Erişim belirteci almak için intlayer.org/project adresine gidin. string |
    undefined
    undefined Gizli tutulmalıdır; ortam değişkenlerinde saklayın.
    dictionaryPriorityStrategy Hem yerel hem de uzak sözlükler mevcut olduğunda sözlüklere öncelik verme stratejisi. string 'local_first' 'distant_first' • 'distant_first': uzak sözlüklere yerellere göre öncelik verir.
    • 'local_first': yerellere uzaklara göre öncelik verir.
    liveSync CMS
    Görsel Editör
    Arka Uç'ta bir değişiklik algılandığında uygulama sunucusunun içeriği anında yeniden yükleyip yüklemeyeceği.
    boolean true true • Bir sözlük eklendiğinde/güncellendiğinde uygulama sayfa içeriğini yeniler.
    • Live Sync, içeriği başka bir sunucuya taşır ve bu performansı biraz etkileyebilir.
    • Her ikisinin de aynı makinede barındırılması önerilir.
    liveSyncPort Live Sync sunucusunun portu. number 4000 4000
    liveSyncURL Live Sync sunucusunun URL'si. string 'http://localhost:{liveSyncPort}' 'https://example.com' Varsayılan olarak localhost'u gösterir; uzak bir Live Sync sunucusu için değiştirilebilir.

    Yönlendirme Yapılandırması

    URL yapısı, dil saklama ve ara yazılım yönetimi dahil olmak üzere yönlendirme davranışını kontrol eden ayarlar.

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür Varsayılan Örnek Not
    mode Dil yönetimi için URL yönlendirme modu. 'prefix-no-default' |
    'prefix-all' |
    'no-prefix' |
    'search-params'
    'prefix-no-default' 'prefix-no-default': /dashboard (en) veya /fr/dashboard (fr). 'prefix-all': /en/dashboard. 'no-prefix': dil başka yollarla yönetilir. 'search-params': /dashboard?locale=fr Tanımlama bilgisi (cookie) veya dil saklama yönetimini etkilemez.
    storage İstemcide dilin saklanması için yapılandırma. false |
    'cookie' |
    'localStorage' |
    'sessionStorage' |
    'header' |
    CookiesAttributes |
    StorageAttributes |
    Array
    ['cookie', 'header'] 'localStorage'
    [{ type: 'cookie', name: 'custom-locale', secure: true }]
    Aşağıdaki Saklama Seçenekleri tablosuna bakın.
    basePath Uygulama URL'leri için temel yol. string '' '/my-app' Uygulama https://example.com/my-app adresindeyse, basePath '/my-app' olur ve URL'ler https://example.com/my-app/en şekline dönüşür.
    rewrite Belirli yollar için varsayılan yönlendirme modunu geçersiz kılan özel URL yeniden yazma kuralları. Dinamik [param] parametrelerini destekler. Record<string, StrictModeLocaleMap<string>> undefined Aşağıdaki örneğe bakın • Yeniden yazma kuralları mode üzerinde önceliğe sahiptir.
    • Next.js ve Vite ile çalışır.
    • getLocalizedUrl() eşleşen kuralları otomatik olarak uygular.
    • Şuna bakın: Özel URL Yeniden Yazmaları.
    domains Alan adı tabanlı yönlendirme için dilleri alan adı ana bilgisayar adlarıyla eşleştirir. Ayarlandığında, o dilin URL'leri bu alan adını temel (mutlak URL) olarak kullanır ve yola dil öneki eklenmez. Partial<Record<Locale, string>> undefined { zh: 'intlayer.zh', fr: 'intlayer.org' } • Ana bilgisayar adına dahil edilmediğinde varsayılan protokol https://'dir.
    • Alan adının kendisi dili tanımladığı için /zh/ öneki eklenmez.
    • getLocalizedUrl('/', 'zh'), https://intlayer.zh/ döndürür.

    rewrite Örneği:

    typescript
    Kodu kopyala

    Kodu panoya kopyala

    routing: {  mode: "prefix-no-default", // Geri dönüş stratejisi  rewrite: nextjsRewrite({    "/about": {      en: "/about",      fr: "/a-propos",    },    "/product/[slug]": {      en: "/product/[slug]",      fr: "/produit/[slug]",    },    "/blog/[category]/[id]": {      en: "/blog/[category]/[id]",      fr: "/journal/[category]/[id]",    },  }),}

    Saklama Seçenekleri

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Değer Not Açıklama
    'cookie' • GDPR uyumluluğu için uygun kullanıcı onayını aldığınızdan emin olun.
    • CookiesAttributes ({ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }) aracılığıyla özelleştirilebilir.
    Dili tanımlama bilgilerinde (cookies) saklar - hem istemci hem de sunucu tarafından erişilebilir.
    'localStorage' • Açıkça silinmedikçe süresi dolmaz.
    • Intlayer proxy'si buna erişemez.
    • StorageAttributes ({ type: 'localStorage', name: 'custom-locale' }) aracılığıyla özelleştirilebilir.
    Dili tarayıcıda süresiz olarak saklar - sadece istemci tarafı.
    'sessionStorage' • Sekme/pencere kapatıldığında silinir.
    • Intlayer proxy'si buna erişemez.
    • StorageAttributes ({ type: 'sessionStorage', name: 'custom-locale' }) aracılığıyla özelleştirilebilir.
    Dili sayfa oturumu süresince saklar - sadece istemci tarafı.
    'header' • API çağrıları için yararlıdır.
    • İstemci tarafı buna erişemez.
    • StorageAttributes ({ type: 'header', name: 'custom-locale' }) aracılığıyla özelleştirilebilir.
    Dili HTTP üstbilgileri (headers) üzerinden aktarır - sadece sunucu tarafı.

    Tanımlama Bilgisi (Cookie) Nitelikleri

    Tanımlama bilgisi saklama alanını kullanırken, ek nitelikler yapılandırabilirsiniz:

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür
    name Tanımlama bilgisi adı. Varsayılan: 'INTLAYER_LOCALE' string
    domain Tanımlama bilgisi alanı. Varsayılan: undefined string
    path Tanımlama bilgisi yolu. Varsayılan: undefined string
    secure HTTPS gerektirir. Varsayılan: undefined boolean
    httpOnly HTTP-only bayrağı. Varsayılan: undefined boolean
    sameSite SameSite politikası. 'strict' |
    'lax' |
    'none'
    expires Sona erme tarihi veya gün sayısı. Varsayılan: undefined Date |
    number

    Saklama Nitelikleri

    localStorage veya sessionStorage kullanırken:

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür
    type Saklama türü. 'localStorage' |
    'sessionStorage'
    name Saklama anahtarı adı. Varsayılan: 'INTLAYER_LOCALE' string

    Yapılandırma Örnekleri

    İşte yeni v7 yönlendirme yapısı için bazı yaygın yapılandırma örnekleri:

    Temel Yapılandırma (Varsayılan):

    typescript
    Kodu kopyala

    Kodu panoya kopyala

    import { Locales, type IntlayerConfig } from "intlayer";// intlayer.config.tsconst config: IntlayerConfig = {  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "prefix-no-default",    storage: "localStorage",    basePath: "",  },};export default config;

    GDPR Uyumlu Yapılandırma:

    typescript
    Kodu kopyala

    Kodu panoya kopyala

    import { Locales, type IntlayerConfig } from "intlayer";// intlayer.config.tsconst config: IntlayerConfig = {  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "prefix-no-default",    storage: [      {        type: "localStorage",        name: "user-locale",      },      {        type: "cookie",        name: "user-locale",        secure: true,        sameSite: "strict",        httpOnly: false,      },    ],    basePath: "",  },};export default config;

    Arama Parametresi Modu:

    typescript
    Kodu kopyala

    Kodu panoya kopyala

    import { Locales, type IntlayerConfig } from "intlayer";// intlayer.config.tsconst config: IntlayerConfig = {  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "search-params",    storage: "localStorage",    basePath: "",  },};export default config;

    Özel Saklama ile Öneksiz Mod:

    typescript
    Kodu kopyala

    Kodu panoya kopyala

    import { Locales, type IntlayerConfig } from "intlayer";// intlayer.config.tsconst config: IntlayerConfig = {  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "no-prefix",    storage: {      type: "sessionStorage",      name: "app-locale",    },    basePath: "/my-app",  },};export default config;

    Dinamik Rotalar ile Özel URL Yeniden Yazma:

    typescript
    Kodu kopyala

    Kodu panoya kopyala

    // intlayer.config.tsimport { nextjsRewrite } from "intlayer/routing";const config: IntlayerConfig = {  internationalization: {    locales: ["en", "fr"],    defaultLocale: "en",  },  routing: {    mode: "prefix-no-default", // Yeniden yazılmayan yollar için geri dönüş    storage: "cookie",    rewrite: nextjsRewrite({      "/about": {        en: "/about",        fr: "/a-propos",      },      "/product/[slug]": {        en: "/product/[slug]",        fr: "/produit/[slug]",      },      "/blog/[category]/[id]": {        en: "/blog/[category]/[id]",        fr: "/journal/[category]/[id]",      },    }),  },};export default config;

    İçerik Yapılandırması

    Dizin adları, dosya uzantıları ve türetilmiş yapılandırmalar dahil olmak üzere uygulama içindeki içeriğin nasıl yönetileceği ile ilgili ayarlar.

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür Varsayılan Örnek Not
    watch Intlayer'ın sözlükleri yeniden oluşturmak için içerik bildirim dosyalarındaki değişiklikleri izleyip izlemeyeceği. boolean true
    fileExtensions Sözlükleri derlerken taranacak dosya uzantıları. string[] ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.json5', '.content.jsonc', '.content.tsx', '.content.jsx'] ['.data.ts', '.data.js', '.data.json'] Özelleştirme çatışmaları önlemeye yardımcı olabilir.
    contentDir İçerik tanımlama dosyalarının (.content.*) saklandığı dizin yolu. string[] ['.'] ['src', '../../ui-library', require.resolve("@my-package/content"), '@my-package/content'] İçerik dosyalarını izlemek ve sözlükleri yeniden oluşturmak için kullanılır.
    codeDir Kodun saklandığı temel dizine göre dizin yolu. string[] ['.'] ['src', '../../ui-library'] • Dönüşüm (budama, optimizasyon) için kod dosyalarını izlemek için kullanılır.
    • contentDirden ayırmak performansı artırabilir.
    excludedPath İçerik taramasından hariç tutulan dizinler. string[] ['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**'] Henüz kullanılmıyor; gelecekteki uygulama için planlandı.
    formatCommand Intlayer onları yerel olarak yazarken içerik dosyalarını biçimlendirme komutu. string undefined 'npx prettier --write "{{file}}" --log-level silent' (Prettier), 'npx biome format "{{file}}" --write --log-level none' (Biome), 'npx eslint --fix "{{file}}" --quiet' (ESLint) • {{file}} dosya yolu ile değiştirilecektir.
    • Tanımlanmazsa, Intlayer bunu otomatik olarak algılar (prettier, biome, eslint'i test eder).

    Sözlük Yapılandırması

    Otomatik doldurma davranışı ve içerik oluşturma dahil olmak üzere sözlük işlemlerini kontrol eden parametreler.

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür Varsayılan Örnek Not
    fill Otomatik doldurma (yapay zeka çevirisi) çıktı dosyalarının nasıl oluşturulacağını kontrol eder. boolean |
    FilePathPattern |
    Partial<Record<Locale, boolean | FilePathPattern>>
    true { en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false } • true: varsayılan yol (kaynakla aynı dosya).
    • false: devredışı.
    • Dize/fonksiyon kalıbı dil başına dosyalar oluşturur.
    • Dil başına nesne: her dil kendi kalıbına karşılık gelir; false o dili yok sayar.
    • {{locale}} eklemek dil başına oluşturmayı tetikler.
    • Sözlük düzeyindeki fill her zaman bu genel ayardan önceliklidir.
    description Editörün ve CMS'in sözlüğün amacını anlamasına yardımcı olur. Yapay zeka destekli çeviri oluşturma için bağlam olarak da kullanılır. string undefined 'Kullanıcı profili bölümü'
    locale Sözlüğü dil başına bir formata dönüştürür. Bildirilen her alan bir çeviri düğümü olur. Yoksa, sözlük çok dilli olarak kabul edilir. LocalesValues undefined 'en' Birden fazla dil için çeviriler içermek yerine sözlük belirli bir dil için olduğunda bunu kullanın.
    contentAutoTransformation İçerik dizelerini otomatik olarak tiplendirilmiş düğümlere (markdown, HTML veya ekleme) dönüştürür. boolean |
    { markdown?: boolean; html?: boolean; insertion?: boolean }
    false true • Markdown : ### Title → md('### Title').
    • HTML : <div>Title</div> → html('<div>Title</div>').
    • Ekleme : Merhaba {{name}} → insert('Merhaba {{name}}').
    location Sözlük dosyalarının nerede saklandığını ve CMS ile nasıl senkronize edildiğini belirtir. 'local' |
    'remote' |
    'hybrid' |
    'plugin' |
    string
    'local' 'hybrid' • 'local': sadece yerel olarak yönetilir.
    • 'remote': sadece uzaktan yönetilir (CMS).
    • 'hybrid': hem yerel hem de uzaktan yönetilir.
    • 'plugin' veya özel dize: bir eklenti veya özel bir kaynak tarafından yönetilir.
    importMode Sözlüklerin nasıl içe aktarılacağını kontrol eder. 'static' |
    'dynamic' |
    'fetch'
    'static' 'dynamic' • 'static': statik olarak içe aktarılır.
    • 'dynamic': Suspense kullanılarak dinamik olarak içe aktarılır.
    • 'fetch': Live Sync API aracılığıyla getirilir; başarısız olursa 'dynamic'e geri döner.
    • @intlayer/babel ve @intlayer/swc eklentilerini gerektirir.
    • Anahtarlar statik olarak bildirilmelidir.
    • optimize kapalıysa yok sayılır.
    • getIntlayer, getDictionary vb.'ni etkilemez.
    priority Sözlüğün önceliği. Sözlükler arasındaki çatışmaları çözerken yüksek değerler düşük değerleri yener. number undefined 1
    live Kullanımdan kaldırıldı - bunun yerine importMode: 'fetch' kullanın. Sözlük içeriğinin Live Sync API aracılığıyla dinamik olarak getirilip getirilmeyeceğini belirtiyordu. boolean undefined v8.0.0'da importMode: 'fetch' olarak yeniden adlandırıldı.
    schema JSON şema doğrulaması için Intlayer tarafından otomatik olarak oluşturulur. 'https://intlayer.org/schema.json' otomatik oluşturulur Manuel olarak düzenlemeyin.
    title Editörde ve CMS'de sözlüğü tanımlamaya yardımcı olur. string undefined 'Kullanıcı Profili'
    tags Sözlükleri kategorize eder ve editör ile yapay zeka için bağlam veya talimatlar sağlar. string[] undefined ['kullanıcı', 'profil']
    version Uzak sözlüğün sürümü; şu anda kullanılan sürümün izlenmesine yardımcı olur. string undefined '1.0.0' • CMS'de yönetilebilir.
    • Yerel olarak düzenlemeyin.

    fill Örneği:

    ts
    Kodu kopyala

    Kodu panoya kopyala

    dictionary: {  fill: {    en: "/locales/en/{{key}}.content.json",    fr: ({ key }) => `/locales/fr/${key}.content.json`,    es: false,  },};

    Logger Yapılandırması

    Intlayer'dan gelen günlük çıkışını özelleştirmek için parametreler.

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür Varsayılan Örnek Not
    mode Logger modunu belirtir. 'default' |
    'verbose' |
    'disabled'
    'default' 'verbose' • 'verbose': hata ayıklama için daha fazla bilgi günlüğe kaydeder.
    • 'disabled': logger'ı tamamen devre dışı bırakır.
    prefix Günlük mesajları için önek. string '[intlayer] ' '[özel öneğim] '

    Yapay Zeka (AI) Yapılandırması

    Sağlayıcı, model ve API anahtarı dahil olmak üzere Intlayer'ın yapay zeka özelliklerini kontrol eden ayarlar.

    Bir erişim anahtarı ile Intlayer Dashboard'a kayıtlıysanız bu yapılandırma isteğe bağlıdır. Intlayer, ihtiyaçlarınız için en verimli ve uygun maliyetli yapay zeka çözümünü otomatik olarak yönetecektir. Varsayılan seçeneklerin kullanılması, Intlayer en ilgili modelleri kullanmak üzere sürekli güncellendiğinden daha iyi uzun vadeli bakılabilirlik sağlar.

    Kendi API anahtarınızı veya belirli bir modeli kullanmayı tercih ederseniz, özel yapay zeka yapılandırmanızı tanımlayabilirsiniz. Bu yapay zeka yapılandırması, Intlayer ortamınızda küresel olarak kullanılacaktır. CLI komutları, fill gibi komutlar için varsayılan olarak bu ayarları kullanacaktır; aynı şekilde SDK, Görsel Editör ve CMS de öyle. Komut parametreleri aracılığıyla belirli kullanım durumları için bu varsayılan değerleri geçersiz kılabilirsiniz.

    Intlayer, maksimum esneklik için birden fazla yapay zeka sağlayıcısını destekler. Şu anda desteklenen sağlayıcılar şunlardır:

    • OpenAI (Varsayılan)
    • Anthropic Claude
    • Mistral AI
    • DeepSeek
    • Google Gemini
    • Google AI Studio
    • Google Vertex
    • Meta Llama
    • Ollama
    • OpenRouter
    • Alibaba Cloud
    • Fireworks
    • Hugging Face
    • Groq
    • Amazon Bedrock
    • Together.ai
    • LM Studio
    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür Varsayılan Örnek Not
    provider Intlayer yapay zeka özellikleri için kullanılacak sağlayıcı. 'openai' |
    'anthropic' |
    'mistral' |
    'deepseek' |
    'gemini' |
    'ollama' |
    'openrouter' |
    'alibaba' |
    'fireworks' |
    'groq' |
    'huggingface' |
    'bedrock' |
    'googleaistudio' |
    'googlevertex' |
    'togetherai' |
    'lmstudio'
    undefined 'anthropic' Farklı sağlayıcılar farklı API anahtarları gerektirir ve farklı fiyatlandırmalara sahiptir.
    model Yapay zeka özellikleri için kullanılacak model. string Yok 'gpt-4o-2024-11-20' Belirli model sağlayıcıya göre değişir.
    temperature Yapay zeka yanıtlarının rastgeleliğini kontrol eder. number Yok 0.1 Daha yüksek sıcaklık = daha yaratıcı ve daha az tahmin edilebilir.
    apiKey Seçilen sağlayıcı için API anahtarınız. string Yok process.env.OPENAI_API_KEY Gizli tutulmalıdır; ortam değişkenlerinde saklayın.
    applicationContext Yapay zekanın daha doğru çeviriler üretmesine yardımcı olmak için uygulamanız hakkında ek bağlam (alan adı, hedef kitle, ton, terminoloji). string Yok 'Kendi uygulama bağlamım' Kurallar eklemek için kullanılabilir (örneğin: "URL'leri dönüştürmemelisiniz").
    baseURL Yapay zeka API'si için temel URL. string Yok 'https://api.openai.com/v1'
    'http://localhost:5000'
    Yerel veya özel bir yapay zeka API uç noktasına işaret edebilir.
    dataSerialization Yapay zeka özellikleri için veri serileştirme formatı. 'json' |
    'toon'
    undefined 'toon' • 'json': varsayılan, güvenilir; daha fazla token kullanır.
    • 'toon': daha az token, daha az tutarlı.
    • Modele bağlam olarak ek parametreler iletilir (akıl yürütme çabası vb.).

    Derleme (Build) Yapılandırması

    Intlayer'ın uygulamanızın uluslararasılaştırılmasını nasıl optimize ettiğini ve derlediğini kontrol eden parametreler.

    Derleme seçenekleri @intlayer/babel ve @intlayer/swc eklentileri için geçerlidir.

    Geliştirme modunda Intlayer, geliştirme deneyimini basitleştirmek için sözlükler için statik içe aktarmalar kullanır.
    Optimizasyon sırasında Intlayer, yığınlamayı (chunking) optimize etmek için sözlük çağrılarını değiştirecektir, böylece final paketi yalnızca gerçekte kullanılan sözlükleri içe aktaracaktır.
    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür Varsayılan Örnek Not
    mode Derleme modunu kontrol eder. 'auto' |
    'manual'
    'auto' 'manual' • 'auto': uygulama derlemesi sırasında derleme otomatik olarak tetiklenir.
    • 'manual': yalnızca derleme komutu açıkça çağrıldığında yürütülür.
    • Sözlük derlemelerini devre dışı bırakmak için kullanılabilir (örneğin Node.js ortamlarında yürütmeyi durdurmak için).
    optimize Derlemenin optimize edilip edilmeyeceğini kontrol eder. boolean undefined process.env.NODE_ENV === 'production' • Tanımlanmazsa, optimizasyon framework derlemesinde (Vite/Next.js) tetiklenir.
    • true ise geliştirme modunda bile optimizasyonu zorlar.
    • false ise devre dışı bırakır.
    • Etkinse, yığınlamayı optimize etmek için sözlük çağrılarını yer değiştirir.
    • @intlayer/babel ve @intlayer/swc eklentilerini gerektirir.
    minify Demet boyutunu azaltmak için sözlükleri küçültün (Minify). boolean false • Paketin küçültülüp küçültülmeyeceğini belirtir.
    • Varsayılan: Üretimde true.
    • optimize devre dışı bırakılırsa bu seçenek yoksayılır.
    • editor.enabled true ise bu seçenek yoksayılır.
    purge Sözlüklerdeki kullanılmayan anahtarları temizleyin (Purge). boolean false • Paketin temizlenip temizlenmeyeceğini belirtir.
    • Varsayılan: Üretimde true.
    • optimize devre dışı bırakılırsa bu seçenek yoksayılır.
    checkTypes Derlemenin TypeScript türlerini kontrol edip etmeyeceğini ve hataları günlüğe kaydedip kaydetmeyeceğini belirtir. boolean false Derleme sürecini yavaşlatabilir.
    outputFormat Sözlüklerin çıktı formatını kontrol eder. ('esm' | 'cjs')[] ['esm', 'cjs'] ['cjs']
    traversePattern Optimizasyon sırasında hangi dosyaların taranacağını tanımlayan kalıplar. string[] ['**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}', '!**/node_modules/**', '!**/dist/**', '!**/.intlayer/**', '!**/*.config.*', '!**/*.test.*', '!**/*.spec.*', '!**/*.stories.*'] ['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**'] • Derleme performansını artırmak için optimizasyonu ilgili dosyalarla sınırlayın.
    • optimize kapalıysa yok sayılır.
    • Glob kalıplarını kullanır.

    Sistem Yapılandırması

    Bu ayarlar gelişmiş kullanım durumları ve Intlayer'ın dahili yapılandırması içindir.

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür Varsayılan Örnek Not
    dictionariesDir Derlenmiş sözlükler için dizin. string '.intlayer/dictionary'
    moduleAugmentationDir TypeScript modül genişletme dizini. string '.intlayer/types'
    unmergedDictionariesDir Birleştirilmemiş sözlükler için dizin. string '.intlayer/unmerged_dictionary'
    typesDir Oluşturulan türler için dizin. string '.intlayer/types'
    mainDir Intlayer ana dosyası için dizin. string '.intlayer/main'
    configDir Derlenmiş yapılandırma dosyaları için dizin. string '.intlayer/config'
    cacheDir Önbellek dosyaları için dizin. string '.intlayer/cache'

    Derleyici Yapılandırması

    Sözlükleri doğrudan bileşenlerinizden çıkaran Intlayer derleyicisini kontrol eden ayarlar.

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür Varsayılan Örnek Not
    enabled Sözlüklerin çıkarılması için derleyicinin etkinleştirilip etkinleştirilmeyeceği. boolean |
    'build-only'
    true 'build-only' 'build-only', başlangıç sürelerini hızlandırmak için geliştirme sırasında derleyiciyi atlar; yalnızca derleme komutlarında yürütülür.
    dictionaryKeyPrefix Çıkarılan sözlük anahtarları için önek. string '' 'özel-önekim-' Çatışmaları önlemek için (dosya adına dayalı) oluşturulan anahtara eklenir.
    saveComponents Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceği. boolean false • true ise, orijinal dosyaları dönüştürülmüş sürümleriyle değiştirir.
    • Derleyici bir çalıştırmadan sonra kaldırılabilir.
    output Çıktı dosyaları için yolu belirler. outputDir yerine geçer. Şablon değişkenlerini destekler: {{fileName}},
    {{key}},
    {{locale}},
    {{extension}},
    {{componentFileName}},
    {{componentExtension}},
    {{format}},
    {{componentFormat}},
    {{componentDirPath}}.
    boolean |
    FilePathPattern |
    Partial<Record<Locale, boolean | FilePathPattern>>
    undefined './{{fileName}}{{extension}}'
    '/locales/{{locale}}/{{key}}.json'
    { en: ({ key }) => './locales/en/${key}.json', fr: '...', es: false }
    • ./ yolları bileşen dizinine göre çözümlenir.
    • / yolları köke göredir.
    • {{locale}} dil başına oluşturmayı tetikler.
    • Dil başına nesne notasyonunu destekler.
    noMetadata true ise, derleyici sözlük meta verilerini (anahtar, içerik sarmalayıcı) çıktıdan çıkarır. boolean false false → {"key":"anahtarım","content":{"key":"değer"}}
    true → {"key":"değer"}
    • i18next veya ICU MessageFormat JSON çıktıları için yararlıdır.
    • loadJSON eklentisi ile iyi çalışır.
    dictionaryKeyPrefix Sözlük anahtar öneki string '' Çıkarılan sözlük anahtarları için isteğe bağlı önek ekleyin

    Özel Şemalar (Custom Schemas)

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür
    schemas Sözlüklerinizin yapısını doğrulamak için Zod şemaları tanımlamanıza olanak tanır. Record<string, ZodSchema>

    Eklentiler (Plugins)

    Tüm tablo içeriğini göster

    Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın

    Alan Açıklama Tür
    plugins Etkinleştirilecek Intlayer eklentilerinin listesi. IntlayerPlugin[]
    Intlayer Nasıl Çalışır
    CLI
    Alt+→

    Bu sayfada

      Tartışmalar anonimdir ve yaygın sorunları ele almak için düzenli olarak incelenir. Özellik fikirleri, belgeleme hakkında geri bildirimler veya Intlayer ile ilgili herhangi bir şeyi paylaşmaktan çekinmeyin, bu girdileri yol haritamızı şekillendirmek ve ürünü geliştirmek için kullanıyoruz.

      import { Locales, type IntlayerConfig } from "intlayer";import { nextjsRewrite } from "intlayer/routing";import { z } from "zod";/** * Mevcut tüm seçenekleri gösteren Intlayer yapılandırma dosyası örneği. */const config: IntlayerConfig = {  /**   * Uluslararasılaştırma ayarları için yapılandırma.   */  internationalization: {    /**     * Uygulamada desteklenen dillerin listesi.     * Varsayılan: [Locales.ENGLISH]     */    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    /**     * Her sözlükte tanımlanması gereken zorunlu dillerin listesi.     * Boşsa, `strict` modda tüm diller zorunludur.     * Varsayılan: []     */    requiredLocales: [Locales.ENGLISH],    /**     * Uluslararasılaştırılmış içerik için katılık seviyesi.     * - "strict": Bildirilen bir dil eksikse veya bildirilmemişse hata verir.     * - "inclusive": Bildirilen bir dil eksikse uyarı verir.     * - "loose": Mevcut herhangi bir dili kabul eder.     * Varsayılan: "inclusive"     */    strictMode: "inclusive",    /**     * İstenen dil bulunamadığında geri dönüş (fallback) olarak kullanılan varsayılan dil.     * Varsayılan: Locales.ENGLISH     */    defaultLocale: Locales.ENGLISH,  },  /**   * Sözlük işlemlerini ve geri dönüş davranışını kontrol eden ayarlar.   */  dictionary: {    /**     * Sözlüklerin nasıl içe aktarılacağını kontrol eder.     * - "static": Derleme zamanında statik olarak içe aktarılır.     * - "dynamic": Suspense kullanılarak dinamik olarak içe aktarılır.     * - "fetch": Live Sync API aracılığıyla dinamik olarak getirilir.     * Varsayılan: "static"     */    importMode: "static",    /**     * Eksik çevirileri yapay zeka kullanarak otomatik doldurma stratejisi.     * Bir boolean değer veya doldurulan içeriği saklamak için bir yol kalıbı olabilir.     * Varsayılan: true     */    fill: true,    /**     * Sözlük dosyalarının fiziksel konumu.     * - "local": Yerel dosya sisteminde saklanır.     * - "remote": Intlayer CMS'de saklanır.     * - "hybrid": Hem yerel dosya sisteminde hem de Intlayer CMS'de saklanır.     * - "plugin" (veya herhangi bir özel dize): Bir eklenti veya özel bir kaynak tarafından sağlanır.     * Varsayılan: "local"     */    location: "local",    /**     * İçeriklerin otomatik olarak dönüştürülüp dönüştürülmeyeceği (örneğin Markdown'dan HTML'e).     * Varsayılan: false     */    contentAutoTransformation: false,  },  /**   * Yönlendirme ve ara yazılım yapılandırması.   */  routing: {    /**     * Dil yönlendirme stratejisi.     * - "prefix-no-default": Varsayılan dil dışındaki tüm diller için önek (örneğin /dashboard, /fr/dashboard).     * - "prefix-all": Tüm diller için önek (örneğin /en/dashboard, /fr/dashboard).     * - "no-prefix": URL'de dil yok.     * - "search-params": ?locale=... kullanır.     * Varsayılan: "prefix-no-default"     */    mode: "prefix-no-default",    /**     * Kullanıcının seçtiği dilin nerede saklanacağı.     * Seçenekler: 'cookie', 'localStorage', 'sessionStorage', 'header' veya bunların bir dizisi.     * Varsayılan: ['cookie', 'header']     */    storage: ["cookie", "header"],    /**     * Uygulama URL'leri için temel yol.     * Varsayılan: ""     */    basePath: "",    /**     * Dile özel yollar için özel URL yeniden yazma kuralları.     */    rewrite: nextjsRewrite({      "/[locale]/about": {        en: "/[locale]/about",        fr: "/[locale]/a-propos",      },    }),    /**     * Alan adı tabanlı yönlendirme için dilleri alan adı ana bilgisayar adlarıyla eşleştirir.     * Bu dillerin URL'leri mutlak olacaktır (örneğin, https://intlayer.cn/).     * Alan adı dili ima eder, bu nedenle yola herhangi bir dil öneki eklenmez.     * Varsayılan: undefined     */    domains: {      en: "intlayer.org",      zh: "intlayer.cn",    },  },  /**   * İçerik dosyalarını bulma ve işleme ayarları.   */  content: {    /**     * Sözlükler için taranacak dosya uzantıları.     * Varsayılan: ['.content.ts', '.content.js', '.content.json', vb.]     */    fileExtensions: [".content.ts", ".content.js", ".content.json"],    /**     * .content dosyalarının bulunduğu dizinler.     * Varsayılan: ["."]     */    contentDir: ["src"],    /**     * Kaynak kodun bulunduğu dizin.     * Derleme optimizasyonu ve kod dönüşümü için kullanılır.     * Varsayılan: ["."]     */    codeDir: ["src"],    /**     * Taramadan hariç tutulacak kalıplar.     * Varsayılan: ['node_modules', '.intlayer', vb.]     */    excludedPath: ["node_modules"],    /**     * Geliştirme sırasında değişikliklerin izlenip izlenmeyeceği ve sözlüklerin yeniden oluşturulup oluşturulmayacağı.     * Varsayılan: Geliştirmede true     */    watch: true,    /**     * Yeni oluşturulan / güncellenen .content dosyalarını biçimlendirmek için komut.     */    formatCommand: 'npx prettier --write "{{file}}"',  },  /**   * Görsel Editör yapılandırması.   */  editor: {    /**     * Görsel editörün etkin olup olmadığı.     * Varsayılan: false     */    enabled: true,    /**     * Kaynak doğrulaması için uygulamanızın URL'si.     * Varsayılan: ""     */    applicationURL: "http://localhost:3000",    /**     * Yerel editör sunucusu için port.     * Varsayılan: 8000     */    port: 8000,    /**     * Editör için genel URL.     * Varsayılan: "http://localhost:8000"     */    editorURL: "http://localhost:8000",    /**     * Intlayer CMS URL'si.     * Varsayılan: "https://app.intlayer.org"     */    cmsURL: "https://app.intlayer.org",    /**     * Arka uç API URL'si.     * Varsayılan: "https://back.intlayer.org"     */    backendURL: "https://back.intlayer.org",    /**     * Gerçek zamanlı içerik senkronizasyonunun etkinleştirilip etkinleştirilmeyeceği.     * Varsayılan: false     */    liveSync: true,  },  /**   * Yapay zeka destekli çeviri ve oluşturma ayarları.   */  ai: {    /**     * Kullanılacak yapay zeka sağlayıcısı.     * Seçenekler: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio'     * Varsayılan: 'openai'     */    provider: "openai",    /**     * Seçilen sağlayıcıdan kullanılacak model.     */    model: "gpt-4o",    /**     * Sağlayıcının API anahtarı.     */    apiKey: process.env.OPENAI_API_KEY,    /**     * Çeviri oluştururken yapay zekaya rehberlik edecek küresel bağlam.     */    applicationContext: "Bu bir seyahat rezervasyon uygulamasıdır.",    /**     * Yapay zeka API'si için temel URL.     */    baseURL: "http://localhost:3000",    /**     * Veri Serileştirme     *     * Seçenekler:     * - "json": Varsayılan, güvenilir; daha fazla token tüketir.     * - "toon": Daha az token, JSON kadar tutarlı değil.     *     * Varsayılan: "json"     */    dataSerialization: "json",  },  /**   * Derleme ve optimizasyon ayarları.   */  build: {    /**     * Derleme yürütme modu.     * - "auto": Uygulama derlemesi sırasında otomatik derleme.     * - "manual": Açık bir derleme komutu gerektirir.     * Varsayılan: "auto"     */    mode: "auto",    /**     * Kullanılmayan sözlükleri kaldırarak final paketinin optimize edilip edilmeyeceği.     * Varsayılan: Üretimde true     */    optimize: true,    /**     * Demet boyutunu azaltmak için sözlükleri küçültün (Minify).     * Varsayılan: false     *     * Not:     * - `optimize` devre dışı bırakılırsa bu seçenek yoksayılır.     * - `editor.enabled` true ise bu seçenek yoksayılır.     */    minify: true,    /**     * Sözlüklerdeki kullanılmayan anahtarları temizleyin (Purge).     * Varsayılan: false     *     * Not:     * - `optimize` devre dışı bırakılırsa bu seçenek yoksayılır.     */    purge: true,    /**     * Oluşturulan sözlük dosyaları için çıktı formatı.     * Varsayılan: ['cjs', 'esm']     */    outputFormat: ["cjs", "esm"],    /**     * Derlemenin TypeScript türlerini kontrol edip etmeyeceği.     * Varsayılan: false     */    checkTypes: false,  },  /**   * Logger yapılandırması.   */  log: {    /**     * Günlük kaydı seviyesi.     * - "default": Standart günlük kaydı.     * - "verbose": Ayrıntılı hata ayıklama günlüğü.     * - "disabled": Günlük kaydı yok.     * Varsayılan: "default"     */    mode: "default",    /**     * Tüm günlük mesajları için önek.     * Varsayılan: "[intlayer]"     */    prefix: "[intlayer]",  },  /**   * Sistem Yapılandırması (Gelişmiş Kullanım Durumları)   */  system: {    /**     * Yerelleştirilmiş sözlükleri saklamak için dizin.     */    dictionariesDir: ".intlayer/dictionary",    /**     * Modül genişletme (module augmentation) dizini.     */    moduleAugmentationDir: ".intlayer/types",    /**     * Birleştirilmemiş sözlükleri saklamak için dizin.     */    unmergedDictionariesDir: ".intlayer/unmerged_dictionary",    /**     * Sözlük türlerini saklamak için dizin.     */    typesDir: ".intlayer/types",    /**     * Ana uygulama dosyalarının saklandığı dizin.     */    mainDir: ".intlayer/main",    /**     * Yapılandırma dosyalarının saklandığı dizin.     */    configDir: ".intlayer/config",    /**     * Önbellek dosyalarının saklandığı dizin.     */    cacheDir: ".intlayer/cache",  },  /**   * Derleyici Yapılandırması (Gelişmiş Kullanım Durumları)   */  compiler: {    /**     * Derleyicinin etkin olup olmayacağı.     *     * - false: Derleyiciyi devre dışı bırak.     * - true: Derleyiciyi etkinleştir.     * - "build-only": Başlangıç sürelerini hızlandırmak için geliştirme sırasında derleyiciyi atla.     *     * Varsayılan: false     */    enabled: true,    /**     * Çıktı dosyaları için yolu belirler. `outputDir` yerine geçer.     *     * - `./` yolları bileşen dizinine göre çözümlenir.     * - `/` yolları proje köküne (`baseDir`) göre çözümlenir.     *     * - Yol içinde `{{locale}}` değişkeninin bulunması, dile göre ayrı sözlükler oluşturulmasını tetikler.     *     * Örnek:     * ```ts     * {     *   // Bileşenin yanında çok dilli .content.ts dosyaları oluştur     *   output: ({ fileName, extension }) => `./${fileName}${extension}`,     *     *   // output: './{{fileName}}{{extension}}', // Şablon dizesi kullanarak eşdeğer     * }     * ```     *     * ```ts     * {     *   // Proje kökünde dile göre merkezileştirilmiş JSON'lar oluştur     *   output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,     *     *   // output: '/locales/{{locale}}/{{key}}.content.json', // Şablon dizesi kullanarak eşdeğer     * }     * ```     *     * Değişken Listesi:     *   - `fileName`: Dosya adı.     *   - `key`: İçerik anahtarı.     *   - `locale`: İçerik dili (locale).     *   - `extension`: Dosya uzantısı.     *   - `componentFileName`: Bileşen dosya adı.     *   - `componentExtension`: Bileşen dosya uzantısı.     *   - `format`: Sözlük formatı.     *   - `componentFormat`: Bileşen sözlük formatı.     *   - `componentDirPath`: Bileşen dizin yolu.     */    output: ({ locale, key }) => `compiler/${locale}/${key}.json`,    /**     * Dönüştürüldükten sonra bileşenlerin kaydedilip kaydedilmeyeceği.     * Bu sayede derleyici uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.     */    saveComponents: false,    /**     * Oluşturulan dosyaya yalnızca içeriği ekle. Dile göre i18next veya ICU MessageFormat JSON çıktıları için yararlıdır.     */    noMetadata: false,    /**     * Sözlük anahtar öneki     */    dictionaryKeyPrefix: "", // Çıkarılan sözlük anahtarları için isteğe bağlı önek ekleyin  },  /**   * Sözlüklerin içeriğini doğrulamak için özel şemalar.   */  schemas: {    "my-schema": z.object({      title: z.string(),    }),  },  /**   * Eklenti yapılandırması.   */  plugins: [],};export default config;
      routing: {  mode: "prefix-no-default", // Geri dönüş stratejisi  rewrite: nextjsRewrite({    "/about": {      en: "/about",      fr: "/a-propos",    },    "/product/[slug]": {      en: "/product/[slug]",      fr: "/produit/[slug]",    },    "/blog/[category]/[id]": {      en: "/blog/[category]/[id]",      fr: "/journal/[category]/[id]",    },  }),}
      import { Locales, type IntlayerConfig } from "intlayer";// intlayer.config.tsconst config: IntlayerConfig = {  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "prefix-no-default",    storage: "localStorage",    basePath: "",  },};export default config;
      import { Locales, type IntlayerConfig } from "intlayer";// intlayer.config.tsconst config: IntlayerConfig = {  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "prefix-no-default",    storage: [      {        type: "localStorage",        name: "user-locale",      },      {        type: "cookie",        name: "user-locale",        secure: true,        sameSite: "strict",        httpOnly: false,      },    ],    basePath: "",  },};export default config;
      import { Locales, type IntlayerConfig } from "intlayer";// intlayer.config.tsconst config: IntlayerConfig = {  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "search-params",    storage: "localStorage",    basePath: "",  },};export default config;
      import { Locales, type IntlayerConfig } from "intlayer";// intlayer.config.tsconst config: IntlayerConfig = {  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "no-prefix",    storage: {      type: "sessionStorage",      name: "app-locale",    },    basePath: "/my-app",  },};export default config;
      // intlayer.config.tsimport { nextjsRewrite } from "intlayer/routing";const config: IntlayerConfig = {  internationalization: {    locales: ["en", "fr"],    defaultLocale: "en",  },  routing: {    mode: "prefix-no-default", // Yeniden yazılmayan yollar için geri dönüş    storage: "cookie",    rewrite: nextjsRewrite({      "/about": {        en: "/about",        fr: "/a-propos",      },      "/product/[slug]": {        en: "/product/[slug]",        fr: "/produit/[slug]",      },      "/blog/[category]/[id]": {        en: "/blog/[category]/[id]",        fr: "/journal/[category]/[id]",      },    }),  },};export default config;
      dictionary: {  fill: {    en: "/locales/en/{{key}}.content.json",    fr: ({ key }) => `/locales/fr/${key}.content.json`,    es: false,  },};