Çoklu Dil & Lokalizasyon • 2025
Göçebe CMS, içeriği tek bir kaynaktan üretip farklı pazarlara “göç ettiren” bir yaklaşımdır. İçerik; dil, bölge ve kanal fark etmeksizin API ile taşınır, locale-based render mantığıyla kullanıcıya en uygun varyasyon sunulur.
B10 Digital Agency • 10 Ekim 2025 • Okuma süresi: ~7 dk
Göçebe CMS Mantığı: “Tek Kaynak, Çok Çıkış”
- Single Source of Truth: İçerik tek modelde tutulur; varyasyonlar (başlık, ton, CTA) locale alanlarına ayrılır.
- Locale-based Render:
tr-TR
,en-GB
,ar-SA
gibi bölgesel ayarlara göre şablon, tarih, sayı ve para birimi formatı otomatikleşir. - Channel-agnostic: Web, mobil, kiosk ve e-posta aynı API’den beslenir.
“İçerik taşınır; şablon değişir. Göçebe CMS’in özü budur.”
Model Tasarımı: İçerik + Varyasyon + Meta
Alan | Açıklama | Örnek |
---|---|---|
baseTitle | Kaynak dil başlığı | “Kurumsal Web Stratejisi” |
variants[] | Locale varyasyonları | { locale: “en-GB”, title: “Enterprise Web Strategy”, tone: “formal” } |
seo | Meta + hreflang + canonical | hreflang setleri, locale canonical |
schema | Çok dilli JSON-LD | Article, Service, Product |
GraphQL ile Locale-Selective Sorgu
{
post(id:"123", locale:"tr-TR"){
title
slug
body
seo { metaTitle metaDescription canonical hreflangs { locale href } }
}
}
İpucu: CMS tarafında
fallbackLocale
kuralı tanımlayın (ör. az-AZ
yoksa tr-TR
’ye düş).Next.js / i18n Rota & Render
// next.config.js
module.exports = {
i18n: {
locales: ["tr","en-GB","ar"],
defaultLocale: "tr",
localeDetection: true
}
}
// sayfa (getStaticProps)
export async function getStaticProps({ params, locale }) {
const data = await fetchGraphQL({ id: params.slug, locale })
return { props: { data }, revalidate: 60 }
}
Çok Dilli Schema.org (JSON-LD)
{
"@context":"https://schema.org",
"@type":"Article",
"inLanguage":"tr-TR",
"headline":"Kurumsal Web Stratejisi",
"alternateHeadline":{
"@value":"Enterprise Web Strategy","@language":"en-GB"
},
"publisher":{"@type":"Organization","name":"B10 Digital Agency"}
}
i18n İnce İşçilik: Gerçek Lokalizasyon
- ICU MessageFormat: Çoğul kuralları (1 ürün / 2 ürün) ve cinsiyet/biçim varyasyonları.
- RTL/LTR:
dir="auto"
,:root[dir="rtl"]
ile grid/ikon yönleri. - Slug & URL: Yerelleştirilmiş slug +
hreflang
kümeleri + bölgeye özel canonical. - Para Birimi:
Intl.NumberFormat(locale, { style:'currency', currency:'TRY' })
“Çeviri ≠ Lokalizasyon. Dil değişir, bağlam ve kültür de değişir.”
Workflow: TMS + AI + İnsan Doğrulama
- TMS entegrasyonu: Lokalizasyon yönetimi (Phrase, Lokalise, Smartling).
- AI ön-çeviri: Ton ve marka rehberi ile prompt’lanmış otomatik taslak.
- Reviewer katmanı: Pazara özel hukuk/terim kontrolü, stil rehberi uyumu.
SEO & Performans Katmanı
- Hreflang doğruluğu: Her dil sürümü karşılıklı referans verir.
- Edge yönlendirme: Accept-Language’a göre öneri (otomatik değil, soft prompt banner).
- ISR & CDN: Locale bazlı önbellek anahtarları
{path}:{locale}
.
Governance: İçerik Sahipliği & Versiyonlama
Rol | Sorumluluk | Araç |
---|---|---|
Content Owner | Kaynak içeriği oluşturur | Headless CMS |
Localization Lead | Varyasyon & TMS akışını yönetir | TMS + Git |
SEO Specialist | Hreflang, canonical, schema | CI doğrulama |
B10 Yaklaşımı: Göçebe CMS modelinde içerik tek şemada tutulur, GraphQL ile locale seçilerek çekilir, Next.js’de ISR ve CDN anahtarlarıyla her ülke için hızlı dağıtım sağlanır.
İçeriğinizi dünyaya “göç ettirelim”.
B10 Digital Agency, Headless CMS + GraphQL + i18n altyapısıyla tek kaynaklı içerikleri çoklu dilde yönetilebilir ve ölçümlenebilir hale getirir.