> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# i18n modülü

Her yüzeyin paylaştığı locale sözleşmesi.

## Başlamadan önce

İndirdiğiniz supastack projenizi Visual Studio Code'de Dosya → Klasörü Aç'ı kullanarak açın ve ardından Terminal → Yeni Terminal'i seçin. Depo kökü package.json'u, uygulamaları ve paketleri içeren klasördür. Aşağıdaki komutu orada çalıştırın ve terminalini açık bırakın. Bir komut tanınmazsa devam etmeden önce araç kurulum kılavuzunu tamamlayın.

Önce platform eğitimini okuyun. Sunucu, tarayıcı veya telefon isteklerini yanıtlayan uygulama işlemidir. Web, apps/web/.env.local'yi okur, Expo, apps/mobile/.env.local'yi okur ve veritabanı geçiş komutları root .env'yi okur. Veritabanı olmayan/gösterge paneli gösterimi, Postgres'nin taşınmasını gerektiren gerçek/auth hesaplarından ayrıdır. Yalnızca telefona veya masaüstüne yönelik bir ödeme, ayrı olarak çalışan bir Web arka ucuna ihtiyaç duyar.

[Araçları yükleyin ve kodu alın](https://supastack.dev/tr/docs/web/before-you-start.md)

[Komutları, dosyaları ve yapılandırmayı öğrenin](https://supastack.dev/tr/docs/web/terminal-basics.md)

[Web'de ilk çalıştırma eğitimini tamamlayın](https://supastack.dev/tr/docs/web/ship-in-5-minutes.md)

```
corepack pnpm --filter @supastack/web dev
```


## Kurulum ve yapılandırma

packages/i18n, locale kümesine ve çözümleme sözleşmesine sahiptir: SUPPORTED_LOCALES, DEFAULT_LOCALE, LOCALE_COOKIE, isAppLocale, resolveLocale, localePath ve getDictionary. Web rotaları, mobil dizgiler ve işlemsel posta aynı paket üzerinden okur.

Çözümleme sırası yol öneki → çerez → Accept-Language → varsayılan şeklindedir. localePath(locale, path) kanonik href üretir — varsayılan locale için öneksiz, aksi halde /{locale}/… — ve proxy katmanı bunu zorlar.

```
import { getDictionary, localePath, resolveLocale } from "@supastack/i18n";

const locale = resolveLocale([pathLocale, cookie, acceptLanguage]);
const copy = getDictionary(locale).marketing;
```


## Uygulama iş akışı

Kullanıcıya görünen bir dizgiyi önce sözlük tiplerine, sonra her locale'e ekleyin — çeviri bütünlüğü paketi eksik anahtarlarda ve çevrilmemiş İngilizce metinde başarısız olur.

Ürün mantığını asla locale'e göre dallandırmayın; sözlükler sunumdur. Tarihleri, sayıları ve çoğulları dize şablonları yerine çözümlenmiş locale ile Intl API'leri üzerinden biçimlendirin.


## Doğrulama ve sorun giderme

Anahtarlara dokunduktan sonra i18n paket testleri ile site-content bütünlük paketini çalıştırın. Locale önekli bir rotayı, dil değiştiriciyi ve çerez temizlenmiş halde Accept-Language algılamasını puntoda kontrol edin.


## Sonraki

[Çalışma alanları](https://supastack.dev/tr/docs/modules/workspaces.md)
