Nextjs路由没有前缀

odopli94  于 2023-10-18  发布在  其他
关注(0)|答案(1)|浏览(95)

我是Next.js的新手,我想从一个WordPress/WPML/Woocommerce网站复制永久链接结构,该网站的默认语言是英语(没有“en”前缀)和其他语言:德语、法语、西班牙语等我使用的是基于spree_starter的Spree Commerce 4.6,带有spree_reviews等扩展宝石。
原网站上的permalink结构如下:

// 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/

我一直在nextjs.org和这里查看exportPathMap和路由文档,但似乎没有人之前发布过这样的请求/问题。
提前感谢您的帮助!

o0lyfsai

o0lyfsai1#

通过Next.js,您可以使用下一个翻译插件+i18 n 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确保每个页面只有当前语言的命名空间。

相关问题