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. CMS
    Oluşturma:2025-08-23Son güncelleme:2025-08-23
    Video eğitimini izleyin

    Bu sayfada bir video eğitimi mevcuttur.

    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. "Canlı senkronizasyon dokümantasyonu eklendi"
      v6.0.122.09.2025
    2. "`hotReload` alanı `liveSync` ile değiştirildi"
      v6.0.004.09.2025
    3. "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ü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 İçerik Yönetim Sistemi (CMS) Dokümantasyonu

    www.youtube.com

    Intlayer CMS, bir Intlayer projesinin içeriğini dışa aktarmanıza olanak tanıyan bir uygulamadır.

    Bunun için Intlayer, 'uzak sözlükler' kavramını tanıtmaktadır.

    Intlayer CMS Arayüzü

    Uzak sözlükleri anlama

    Intlayer, 'yerel' ve 'uzak' sözlükler arasında ayrım yapar.

    • 'Yerel' sözlük, Intlayer projenizde tanımlanmış bir sözlüktür. Örneğin bir butonun tanımlama dosyası veya navigasyon çubuğunuz gibi. İçeriğinizi dışa aktarmak bu durumda anlamlı değildir çünkü bu içeriğin sık sık değişmesi beklenmez.

    • 'Uzak' sözlük ise Intlayer CMS aracılığıyla yönetilen bir sözlüktür. Ekibinizin içeriğinizi doğrudan web sitenizde yönetmesine olanak tanıyabilir ve ayrıca A/B test özelliklerini ve SEO otomatik optimizasyonunu kullanmayı hedefler.

    Görsel editör ve CMS karşılaştırması

    Intlayer Visual editörü, yerel sözlükler için içeriğinizi görsel bir editörde yönetmenizi sağlayan bir araçtır. Bir değişiklik yapıldığında, içerik kod tabanında değiştirilir. Bu, uygulamanın yeniden derleneceği ve yeni içeriği göstermek için sayfanın yeniden yükleneceği anlamına gelir.

    Buna karşılık, Intlayer CMS, uzak sözlükler için içeriğinizi görsel bir editörde yönetmenizi sağlayan bir araçtır. Bir değişiklik yapıldığında, içerik kod tabanınızı etkilemez. Ve web sitesi otomatik olarak değiştirilen içeriği gösterir.

    Entegrasyon

    Paketin nasıl kurulacağına dair daha fazla detay için aşağıdaki ilgili bölüme bakınız:

    Next.js ile Entegrasyon

    Next.js ile entegrasyon için, kurulum kılavuzuna bakınız.

    Create React App ile Entegrasyon

    Create React App ile entegrasyon için, kurulum kılavuzuna bakınız.

    Vite + React ile Entegrasyon

    Vite + React ile entegrasyon için, kurulum kılavuzuna bakınız.

    Konfigürasyon

    Intlayer CMS'ye giriş yapmak için aşağıdaki komutu çalıştırın:

    bash
    Kodu kopyala

    Kodu panoya kopyala

    npx intlayer login

    Bu, kimlik doğrulama işlemini tamamlamak ve Intlayer hizmetlerini kullanmak için gerekli kimlik bilgilerini (Client ID ve Client Secret) almak için varsayılan tarayıcınızı açacaktır.

    Intlayer konfigürasyon dosyanızda, CMS ayarlarını özelleştirebilirsiniz:

    intlayer.config.ts
    Kodu kopyala

    Kodu panoya kopyala

    import type { IntlayerConfig } from "intlayer";
    
    const config: IntlayerConfig = {
      // ... diğer konfigürasyon ayarları
      editor: {
        /**
         * Gerekli
         *
         * Uygulamanın URL'si.
         * Bu, görsel editörün hedeflediği URL'dir.
         */
        applicationURL: process.env.INTLAYER_APPLICATION_URL,
    
        /**
         * Gerekli
         *
         * Editörü etkinleştirmek için Client ID ve client secret gereklidir.
         * Bunlar, içeriği düzenleyen kullanıcıyı tanımlamaya olanak sağlar.
         * Intlayer Dashboard - Projects (https://app.intlayer.org/projects) üzerinden yeni bir client oluşturarak elde edilebilir.
         * clientId: process.env.INTLAYER_CLIENT_ID,
         * clientSecret: process.env.INTLAYER_CLIENT_SECRET,
         */
        clientId: process.env.INTLAYER_CLIENT_ID,
        clientSecret: process.env.INTLAYER_CLIENT_SECRET,
    
        /**
         * Opsiyonel
         *
         * Intlayer CMS'yi kendi sunucunuzda barındırıyorsanız, CMS'nin URL'sini ayarlayabilirsiniz.
         *
         * Intlayer CMS'nin URL'si.
         * Varsayılan olarak https://intlayer.org olarak ayarlanmıştır.
         */
        cmsURL: process.env.INTLAYER_CMS_URL,
    
        /**
         * Opsiyonel
         *
         * Intlayer CMS'yi kendi sunucunuzda barındırıyorsanız, backend'in URL'sini ayarlayabilirsiniz.
         *
         * Intlayer CMS'nin URL'si.
         * Varsayılan olarak https://back.intlayer.org olarak ayarlanmıştır.
         */
        backendURL: process.env.INTLAYER_BACKEND_URL,
      },
    };
    
    export default config;
    Eğer bir client ID ve client secret'ınız yoksa, bunları Intlayer Dashboard - Projects üzerinden yeni bir client oluşturarak edinebilirsiniz.
    Mevcut tüm parametreleri görmek için konfigürasyon dokümantasyonuna bakınız.

    CMS Kullanımı

    Konfigürasyonunuzu Gönderme

    Intlayer CMS'yi yapılandırmak için intlayer CLI komutlarını kullanabilirsiniz.

    bash
    Kodu kopyala

    Kodu panoya kopyala

    npx intlayer config push
    intlayer.config.ts yapılandırma dosyanızda ortam değişkenleri kullanıyorsanız, istediğiniz ortamı --env argümanıyla belirtebilirsiniz:
    bash
    Kodu kopyala

    Kodu panoya kopyala

    npx intlayer config push --env production

    Bu komut yapılandırmanızı Intlayer CMS'ye yükler.

    Bir sözlük yükleme

    Yerel sözlüklerinizi uzak bir sözlüğe dönüştürmek için intlayer CLI komutlarını kullanabilirsiniz.

    bash
    Kodu kopyala

    Kodu panoya kopyala

    npx intlayer dictionary push -d my-first-dictionary-key
    intlayer.config.ts yapılandırma dosyanızda ortam değişkenleri kullanıyorsanız, istediğiniz ortamı --env argümanıyla belirtebilirsiniz:
    bash
    Kodu kopyala

    Kodu panoya kopyala

    npx intlayer dictionary push -d my-first-dictionary-key --env production

    Bu komut, başlangıç içerik sözlüklerinizi yükler ve Intlayer platformu üzerinden eşzamansız olarak alınmalarını ve düzenlenmelerini sağlar.

    Sözlüğü düzenleme

    Daha sonra sözlüğünüzü Intlayer CMS üzerinde görüntüleyip yönetebileceksiniz.

    Canlı senkronizasyon

    Canlı Senkronizasyon, uygulamanızın CMS içerik değişikliklerini çalışma zamanında yansıtmasını sağlar. Yeniden derleme veya yeniden dağıtım gerekmez. Etkinleştirildiğinde, güncellemeler uygulamanızın okuduğu sözlükleri yenileyen bir Canlı Senkronizasyon sunucusuna aktarılır.

    Canlı Senkronizasyon sürekli bir sunucu bağlantısı gerektirir ve yalnızca enterprise planında kullanılabilir.

    Intlayer yapılandırmanızı güncelleyerek Canlı Senkronizasyonu etkinleştirin:

    intlayer.config.ts
    Kodu kopyala

    Kodu panoya kopyala

    import type { IntlayerConfig } from "intlayer";
    
    const config: IntlayerConfig = {
      // ... diğer yapılandırma ayarları
      editor: {
        /**
         * Değişiklik algılandığında yerel ayar yapılandırmalarının sıcak yeniden yüklemesini etkinleştirir.
         * Örneğin, bir sözlük eklendiğinde veya güncellendiğinde, uygulama sayfada görüntülenen içeriği günceller.
         *
         * Sıcak yeniden yükleme sürekli bir sunucu bağlantısı gerektirdiği için,
         * yalnızca `enterprise` planı müşterileri için kullanılabilir.
         *
         * Varsayılan: false
         */
        liveSync: true,
      },
      dictionary: {
        /**
         * Sözlüklerin nasıl içe aktarılacağını kontrol eder:
         *
         * - "live": Sözlükler, Live Sync API kullanılarak dinamik olarak getirilir.
         *   useIntlayer yerine useDictionaryDynamic kullanılır.
         *
         * Not: Canlı mod, sözlükleri getirmek için Live Sync API'sini kullanır. API çağrısı
         * başarısız olursa, sözlükler dinamik olarak içe aktarılır.
         * Not: Yalnızca uzak içeriğe ve "live" bayraklarına sahip sözlükler canlı modu kullanır.
         * Diğerleri performans için dinamik modu kullanır.
         */
        importMode: "fetch",
      },
    };
    
    export default config;

    Uygulamanızı sarmak için Live Sync sunucusunu başlatın:

    Next.js kullanarak örnek:

    package.json
    Kodu kopyala

    Kodu panoya kopyala

    {  "scripts": {    // ... diğer komutlar    "build": "next build",    "dev": "next dev",    "start": "npx intlayer live --with 'next start'",  },}

    Vite kullanarak örnek:

    package.json
    Kodu kopyala

    Kodu panoya kopyala

    {  "scripts": {    // ... diğer komutlar    "build": "vite build",    "dev": "vite dev",    "start": "npx intlayer live --with 'vite start'",  },}

    Live Sync sunucusu uygulamanızı sarar ve güncellenen içeriği geldiği anda otomatik olarak uygular.

    CMS'den değişiklik bildirimleri almak için, Live Sync sunucusu backend ile bir SSE bağlantısı sürdürür. CMS'de içerik değiştiğinde, backend güncellemeyi Live Sync sunucusuna iletir ve bu sunucu yeni sözlükleri yazar. Uygulamanız, sonraki gezinme veya tarayıcı yenilemesinde güncellemeyi yansıtacaktır, yeniden derleme gerekmez.

    Akış şeması (CMS/Backend -> Live Sync Sunucusu -> Uygulama Sunucusu -> Ön Yüz):

    Live Sync Mantık Şeması

    Nasıl çalışır:

    Live Sync Akış CMS/Backend/Live Sync Sunucusu/Uygulama Sunucusu/Ön Yüz Şeması

    Geliştirme iş akışı (yerel)

    • Geliştirme aşamasında, uygulama başladığında tüm uzak sözlükler alınır, böylece güncellemeleri hızlıca test edebilirsiniz.
    • Next.js ile Live Sync'i yerel olarak test etmek için geliştirme sunucunuzu şu şekilde sarmalayın:
    package.json
    Kodu kopyala

    Kodu panoya kopyala

    {  "scripts": {    // ... diğer scriptler    "dev": "npx intlayer live --with 'next dev'",    // "dev": "npx intlayer live --with 'vite dev'", // Vite için  },}

    Optimizasyonu etkinleştirin, böylece Intlayer geliştirme sırasında Live import dönüşümlerini uygular:

    intlayer.config.ts
    Kodu kopyala

    Kodu panoya kopyala

    import type { IntlayerConfig } from "intlayer";
    
    const config: IntlayerConfig = {
      editor: {
        applicationURL: "http://localhost:5173",
        liveSyncURL: "http://localhost:4000",
        liveSync: true,
      },
      dictionary: {
        importMode: "fetch",
      },
      build: {
        optimize: true,
      },
    };
    
    export default config;

    Bu yapılandırma, geliştirme sunucunuzu Live Sync sunucusuyla sarar, başlangıçta uzak sözlükleri getirir ve CMS'den SSE aracılığıyla güncellemeleri aktarır. Değişiklikleri görmek için sayfayı yenileyin.

    Notlar ve kısıtlamalar:

    • Live sync kaynağını site güvenlik politikanıza (CSP) ekleyin. Live sync URL'sinin connect-src içinde (ve ilgili ise frame-ancestors içinde) izinli olduğundan emin olun.
    • Live Sync statik çıktı ile çalışmaz. Next.js için, sayfa çalışma zamanında güncellemeleri alabilmek için dinamik olmalıdır (örneğin, tam statik kısıtlamalardan kaçınmak için generateStaticParams, generateMetadata, getServerSideProps veya getStaticProps uygun şekilde kullanılmalıdır).
    • CMS'de, her sözlüğün bir live bayrağı vardır. Yalnızca live=true olan sözlükler live sync API'si aracılığıyla alınır; diğerleri dinamik olarak içe aktarılır ve çalışma zamanında değişmeden kalır.
    • live bayrağı her sözlük için derleme zamanında değerlendirilir. Uzaktaki içerik derleme sırasında live=true olarak işaretlenmemişse, o sözlük için Live Sync'i etkinleştirmek üzere yeniden derleme yapmanız gerekir.
    • Live sync sunucusunun .intlayer dosyasına yazabilmesi gerekir. Konteynerlerde, /.intlayer dosyasına yazma erişiminin olduğundan emin olun.

    Hata Ayıklama

    CMS ile ilgili herhangi bir sorunla karşılaşırsanız, aşağıdakileri kontrol edin:

    • Uygulamanın çalıştığından emin olun.

    • editor yapılandırmasının Intlayer yapılandırma dosyanızda doğru şekilde ayarlandığından emin olun.
      • Gerekli alanlar:
    • Uygulama URL'si, editör yapılandırmasında (applicationURL) belirttiğinizle eşleşmelidir.
    • CMS URL'si

    • Proje yapılandırmasının Intlayer CMS'ye gönderildiğinden emin olun.

    • Görsel editör, web sitenizi görüntülemek için bir iframe kullanır. Web sitenizin İçerik Güvenlik Politikası'nın (CSP), CMS URL'sine frame-ancestors olarak izin verdiğinden emin olun (varsayılan olarak 'https://intlayer.org'). Herhangi bir hata için editör konsolunu kontrol edin.

    Görsel Editör
    CI/CD Entegrasyonu
    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.

      npx intlayer login
      npx intlayer config push
      npx intlayer config push --env production
      npx intlayer dictionary push -d my-first-dictionary-key
      npx intlayer dictionary push -d my-first-dictionary-key --env production
      {  "scripts": {    // ... diğer komutlar    "build": "next build",    "dev": "next dev",    "start": "npx intlayer live --with 'next start'",  },}
      {  "scripts": {    // ... diğer komutlar    "build": "vite build",    "dev": "vite dev",    "start": "npx intlayer live --with 'vite start'",  },}
      {  "scripts": {    // ... diğer scriptler    "dev": "npx intlayer live --with 'next dev'",    // "dev": "npx intlayer live --with 'vite dev'", // Vite için  },}