Multilingual urls

Hi,

I would like to use Dutch urls only for my Dutch pages.

My structure amongst others is as follows (I kept all in English for your readability) :slight_smile:

/nl/accommodation/_index.nl.md
/nl/accommodation/the-villa/index.md
/nl/reviews/press-reviews/_index.nl.md
/nl/reviews/press-reviews/goas-luxury-retreat/index.md

I have come across two ways of working and neither can solve my issue completely:

  1. method 1

[Languages.nl.permalinks]
accommodation = “/accommodatie/:slug/”
reviews = “/reviews/:slug/”

This works out of the box for all the sections but not for second level page bundles (in Reviews) as ideally one would like to say

reviews/press-reviews = “/reviews/press-reviews/:slug/”

  1. method 2

If I set the url in an _index.md file, the page url shows properly but that of the bundle shows up again in English thereby defeating the exercise unless I set the url in each and every file which seems too cumbersome.

As I use the page bundle method, both English and Dutch content files are in bundle folders as to enable sharing of resources (i.e. images) so keeping my Dutch and English content separate seems not like a good idea.

What is Best Practice in this case?

Hugo v0.68.3
https://github.com/ourmaninindia/summertimegoa/pull/new/testing
website url is https://summertimegoa.netlify.app/

I recommend you to read this thread Translationkey and page bundles

The OP also shared his repo, i think it’s similar with your case right now.

AFAIK, the best practice for localized url is to use translationKey method. Hugo Multilingual

Translationkey is only useful if you want to combine multiple languages in the same page which is not what I am after

The catch as I see it is that I have to make a choice:

  1. I set a contentDir to Dutch which makes urls work perfectly but then I can no longer use bundles without duplicating images
  2. I use bundles but then the url translation won’t work with second tier bundles

[Languages.nl]
languageName = “Dutch”
languageCode = “nl”
contentDir = “content/dutch”