文档

翻译功能

有时你需要翻译不属于 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'
);

两者都使用 id 来单独编辑文本的这种用法:

const title = await t('Save', { id: 'checkout-save' });
const translation = await translate(Language.DE, 'Save', {
id: 'checkout-save'
});