翻译功能
有时你需要翻译不属于 JSX 的内容,例如 Next.js 页面的元数据。createLocalizedT 返回的 t() 函数可以翻译任何字符串。
import type { Metadata } from 'next';import { createLocalizedT } from '@magic-translate/react-ssr';import { translate } from '@/lib/translate';export async function generateMetadata({params}: {params: Promise<{ locale: string }>;}): Promise<Metadata> {const { locale } = await params;const { t } = createLocalizedT(translate, locale);return {title: await t('This page title will be translated'),description: await t('And so will this description')};}
你也可以直接从设置中调用 translate 函数。它接受一种语言、要翻译的文本和一个可选的设置对象,并返回一个解析为翻译的承诺。
import { Language } from '@magic-translate/react-ssr';const translation = await translate(Language.ZH,'This sentence will be translated to Chinese');
const title = await t('Save', { id: 'checkout-save' });const translation = await translate(Language.DE, 'Save', {id: 'checkout-save'});