Oluşturma:2025-11-16Son güncelleme:2025-11-16

    Dokümantasyon: intlayer İçindeki getPrefix Fonksiyonu

    Açıklama

    getPrefix fonksiyonu, yönlendirme modu yapılandırmasına bağlı olarak verilen bir locale için URL ön ekini belirler. Locale'i varsayılan locale ile karşılaştırır ve esnek URL yapısı için üç farklı ön ek formatını içeren bir nesne döner.

    Temel Özellikler:

    • İlk parametre olarak bir locale alır (zorunlu)
    • defaultLocale ve mode içeren isteğe bağlı options nesnesi
    • prefix ve localePrefix özelliklerine sahip bir nesne döner
    • Tüm yönlendirme modlarını destekler: prefix-no-default, prefix-all, no-prefix ve search-params
    • Locale ön eklerinin ne zaman ekleneceğini belirlemek için hafif bir yardımcı araç

    Fonksiyon İmzası

    getPrefix(
      locale: Locales,               // Zorunlu
      options?: {                    // İsteğe bağlı
        defaultLocale?: Locales;
        mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params';
      }
    ): GetPrefixResult
    
    type GetPrefixResult = {
      prefix: string;   // örn. 'fr/' veya ''
      localePrefix?: Locale; // örn. 'fr' veya tanımsız
    }

    Parametreler

    • locale: Locales

      • Açıklama: Ön ek oluşturulacak locale. Değer falsy ise (undefined, null, boş string), fonksiyon boş string döner.
      • Tür: Locales
      • Zorunlu: Evet
    • options?: object

      • Açıklama: Ön ek belirleme için yapılandırma nesnesi.
      • Tür: object
      • Zorunlu: Hayır (İsteğe bağlı)

      • options.defaultLocale?: Locales

        • Açıklama: Uygulamanın varsayılan locale'i. Sağlanmazsa, proje yapılandırmanızdaki varsayılan locale kullanılır.
        • Tür: Locales
        • Varsayılan: Proje Yapılandırması
      • options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'

        • Açıklama: Locale işlemleri için URL yönlendirme modu. Sağlanmazsa, proje yapılandırmanızdaki yapılandırılmış modu kullanır.
        • Tür: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'
        • Varsayılan: Proje Yapılandırması
        • Modlar:
          • prefix-no-default: Locale varsayılan locale ile eşleştiğinde boş string döner
          • prefix-all: Varsayılan dahil tüm localeler için ön ek döner
          • no-prefix: Boş string döner (URL'lerde ön ek yok)
          • search-params: Boş string döner (locale sorgu parametrelerinde)

    Dönüş Değeri

    • Tür: GetPrefixResult
    • Açıklama: Üç farklı ön ek formatı içeren bir nesne:
      • prefix: Sonunda eğik çizgi olan yol ön eki (örneğin, 'fr/', '')
      • localePrefix: Eğik çizgisiz locale tanımlayıcısı (örneğin, 'fr', undefined)

    Örnek Kullanım

    Temel Kullanım

    import { getPrefix, Locales } from "intlayer";
    
    // İngilizce locale için ön eki kontrol et
    getPrefix(Locales.ENGLISH, {
      defaultLocale: Locales.ENGLISH,
      mode: "prefix-all",
    });
    // Döner: { prefix: 'en/', localePrefix: 'en' }
    
    // Fransızca locale için ön eki kontrol et
    getPrefix(Locales.FRENCH, {
      defaultLocale: Locales.ENGLISH,
      mode: "prefix-no-default",
    });
    // Döner: { prefix: 'fr/', localePrefix: 'fr' }

    Farklı Yönlendirme Modları

    import { getPrefix, Locales } from "intlayer";
    
    // prefix-all: Her zaman prefix döner
    getPrefix(Locales.ENGLISH, {
      mode: "prefix-all",
      defaultLocale: Locales.ENGLISH,
    });
    // Döner: { prefix: '/en', localePrefix: 'en' }
    
    // prefix-no-default: Locale varsayılanla eşleştiğinde prefix yok
    getPrefix(Locales.ENGLISH, {
      mode: "prefix-no-default",
      defaultLocale: Locales.ENGLISH,
    });
    // Döner: { prefix: '', localePrefix: undefined }
    
    // prefix-no-default: Locale varsayılanla farklıysa prefix döner
    getPrefix(Locales.FRENCH, {
      mode: "prefix-no-default",
      defaultLocale: Locales.ENGLISH,
    });
    // Döner: { prefix: 'fr/', localePrefix: 'fr' }
    
    // no-prefix & search-params: Hiçbir zaman prefix döndürmez
    getPrefix(Locales.ENGLISH, { mode: "no-prefix" });
    // Döner: { prefix: '', localePrefix: undefined }
    
    getPrefix(Locales.ENGLISH, { mode: "search-params" });
    // Döner: { prefix: '', localePrefix: undefined }

    Pratik Örnek

    import { getPrefix, Locales } from "intlayer";
    
    // Belirli bir locale için uygun prefix ile URL'ler oluştur
    const locale = Locales.FRENCH;
    const { prefix, localePrefix } = getPrefix(locale, {
      defaultLocale: Locales.ENGLISH,
      mode: "prefix-no-default",
    });
    
    // Yol oluşturmak için prefix kullanımı
    const url1 = `/${prefix}about`.replace(/\/+/g, "/");
    // Sonuç: "/fr/about"
    
    // Locale tanımlaması için localePrefix kullanımı
    console.log(`Mevcut locale: ${localePrefix}`);
    // Çıktı: "Mevcut locale: fr"

    İlgili Fonksiyonlar


    TypeScript

    type GetPrefixResult = {
      prefix: string; // Sonunda eğik çizgi olan yol öneki (örneğin, 'fr/' veya '')
      localePrefix?: Locale; // Eğik çizgi olmadan locale tanımlayıcısı (örneğin, 'fr' veya tanımsız)
    };
    
    function getPrefix(
      locale: Locales,
      options?: {
        defaultLocale?: Locales;
        mode?: "prefix-no-default" | "prefix-all" | "no-prefix" | "search-params";
      }
    ): GetPrefixResult;