React Sunucu Bileşenleri
Magic Translate React Server Bileşenlerini tam olarak destekler. İçerik sunucuda çevrilir, böylece arama motorları ve kullanıcılar herhangi bir istemci tarafı JavaScript olmadan HTML'yi çevirir.
Kurulum
# using npmnpm i @magic-translate/react-ssr# using yarnyarn add @magic-translate/react-ssr# using pnpmpnpm add @magic-translate/react-ssr
Kurulum
Çeviri işlevini bir kez ayarlayın, örneğin lib/translate.ts 'de. API anahtarınızı bir ortam değişkeninde tutun.
import { setupT } from '@magic-translate/react-ssr';export const translate = setupT({apiKey: process.env.MAGIC_TRANSLATE_API_KEY!});
Henüz bir API anahtarınız yoksa, bir tane almak için Magic Translate 'a kaydolun.
Sunucu bileşenini çevirme
createLocalizedT translate işlevini bir dile bağlar ve <T> bileşenini ve t() işlevini döndürür. Bir Language veya de veya pt-BR gibi herhangi bir yerel ayarı kabul eder.
import { createLocalizedT } from '@magic-translate/react-ssr';import { translate } from '@/lib/translate';export default async function AboutPage() {const { T, t } = createLocalizedT(translate, 'de');return (<article><h1><T>About us</T></h1><img src="/team.jpg" alt={await t('Our team in Zurich')} /></article>);}
Her sayfa aynı çeviri işlevini paylaştığından, çeviriler tüm uygulamanızda toplu olarak toplanır ve önbelleğe alınır.
Tek bir bileşen için createServerT her şeyi tek bir çağrıda ayarlar. Sadece bu çağrı içinde önbelleğe alınır.
import { createServerT } from '@magic-translate/react-ssr';const { T } = createServerT({apiKey: process.env.MAGIC_TRANSLATE_API_KEY!,locale: 'zh'});
React SSR'nin
<T>bileşeni yalnızca React Server Bileşenlerinde çalışır. İstemci bileşenlerinde, bunun yerine React istemc isini kullanın.
Bileşen başına dili seçme
createT, dili prop olarak alan bir <T> bileşeni döndürür. Bu, dil bileşenden bileşene farklılık gösterdiğinde kullanışlıdır.
import { createT, Language } from '@magic-translate/react-ssr';import { translate } from '@/lib/translate';const T = createT(translate);const Greeting = async () => <T lang={Language.ZH}>Please translate me!</T>;
Tüm <T> bileşenleri, formality gibi istemci <T> bileşeniyle aynı seçenekleri kabul eder.
Örnek proje
Örnek bir SSR projesi GitHub 'da bulabilirsiniz.