Javascript Next.js v10内部化-getStaticProps始终返回默认语言环境
我正在尝试建立一个新的Next.js版本的项目,基于 我的Javascript Next.js v10内部化-getStaticProps始终返回默认语言环境,javascript,reactjs,internationalization,next.js,i18next,Javascript,Reactjs,Internationalization,Next.js,I18next,我正在尝试建立一个新的Next.js版本的项目,基于 我的next.config.js中有以下几行: i18n: { locales: ['de-DE', 'en-US'], defaultLocale: 'en-US', domains: [ { domain: 'mydomain.com', defaultLocale: 'en-US' }, { domain: 'mydomain
next.config.js
中有以下几行:
i18n: {
locales: ['de-DE', 'en-US'],
defaultLocale: 'en-US',
domains: [
{
domain: 'mydomain.com',
defaultLocale: 'en-US'
},
{
domain: 'mydomain.de',
defaultLocale: 'de-DE'
}
],
localeDetection: false
},
我有一个“捕获所有路线”页面,如下所示:
import React, { Fragment } from 'react';
import * as api from '../api';
import Header from '../components/Header';
import Footer from '../components/Footer';
import Sections from '../components/Sections';
function Page({ page = {} }) {
return (
<Fragment>
<Header />
<Sections {...page} />
<Footer />
</Fragment>
);
}
export async function getStaticProps(context = {}) {
const { params = {}, locale } = context;
const pathname = params.slug ? params.slug.join('/') : '/';
const page = await api.fetchPage(pathname, locale);
return {
props: {
page
},
revalidate: 1
}
}
export async function getStaticPaths() {
// this will be generated, hardcoded this pages for testing
return {
paths: [
{
params: {
slug: ['produkte']
},
locale: 'de-DE'
},
{
params: {
slug: []
},
locale: 'de-DE'
},
{
params: {
slug: ['products']
},
locale: 'en-US'
},
{
params: {
slug: []
},
locale: 'en-US'
}
],
fallback: true
};
}
import React,{Fragment}来自'React';
从“../api”导入*作为api;
从“../components/Header”导入标题;
从“../components/Footer”导入页脚;
从“../components/Sections”导入节;
函数页({Page={}}){
返回(
);
}
导出异步函数getStaticProps(上下文={}){
const{params={},locale}=context;
常量路径名=params.slug?params.slug.join(“/”):“/”;
const page=await api.fetchPage(路径名、区域设置);
返回{
道具:{
页
},
重新验证日期:1
}
}
导出异步函数getStaticPaths(){
//这将生成,硬编码此页面以供测试
返回{
路径:[
{
参数:{
鼻涕虫:['produkte']
},
地区:'de de'
},
{
参数:{
鼻涕虫:[]
},
地区:'de de'
},
{
参数:{
slug:[“产品”]
},
地点:“en US”
},
{
参数:{
鼻涕虫:[]
},
地点:“en US”
}
],
回退:正确
};
}
然而,每当我尝试在本地预览德语版本时,它都会返回英语版本,我看到在getStaticProps
中,locale的值总是en-US
。我正在尝试使用http://localhost:3000/?__nextLocale=de-DE
作为url
这里缺少什么使它正常工作
谢谢 我也有类似的问题。你在Kosmetika发现了吗?我也有类似的问题。你在Kosmetika发现了吗?