我正在使用Next.js i18n-routing来设置多语言网站。这工作完美。如果我在/pages/about.js
中创建一个文件,这将根据我的区域设置创建URL,例如:
- EN ->
/about
- DE ->
/de/about
- ES ->
/es/about
这一切都很好。
如果我想有一个翻译的URL路由每种语言?我被困在如何设置这个…
- EN ->
/about
- DE ->
/de/uber-uns
- ES ->
/es/nosotros
?
我正在使用Next.js i18n-routing来设置多语言网站。这工作完美。如果我在/pages/about.js
中创建一个文件,这将根据我的区域设置创建URL,例如:
/about
/de/about
/es/about
这一切都很好。
如果我想有一个翻译的URL路由每种语言?我被困在如何设置这个…
/about
/de/uber-uns
/es/nosotros
?
2条答案
按热度按时间knsnq2tg1#
您可以通过在
next.config.js
文件中利用rewrites
来实现已转换的URL路由。此外,如果您希望在客户端导航期间保持一致的路由行为,可以围绕
next/link
组件创建一个 Package 器,以确保显示转换后的URL。然后在代码中使用
TranslatedLink
而不是next/link
。请注意,您可以重用
pathTranslations
对象来在next.config.js
中动态生成rewrites
数组,并为转换后的URL提供单一的真实值来源。vlju58qv2#
对于更可扩展的解决方案,请检查此软件包:https://www.npmjs.com/package/next-translate-routes
有了这个,你可以为你的主url和翻译保留一个json文件,并且还有一个组件可以使i18n链接更容易