---
createdAt: 2025-11-16
updatedAt: 2025-11-16
title: getPrefix Fonksiyon Dokümantasyonu | intlayer
description: intlayer paketi için getPrefix fonksiyonunun nasıl kullanılacağını görün
keywords:
  - getPrefix
  - prefix
  - Intlayer
  - intlayer
  - Uluslararasılaştırma
  - Dokümantasyon
  - Next.js
  - JavaScript
  - React
slugs:
  - doc
  - packages
  - intlayer
  - getPrefix
history:
  - version: 7.1.0
    date: 2025-11-16
    changes: "İlk dokümantasyon"
---

# 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ı

```typescript
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ı`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/configuration.md#middleware)

  - `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ı`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/configuration.md#middleware)
    - **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

```typescript codeFormat={["typescript", "esm", "commonjs"]}
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ı

```typescript
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

```typescript
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

- [`getLocalizedUrl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/intlayer/getLocalizedUrl.md): Belirli bir locale için lokalize URL oluşturur
- [`getMultilingualUrls`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/intlayer/getMultilingualUrls.md): Tüm yapılandırılmış locale'ler için URL'ler oluşturur

---

## TypeScript

```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;
```
