提问人:johnnyjohn 提问时间:10/10/2023 更新时间:10/10/2023 访问量:33
Nextjs 路由没有前缀 Spree Commerce
Nextjs routing without prefixes Spree Commerce
问:
我是Next.js的新手,我想从WordPress/WPML/Woocommerce网站复制永久链接结构,该网站以英语为默认语言(没有“en”前缀)和其他语言:德语,法语,西班牙语等。我正在使用基于 spree_starter 的 Spree Commerce 4.6 和 spree_reviews 等扩展 gem。
原始站点上的永久链接结构如下:
// Homepage:
example.com/
example.com/de/
example.com/fr/
// Page:
/about/
/de/uber/
/fr/a-propos-de-nous/
// Sub-Page:
/about/contact-us/
/de/uber/kontakt/
/fr/a-propos-de-nous/contact/
// Wordpress Blog archive:
/blog/
/de/blog/
/fr/blog/
// Wordpress Blog single post:
/blog/meet-sarah-our-newest-ambassador/
/de/blog/treffen-sie-sarah-unsere-neueste-botschafterin/
/fr/blog/rencontrer-sarah-notre-nouvelle-ambassadrice/
// Woocommerce product category page:
/women/
/de/damen/
/fr/femmes/
// Woocommerce product sub-category page:
/women/shirts/
/de/damen/shirts/
/fr/femmes/chemises/
// Woocommerce product page:
/green-blouse-shirt/
/de/grunes-blusenshirt/
/fr/chemise-chemisier-verte/
// Wordpress custom post type archive [fashion-guides]:
/fashion-guides/
/de/mode-blog/
/fr/guides-de-mode/
// Wordpress custom post type single post [fashion-guides]:
/fashion-guides/plus-size-fashion-trends-in-2023/
/de/mode-blog/modetrends-in-ubergrossen-im-jahr-2023/
/fr/guides-de-mode/tendances-mode-grandes tailles-en-2023/
我一直在研究 exportPathMap 和 nextjs.org 和这里的路由文档,但之前似乎没有人发布过这样的请求/问题。
提前感谢您的帮助!
答:
0赞
Tiarnan
10/10/2023
#1
使用 Next.js,您可以使用 next-translation 插件 + i18n API。看看这个: https://github.com/aralroca/next-translate
通过创建配置文件,可以指定命名空间所需的每个页面。
下面是一个包含英语和法语的配置文件示例。
i18n.json
{
"locales": ["en", "fr"],
"defaultLocale": "en",
"localeDetection": true,
"pages": {
"*": ["common"],
"/gallery": ["common"],
"/shop": ["common"],
"/about": ["common"],
"/contact": ["common"]
}
}
Next-translate 确保每个页面的命名空间都与当前语言相同。
评论