在Next.js中,我使用next-i18next
包进行翻译。
我所有的翻译工作正常,当我有一个页面与getServerSideProps它在我的本地开发服务器上工作,但当我把它推到生产与Vercel的页面上的翻译不工作。在页面上,我使用getStaticProps它的工作。
FYI:我在Next.js中使用页面路由器。
这是我的getServerSideProps函数:
export async function getServerSideProps({ query, locale }) {
const directus = await getDirectusClient()
const { id } = query;
const quote = await directus.items("Quotes").readOne(id, {
fields: ["*.*"],
});
if (!quote) {
return {
notFound: true,
};
}
return {
props: {
quote,
...(await serverSideTranslations(locale, ["common", "nav", "portal", "footer", "configurations"])),
},
};
}
字符串
这就是我如何调用组件中的转换
const { t } = useTranslation(["portal", "configurations", "common"]);
型
翻译:<p>{ t('quote details') }</p>
有没有人认识到这个问题并知道如何解决它?
我在另一个与getStaticProps一起工作的组件上尝试了它,并将其更改为getServerSideProps。我想知道这是否是组件的问题,但在它不工作之前正在工作的组件上,只是从翻译中呈现标签的名称:(.
1条答案
按热度按时间llew8vvj1#
遇到了同样的问题。
README中的当前设置说明没有提到配置
localePath
,但是如果您使用getServerSideProps
,则需要配置localePath
。在[本节][1]中,它微妙地提到了配置localePath
。如果您遵循了设置说明,您将希望在next-i18next.config.js
中有这样的内容:字符串
注意:
localePath
在i18n
配置之外。通常情况下,[1]:https://github.com/i18next/next-i18next#passing-other-config-options