---
title: Diller
description: >-
  Astro i18n, dil klasörleri, dil değiştirici, hreflang etiketleri ve AI
  çevirisi.
---
Gitupcms, Astro'nun `i18n` ayarını kullanır. Bu ayarı Configure site → **Languages** bölümünden düzenleyebilirsiniz.

## Dilleri açma [#turning-languages-on]

- Bir koleksiyonda **Enable** seçeneğini açtığınızda, koleksiyondaki girdiler aynı commit içinde `<base>/<defaultLocale>/` klasörüne taşınır. Desen `**/…` olur, böylece Astro girdileri yüklemeye devam eder (girdi kimlikleri değişir).
- `i18n` ayarı olmayan bir repoda Gitupcms, Astro'nun dil klasörlerini (`src/pages/de/`, `src/content/blog/de/`) bulur ve bunları dil olarak önerir. Klasörü olmayan varsayılan dilin `en` olduğu varsayılır.

## Dil kiti [#language-kit]

Languages → **Add a language switcher and hreflang tags** seçeneği, `src/components/i18n/` klasörüne iki bileşen kopyalar:

```astro src/layouts/Base.astro
---
import { Hreflang, LanguageSwitcher } from "../components/i18n";
---
<html lang={Astro.currentLocale}>
  <head>
    <Hreflang />
  </head>
  <body>
    <LanguageSwitcher />
    <slot />
  </body>
</html>
```

Kurulum, henüz hreflang yazmayan layout'larda `</head>` etiketinden önce `<Hreflang />` ekler, `<html lang>` değerinin `Astro.currentLocale` ile eşleşmesini sağlar ve `{/* gitupcms:language-switcher */}…{/* /gitupcms:language-switcher */}` yer tutucusunu dil değiştiriciyle değiştirir.

- İki bileşen de `astro:config/client` (Astro 5.7+) üzerine kuruludur, bu yüzden Languages ayarlarınıza uyar.
- Hreflang yalnızca sayfa dosyası bulunan dilleri listeler. Sayfanın kendisine işaret eden etiketi, karşılıklı dönüş etiketlerini ve `x-default` etiketini de ekler. Çalışması için `site` ayarı gerekir.
- Diğer diller için Astro'nun `fallback` özelliği varsayılan dile yönlendirir, böylece dil değiştirici bağlantıları hiçbir zaman 404 vermez.

## Şablonlar [#templates]

astro.config dosyasında `i18n.locales` listesi bulunan bir şablon, site oluştururken yalnızca bu dilleri sunar. Yeni sitede yalnızca seçtiğiniz diller kalır: diğer `src/content/<collection>/<locale>/` klasörleri ile `<locale>.json` dosyaları silinir ve `i18n` ayarı yeniden yazılır.

## AI çevirisi [#ai-translation]

AI Editor'da veya Pages'te bir değişikliği kaydettiğinizde, bu değişikliği diğer dillere çevirtebilirsiniz.

:::warning[Sınırlar]
25 dile çeviri 24 AI çağrısı yapar ve 1–3 dakika sürebilir. Elle düzenlediğiniz çevirilerin üzerine yazılır. Her dilde farklı adı olan dosyalar ve doğrudan `.astro` dosyalarına yazılmış metinler atlanır.
:::
