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. Testing
    Oluşturma:2025-03-01Son güncelleme:2025-09-20
    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

    Bu belge güncel değil, temel sürüm şu tarihte güncellendi 5 Ekim 2025.

    İngilizce dökümana git

    Sürüm Geçmişi

    1. "Testlerin tanıtımı"
      v6.0.020.09.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

    İçeriğinizi test etme

    Bu rehber, sözlüklerinizin eksiksiz olduğunu otomatik olarak nasıl doğrulayacağınızı, gönderim öncesi eksik çevirileri nasıl yakalayacağınızı ve uygulamanızda yerelleştirilmiş kullanıcı arayüzünü nasıl test edeceğinizi gösterir.


    Test edebilecekleriniz

    • Eksik çeviriler: Herhangi bir sözlük için gerekli yerel ayarlardan herhangi biri eksikse CI başarısız olur.
    • Yerelleştirilmiş UI renderı: Belirli bir yerel sağlayıcı ile bileşenleri render edin ve görünen metin/özellikler üzerinde doğrulama yapın.
    • Derleme zamanı denetimleri: CLI üzerinden yerel olarak hızlı bir denetim çalıştırın.

    Hızlı başlangıç: CLI ile denetim

    Denetimi proje kök dizininizden çalıştırın:

    bash
    Kodu kopyala

    Kodu panoya kopyala

    npx intlayer content test

    Faydalı bayraklar:

    • --env-file [path]: ortam değişkenlerini bir dosyadan yükler.
    • -e, --env [name]: bir ortam profili seçer.
    • --base-dir [path]: çözümleme için uygulama temel dizinini ayarlar.
    • --verbose: ayrıntılı günlükleri gösterir.
    • --prefix [label]: günlük satırlarına önek ekler.

    Not: CLI ayrıntılı bir rapor yazdırır ancak başarısızlıklarda sıfır olmayan bir çıkış kodu vermez. CI kontrolü için, eksik gerekli yerel ayarların sıfır olduğunu doğrulayan bir birim testi (aşağıda) ekleyin.


    Programatik test (Vitest/Jest)

    Gerekli yerel ayarlarınız için eksik çeviri olmadığını doğrulamak için Intlayer CLI API'sini kullanın.

    Kodu kopyala

    Kodu panoya kopyala

    /* @vitest-environment node */import { listMissingTranslations } from "intlayer/cli";import { describe, expect, it } from "vitest";describe("çeviriler", () => {  it("gerekli yerel ayarlarda eksik yok", () => {    const result = listMissingTranslations();    if (result.missingRequiredLocales.length > 0) {      // Test yerelde veya CI'da başarısız olduğunda faydalıdır      console.log(result.missingTranslations);    }    expect(result.missingRequiredLocales).toHaveLength(0);  });});

    Jest eşdeğeri:

    Kodu kopyala

    Kodu panoya kopyala

    import { listMissingTranslations } from "intlayer/cli";test("gerekli yerel ayarlarda eksik yok", () => {  const result = listMissingTranslations();  if (result.missingRequiredLocales.length > 0) {    console.log(result.missingTranslations);  }  expect(result.missingRequiredLocales).toHaveLength(0);});

    Nasıl çalışır:

    • Intlayer, yapılandırmanızı (yerel ayarlar, requiredLocales) ve bildirilen sözlükleri okur, ardından raporlar:
      • missingTranslations: anahtar bazında, hangi yerel ayarların eksik olduğunu ve hangi dosyadan olduğunu.
      • missingLocales: tüm eksik yerel ayarların birleşimi.
      • missingRequiredLocales: requiredLocales ile sınırlı alt küme (veya requiredLocales ayarlanmadıysa tüm yerel ayarlar).

    Yerelleştirilmiş UI testi (React / Next.js)

    Bileşenleri bir Intlayer sağlayıcısı altında render edin ve görünür içerik üzerinde doğrulama yapın.

    React örneği (Testing Library):

    tsx
    Kodu kopyala

    Kodu panoya kopyala

    import { IntlayerProvider } from "react-intlayer/client";import { render, screen } from "@testing-library/react";import { MyComponent } from "./MyComponent";test("İngilizce yerelleştirilmiş başlığı render eder", () => {  render(    <IntlayerProvider locale="en-US">      <MyComponent />    </IntlayerProvider>  );  expect(screen.getByText("Beklenen İngilizce başlık")).toBeInTheDocument();});

    Next.js (App Router) örneği: framework sarmalayıcısını kullanın:

    tsx
    Kodu kopyala

    Kodu panoya kopyala

    import { IntlayerClientProvider } from "next-intlayer/client";import { render, screen } from "@testing-library/react";import { MyPage } from "./MyPage";test("Fransızca yerelleştirilmiş başlık render edilir", () => {  render(    <IntlayerClientProvider locale="fr-FR">      <MyPage />    </IntlayerClientProvider>  );  expect(    screen.getByRole("heading", { name: "Beklenen Başlık" })  ).toBeInTheDocument();});

    İpuçları:

    • Özellikler için ham string değerlerine ihtiyacınız olduğunda (örneğin, aria-label), React'te useIntlayer tarafından döndürülen .value alanına erişin.
    • Daha kolay birim testi ve temizlik için sözlükleri bileşenlerle aynı yerde tutun.

    Sürekli Entegrasyon

    Gerekli çeviriler eksik olduğunda derlemeyi başarısız kılan bir test ekleyin.

    package.json:

    json
    Kodu kopyala

    Kodu panoya kopyala

    {  "scripts": {    "test:i18n": "vitest run -c"  }}

    GitHub Actions örneği:

    yaml
    Kodu kopyala

    Kodu panoya kopyala

    name: CIon: [push, pull_request]jobs:  test:    runs-on: ubuntu-latest    steps:      - uses: actions/checkout@v4      - uses: actions/setup-node@v4        with:          node-version: 20      - run: npm ci      - run: npm run test:i18n

    İsteğe bağlı: testlerle birlikte insan tarafından okunabilir bir özet için CLI denetimini çalıştırın:

    bash
    Kodu kopyala

    Kodu panoya kopyala

    npx intlayer content test --verbose

    Sorun Giderme

    • Intlayer yapılandırmanızın locales ve (isteğe bağlı olarak) requiredLocales tanımladığından emin olun.
    • Uygulamanız dinamik veya uzak sözlükler kullanıyorsa, testleri sözlüklerin mevcut olduğu bir ortamda çalıştırın.
    • Karma monorepo yapıları için, CLI'yi doğru uygulama köküne yönlendirmek amacıyla --base-dir kullanın.

    Otomatik Doldurma
    Paket Optimizasyonu
    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 content test
      /* @vitest-environment node */import { listMissingTranslations } from "intlayer/cli";import { describe, expect, it } from "vitest";describe("çeviriler", () => {  it("gerekli yerel ayarlarda eksik yok", () => {    const result = listMissingTranslations();    if (result.missingRequiredLocales.length > 0) {      // Test yerelde veya CI'da başarısız olduğunda faydalıdır      console.log(result.missingTranslations);    }    expect(result.missingRequiredLocales).toHaveLength(0);  });});
      import { listMissingTranslations } from "intlayer/cli";test("gerekli yerel ayarlarda eksik yok", () => {  const result = listMissingTranslations();  if (result.missingRequiredLocales.length > 0) {    console.log(result.missingTranslations);  }  expect(result.missingRequiredLocales).toHaveLength(0);});
      import { IntlayerProvider } from "react-intlayer/client";import { render, screen } from "@testing-library/react";import { MyComponent } from "./MyComponent";test("İngilizce yerelleştirilmiş başlığı render eder", () => {  render(    <IntlayerProvider locale="en-US">      <MyComponent />    </IntlayerProvider>  );  expect(screen.getByText("Beklenen İngilizce başlık")).toBeInTheDocument();});
      import { IntlayerClientProvider } from "next-intlayer/client";import { render, screen } from "@testing-library/react";import { MyPage } from "./MyPage";test("Fransızca yerelleştirilmiş başlık render edilir", () => {  render(    <IntlayerClientProvider locale="fr-FR">      <MyPage />    </IntlayerClientProvider>  );  expect(    screen.getByRole("heading", { name: "Beklenen Başlık" })  ).toBeInTheDocument();});
      {  "scripts": {    "test:i18n": "vitest run -c"  }}
      name: CIon: [push, pull_request]jobs:  test:    runs-on: ubuntu-latest    steps:      - uses: actions/checkout@v4      - uses: actions/setup-node@v4        with:          node-version: 20      - run: npm ci      - run: npm run test:i18n
      npx intlayer content test --verbose