Çeviri Metinleri
Bu belge içerik metinlerinin nasıl yönetildiğini anlatır: menü, footer, sayfa başlıkları.
Sistem i18n (locale routing, hreflang) Çoklu Dil Kullanımı rehberindedir.
ls() Ve t() (Kısa Hatırlatma)
Section titled “ls() Ve t() (Kısa Hatırlatma)”| Fonksiyon | Ne zaman |
|---|---|
ls(en, tr, de, fr) | Metin tanımı — dört dil tek satırda |
t(obj, locale) | Astro/TS içinde o anki dilde string |
import { ls, t } from '@/i18n/utils';
const heading = ls('Home', 'Ana Sayfa', 'Startseite', 'Accueil');// kullanım: t(heading, locale)Her ls dörtlüsü tam olmalı.
common.ts — Site Geneli Metinler
Section titled “common.ts — Site Geneli Metinler”Dosya: src/i18n/common.ts
| Alan | Kullanıldığı yer |
|---|---|
common.nav.* | Kısa üst bağlantılar (home, blog, fixUi etiketleri) ve mobil yardım metinleri |
common.headerNav.* | Mega menü sekmeleri ve alt link başlıkları (4 dil) |
common.footer.* | Footer sütun başlıkları, link etiketleri, disclaimer |
common.blog.* | Blog liste ve boş durum metinleri |
Üst menü href’leri routes.ts → sitePages ile tanımlanır; menü ağacında sitePageMenuLink('pageId', etiket) kullanılır — Header, Navbar ve Mobil Menü.
i18n/pages/home.ts — Sayfaya Özel Copy
Section titled “i18n/pages/home.ts — Sayfaya Özel Copy”Ana sayfa metinleri:
Dosya: src/i18n/pages/home.ts
Örnek alanlar:
metaTitle,metaDescription—BaseLayoutSEOheading,lead— hero bölümü- CTA ve bölüm metinleri
Bileşen: HomePage.astro → t(homePage.heading, locale) vb.
Yeni Sayfa Metni Nereye?
Section titled “Yeni Sayfa Metni Nereye?”| Senaryo | Tercih |
|---|---|
| Tam sayfa (Home, Hakkımızda vb.) | Yeni src/i18n/pages/ornek.ts |
| Çok kısa tek sayfa | Nadiren bileşen içi copy — büyüyünce pages/*.ts’e taşıyın |
export const ornekPage = { metaTitle: ls('About — Falcon', 'Hakkımızda — Falcon', …), heading: ls('About', 'Hakkımızda', …),} as const;URL Slug (routes.ts)
Section titled “URL Slug (routes.ts)”Metin çevirisi routes.ts ile karıştırılmaz.
Örnek: sitePages.home → / ve /tr/ aynı pageId. Slug routes.ts’te; ekran metni i18n/pages veya common.ts’te.
Dört Dil Zorunluluğu
Section titled “Dört Dil Zorunluluğu”- Her yeni
ls(...)satırında dört string - Yeni menü etiketi →
common.headerNavveyacommon.nav+ dört dil
Ne Değiştirirse Ne Olur
Section titled “Ne Değiştirirse Ne Olur”| Değişiklik | Sonuç |
|---|---|
common.nav.blog TR metni | Menüde blog etiketi (tüm TR sayfalarında) |
homePage.heading | Yalnızca ana sayfa hero başlığı |
routes.ts TR path | URL değişir |
Yapmayın
Section titled “Yapmayın”- Footer link metnini
Footer.astroiçine hardcode etmeyin —common.footer+footer-nav.ts. - Her dil için ayrı Astro dosyasında uzun paragraf kopyalamayın — ortak bileşen +
t().
İlgili Rehberler
Section titled “İlgili Rehberler”- Çoklu Dil Kullanımı
- Sayfa Ekle / Kaldır
- Navigasyon
- Formlar (Demo) —
/fix-uidemo metinleri bileşen içinde veyacommon’da
Operasyonel çeviri: ls tanımı, t kullanımı. Ortak: common.ts. Sayfa: i18n/pages/*.ts. URL slug: routes.ts. Home canlı örnek.