Sorunuzu sorun ve bu sayfaya ve seçtiğiniz AI sağlayıcısına referans vererek belgenin bir özetini alın
Sürüm Geçmişi
- "Solid useIntlayer API kullanımını doğrudan özellik erişimine güncelle"v8.9.004.05.2026
- "Tanstack Start Solid.js için eklendi"v8.5.125.03.2026
Bu sayfanın içeriği bir yapay zeka kullanılarak çevrildi.
Orijinal içeriğin İngilizce son sürümünü görüntüleyinBu dokümantasyonu geliştirmek için bir fikriniz varsa, lütfen GitHub'da bir çekme isteği göndererek katkıda bulunmaktan çekinmeyin.
Dokümantasyon için GitHub bağlantısıBelge Markdown'ını panoya kopyala
Intlayer Kullanarak Tanstack Start + Solid.js Web Sitenizi Çevirin | Uluslararasılaştırma (i18n)
İçindekiler
Bu kılavuz, Solid.js içeren Tanstack Start projelerinde sorunsuz uluslararasılaştırma, yerel ayara duyarlı yönlendirme, TypeScript desteği ve modern geliştirme uygulamaları için Intlayer'ı nasıl entegre edeceğinizi gösterir.
Neden alternatifler yerine Intlayer?
'React-i18next' veya 'i18next' gibi ana çözümlerle karşılaştırıldığında Intlayer, aşağıdaki gibi entegre optimizasyonlarla gelen bir çözümdür:
Intlayer, çok dilli yönlendirme, site haritası ve uluslararasılaştırmayı (i18n) ölçeklendirmek için gereken tüm özellikleri sunarak TanStack Start ve Solid ile mükemmel çalışacak şekilde optimize edilmiştir.
Sayfalarınıza çok büyük JSON dosyaları yüklemek yerine yalnızca gerekli içeriği yükleyin. Intlayer bundle ve sayfa boyutlarınızı %50'ye kadar azaltmanıza yardımcı olur.
Uygulamanızın içeriğinin kapsamını belirlemek, büyük ölçekli uygulamalar için bakımı kolaylaştırır. İçerik kod tabanınızın tamamını gözden geçirmenin zihinsel yükü olmadan, tek bir özellik klasörünü çoğaltabilir veya silebilirsiniz. Ayrıca Intlayer, içeriğinizin doğruluğunu sağlamak için tamamen tiplendirilmiş (fully typed)tır.
İçeriğin bir arada konumlandırılması Büyük Dil Modellerinin (LLM'ler) ihtiyaç duyduğu bağlamı azaltır. Intlayer ayrıca eksik çevirileri test etmek için CLI gibi bir araç paketiyle birlikte gelirLSP, MCP ve aracı becerileri, geliştirici deneyimini (DX) yapay zeka için daha da sorunsuz hale getirmek için ajanlar.
Maliyeti AI sağlayıcınıza ait olmak üzere seçtiğiniz LLM'yi kullanarak CI/CD işlem hattınızda çeviri yapmak için otomasyonu kullanın. Intlayer ayrıca içerik çıkarmayı otomatikleştirmek için bir derleyici ve arka planda çeviri yapmaya yardımcı olacak bir web platformu sunar.
Büyük JSON dosyalarını bileşenlere bağlamak performans ve tepkime sorunlarına yol açabilir. Intlayer, içerik yüklemenizi derleme sırasında optimize eder.
Bir i18n çözümünden çok daha fazlası olan Intlayer, kendi kendine barındırılan bir görsel düzenleyici ve tam CMS çok dilli içeriğinizi gerçek zamanlı olarak yönetmenize yardımcı olarak çevirmenler, metin yazarları ve diğer ekip üyeleriyle işbirliğini kusursuz hale getirir. İçerik yerel olarak ve/veya uzaktan depolanabilir.
Tanstack Start Uygulamasında Intlayer Kurulumu İçin Adım Adım Kılavuz
GitHub'daki Uygulama Şablonuna göz atın.
Proje Oluşturma
Öncelikle, TanStack Start web sitesindeki Yeni Proje Başlat kılavuzunu izleyerek yeni bir TanStack Start projesi oluşturun.
Intlayer Paketlerini Kurun
Tercih ettiğiniz paket yöneticisini kullanarak gerekli paketleri kurun:
bashKodu kopyalaKodu panoya kopyala
intlayer
Yapılandırma yönetimi, çeviri, içerik bildirimi, dönüştürme ve CLI komutları için uluslararasılaştırma araçları sağlayan temel paket.
solid-intlayer Intlayer'ı Solid uygulamasına entegre eden paket. Solid uluslararasılaştırması için bağlam sağlayıcıları (context providers) ve hook'lar sunar.
vite-intlayer Intlayer'ı Vite paketleyici ile entegre etmek için Vite eklentisini ve kullanıcının tercih ettiği yerel ayarı algılamak, çerezleri yönetmek ve URL yönlendirmesini işlemek için ara yazılımı (middleware) içerir.
Projenizin Yapılandırılması
Uygulamanızın dillerini ayarlamak için bir yapılandırma dosyası oluşturun:
intlayer.config.tsKodu kopyalaKodu panoya kopyala
Bu yapılandırma dosyası aracılığıyla, yerelleştirilmiş URL'leri, ara yazılım yönlendirmesini, çerez adlarını, içerik bildirimlerinizin konumunu ve uzantısını yapılandırabilir, konsoldaki Intlayer günlüklerini devre dışı bırakabilir ve daha fazlasını yapabilirsiniz. Kullanılabilir parametrelerin tam listesi için yapılandırma dokümantasyonuna bakın.
Intlayer'ı Vite Yapılandırmanıza Entegre Edin
Bite yapılandırmanıza intlayer eklentisini ekleyin:
vite.config.tsKodu kopyalaKodu panoya kopyala
intlayer()Vite eklentisi, Intlayer'ı Vite ile entegre etmek için kullanılır. İçerik bildirim dosyalarının oluşturulmasını sağlar ve geliştirme modunda bunları izler. Vite uygulaması içinde Intlayer ortam değişkenlerini tanımlar. Ayrıca, performans yükünü azaltmak için takma adlar (aliases) sağlar.Kök Düzeni (Root Layout) Oluşturma
Geçerli yerel ayarı algılamak için
useParamskullanarak vehtmletiketindelangvedirözelliklerini ayarlayarak kök düzeninizi uluslararasılaştırmayı destekleyecek şekilde yapılandırın.src/routes/__root.tsxKodu kopyalaKodu panoya kopyala
Yerel Ayar Düzeni Oluşturma
Yerel ayar önekini işleyen ve doğrulama gerçekleştiren bir düzen oluşturun. Bu düzen, yalnızca geçerli yerel ayarların işlenmesini sağlayacaktır.
Rota düzeyinde yerel ayar önekini doğrulamanız gerekmiyorsa bu adım isteğe bağlıdır.
src/routes/{-$locale}/route.tsxKodu kopyalaKodu panoya kopyala
Burada,
{-$locale}geçerli yerel ayarla değiştirilen dinamik bir rota parametresidir. Bu gösterim, bu slotu isteğe bağlı hale getirerek'prefix-no-default'vb. yönlendirme modlarıyla çalışmasına olanak tanır.Aynı rotada birden fazla dinamik segment kullanırsanız bu slotun sorunlara neden olabileceğini unutmayın (ör:
/{-$locale}/other-path/$anotherDynamicPath/...).'prefix-all'modu için slotu$localeolarak değiştirmeyi tercih edebilirsiniz.'no-prefix'veya'search-params'modu için slotu tamamen kaldırabilirsiniz.İçeriğinizi Bildirin
Çevirileri depolamak için içerik bildirimlerinizi oluşturun ve yönetin:
src/contents/page.content.tsKodu kopyalaKodu panoya kopyala
İçerik bildirimleriniz,
contentDirdizinine (varsayılan olarak./app) dahil edildiği sürece uygulamanızın herhangi bir yerinde tanımlanabilir. Ve içerik bildirimi dosya uzantısıyla (varsayılan olarak.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}) eşleşmelidir.Daha fazla ayrıntı için içerik bildirimi dokümantasyonuna bakın.
Yerel Ayara Duyarlı Bileşenleri ve Hook'ları Kullanın
Yerel ayara duyarlı navigasyon için bir
LocalizedLinkbileşeni oluşturun:src/components/LocalizedLink.tsxKodu kopyalaKodu panoya kopyala
Bu bileşen iki amaca hizmet eder:
- URL'den gereksiz
{-$locale}önekini kaldırmak. - Kullanıcının doğrudan yerelleştirilmiş rotaya yönlendirilmesini sağlamak için yerel ayar parametresini URL'ye enjekte etmek.
Ardından, programatik navigasyon için bir
useLocalizedNavigatehook'u oluşturabiliriz:src/hooks/useLocalizedNavigate.tsxKodu kopyalaKodu panoya kopyala
- URL'den gereksiz
Sayfalarınızda Intlayer'ı Kullanın
Uygulamanız genelinde içerik sözlüklerinize erişin:
Yerelleştirilmiş Ana Sayfa
src/routes/{-$locale}/index.tsxKodu kopyalaKodu panoya kopyala
İçeriğinizi bir
stringniteliğinde kullanmak istiyorsanız,alt,title,href,aria-labelvb. gibi, fonksiyonun değerini çağırmanız gerekir:htmlKodu kopyalaKodu panoya kopyala
Solid'de,
useIntlayerreaktif içerik döndürür (örneğin,content). Özelliklerine doğrudan erişebilirsiniz.useIntlayerhook'u hakkında daha fazla bilgi edinmek için dokümantasyona bakın.Yerel Ayar Değiştirici Bileşeni Oluşturma
Kullanıcıların dilleri değiştirmesine olanak tanıyan bir bileşen oluşturun:
src/components/LocaleSwitcher.tsxKodu kopyalaKodu panoya kopyala
Solid'de,
useLocaledan gelenlocalebir signal accessor'dur. Reaktif olarak geçerli değerini okumak içinlocale()(parantezli) kullanın.useLocalehook'u hakkında daha fazla bilgi edinmek için dokümantasyona bakın.HTML Özniteliklerinin Yönetimi
Adım 5'te görüldüğü gibi, kök bileşeninizde
useParamskullanarakhtmletiketininlangvedirözniteliklerini yönetebilirsiniz. Bu, hem sunucuda hem de istemcide doğru özniteliklerin ayarlanmasını sağlar.src/routes/__root.tsxKodu kopyalaKodu panoya kopyala
Ara Yazılım Ekleme
Uygulamanıza sunucu tarafı yönlendirmesi eklemek için
intlayerProxyyi de kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılayacak ve uygun yerel ayar çerezini ayarlayacaktır. Herhangi bir yerel ayar belirtilmemişse, eklenti kullanıcının tarayıcı dili tercihlerine göre en uygun yerel ayarı belirleyecektir. Hiçbir yerel ayar algılanmazsa varsayılan yerel ayara yönlendirecektir.Üretimde
intlayerProxyyi kullanmak içinvite-intlayerpaketinidevDependenciesdandependenciese taşımanız gerektiğini unutmayın.vite.config.tsKodu kopyalaKodu panoya kopyala
Meta Verilerinizi Uluslararasılaştırın
Yerel ayara duyarlı meta veriler için
headyükleyicisi içindeki içerik sözlüklerinize erişmek içingetIntlayerfonksiyonunu da kullanabilirsiniz:src/routes/{-$locale}/index.tsxKodu kopyalaKodu panoya kopyala
Sunucu aksiyonlarınızda yerel ayarı alın
Sunucu aksiyonlarınızın veya API uç noktalarınızın içinden geçerli yerel ayara erişmek isteyebilirsiniz. Bunu
intlayerdangetLocaleyardımcısını kullanarak yapabilirsiniz.İşte TanStack Start'ın sunucu fonksiyonlarını kullanan bir örnek:
src/routes/{-$locale}/index.tsxKodu kopyalaKodu panoya kopyala
Bulunamayan sayfaları yönetme
Bir kullanıcı var olmayan bir sayfayı ziyaret ettiğinde, özel bir bulunamadı sayfası görüntüleyebilirsiniz ve yerel ayar öneki bulunamadı sayfasının tetiklenme şeklini etkileyebilir.
TanStack Router'ın yerel ayar önekleriyle 404 işlemesini anlama
TanStack Router'da, yerelleştirilmiş rotalarla 404 sayfalarını işlemek çok katmanlı bir yaklaşım gerektirir:
- Özel 404 rotası: 404 kullanıcı arabirimini görüntülemek için belirli bir rota
- Rota düzeyinde doğrulama: Yerel ayar öneklerini doğrular ve geçersiz olanları 404'e yönlendirir
- Catch-all rotası: Yerel ayar segmentindeki eşleşmeyen tüm yolları yakalar
src/routes/{-$locale}/404.tsxKodu kopyalaKodu panoya kopyala
src/routes/{-$locale}/route.tsxKodu kopyalaKodu panoya kopyala
src/routes/{-$locale}/$.tsxKodu kopyalaKodu panoya kopyala
Bileşenlerinizden içeriği çıkartın
İsteğe bağlıMevcut bir kod tabanınız varsa, binlerce dosyayı dönüştürmek zaman alıcı olabilir.
Bu süreci kolaylaştırmak için Intlayer, bileşenlerinizi dönüştürmek ve içeriği çıkartmak için bir derleyici / çıkartıcı önerir.
Kurulumu yapmak için
intlayer.config.tsdosyanıza bircompilerbölümü ekleyebilirsiniz:intlayer.config.tsKodu kopyalaKodu panoya kopyala
import { type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { // ... Yapılandırmanızın geri kalanı compiler: { /** * Derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir. */ enabled: true, /** * Çıkış dosyaları yolunu tanımlar */ output: ({ fileName, extension }) => `./${fileName}${extension}`, /** * Dönüştürüldükten sonra bileşenlerin kaydedilip kaydedilmeyeceğini belirtir. * * - `true` ise, derleyici diskteki bileşen dosyasını yeniden yazacaktır. Böylece dönüşüm kalıcı olacak ve derleyici bir sonraki işlem için dönüşümü atlayacaktır. Bu şekilde, derleyici uygulamayı dönüştürebilir ve ardından kaldırılabilir. * * - `false` ise, derleyici `useIntlayer()` fonksiyon çağrısını yalnızca derleme çıktısındaki koda enjekte ederek temel kod tabanını olduğu gibi tutacaktır. Dönüşüm yalnızca bellekte yapılacaktır. */ saveComponents: false, /** * Sözlük anahtarı öneki */ dictionaryKeyPrefix: "", }, }; export default config;Bileşenlerinizi dönüştürmek ve içeriği çıkartmak için çıkartıcıyı çalıştırın
bashKodu kopyalaKodu panoya kopyala
TypeScript'i Yapılandırın
Intlayer, TypeScript'in avantajlarından yararlanmak ve kod tabanınızı daha güçlü hale getirmek için modül genişletme (module augmentation) kullanır.
TypeScript yapılandırmanızın otomatik olarak oluşturulan türleri içerdiğinden emin olun:
tsconfig.jsonKodu kopyalaKodu panoya kopyala
Git Yapılandırması
Intlayer tarafından oluşturulan dosyaların yoksayılması önerilir. Bu, bunları Git deponuza göndermenizi engeller.
Bunu yapmak için .gitignore dosyanıza aşağıdaki talimatları ekleyebilirsiniz:
Kodu panoya kopyala
VS Code Uzantısı
Intlayer ile geliştirme deneyiminizi iyileştirmek için resmi Intlayer VS Code Uzantısını yükleyebilirsiniz.
Bu uzantı şunları sunar:
- Çeviri anahtarları için Otomatik Tamamlama.
- Eksik çeviriler için Gerçek zamanlı hata tespiti.
- Çevrilmiş içeriğin Satır içi önizlemeleri.
- Çevirileri kolayca oluşturmak ve güncellemek için Hızlı eylemler.
Uzantının nasıl kullanılacağı hakkında daha fazla ayrıntı için Intlayer VS Code Uzantısı dokümantasyonuna bakın.
Daha İleri Gitmek
Daha ileri gitmek için görsel düzenleyiciyi uygulayabilir veya CMS kullanarak içeriğinizi dışsallaştırabilirsiniz.