nuxt-modules / i18n

I18n module for Nuxt
https://i18n.nuxtjs.org
MIT License
1.74k stars 480 forks source link

Add one more way to define custom routes. 'named-config' #2407

Open tirojal opened 1 year ago

tirojal commented 1 year ago

Describe the feature

I have a project that heavily relies on several modules injecting pages. It is used to create websites for different countries by feeding country-config into nuxt-config. As a result, each module may inject a different set of pages based on the configuration.

Currently, I have found no way to define custom routes for pages injected through modules. I cannot use customRoutes: 'page' because it would require modifying all modules whenever we release the website for a new country. Also, I cannot use customRoutes: 'config' since it cannot resolve AnalyzedNuxtPageMeta for injected pages.

I wrote some details in discussions few days ago: https://github.com/nuxt-modules/i18n/discussions/2398

I'd like to have an ability to define customRoutes based on route name instead of fs-like path. So next 2 blocks will give same result:

i18n: {
  customRoutes: 'config',
  pages: {
    'my/[param]/page': {
      en: 'my/[param]/page',
      de: 'mein/[param]/seite'
    }
  }
}
i18n: {
  customRoutes: 'named-config',
  pages: {
    'my-param-page': { 
      en: 'my/:param()/page',
      de: 'mein/:param()/seite'
    }
  }
}

Additional information

Final checks

kazupon commented 1 year ago

Thank you for your reporting!

I've just put the my opinion for your proposal. https://github.com/nuxt-modules/i18n/discussions/2398#discussioncomment-6997864

lateek35 commented 4 months ago

Also having issue to use custom routes for pages injected trough module. Is there any workaround ATM ?