gpt4 book ai didi

reactjs - 单击 Next.js 中的链接时如何强制 URL 中的默认语言环境

转载 作者:行者123 更新时间:2023-12-04 17:20:16 25 4
gpt4 key购买 nike

出于 SEO 的目的,我需要将英语设置为默认语言 -> mynextapp.com/当用户进入网站时,他/她可以选择英文或法文,如果选择英文,网址将变为 mynextapp.com/en , 如果选择法语 -> mynextapp.com/fr
目前我正在使用 Next - i18n 中的内置选项:

i18n: {
locales: ['en', 'fr'],
defaultLocale: 'en',
},
但这使我只能将英语作为默认路径 = mynextapp.com/
语言切换器:
    <Link
href="/"
locale={router.locale === 'en' ? 'fr' : 'en'}
>
<a>Switch</a>
</Link>
有没有办法在不同的网址下处理相同的语言?这样当您在语言切换器中单击“en”时,url 路径应该是 myapp.com/en。

最佳答案

要强制默认语言将区域设置添加到 URL,您可以将其传递给 href直接,并通过设置 locale 选择退出自动处理区域设置前缀至 false .

<Link href={`/${router.locale === 'en' ? 'fr' : 'en'}`} locale={false}>
<a>Switch</a>
</Link>
如果你想要所有的 Link s 以这种方式行事,并强制在 URL 上使用默认语言环境,需要应用相同的逻辑。
假设您有一个指向 /about 的链接页面,它将如下所示。
<Link href={`/${router.locale}/about`} locale={false}>
<a>About Page</a>
</Link>

如果使用 next/router要进行路由,也可以应用相同的逻辑。
router.push(`/${router.locale}/about`, undefined, { locale: false });

关于reactjs - 单击 Next.js 中的链接时如何强制 URL 中的默认语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66615874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com