Universal homepage and language sub-homepages

I need to create the following structure in a multilingual site:

Home – Home EN
– Home DE
– Home FR

How do I set this up so that the default root page is that universal Home (www.domain.com) and from there one is given a choice to go to any of the language Homepages (i.e. www.domain.com/de)?

With a standard multi-language setup, where the default language is set to /(without the locale).

To enable the user to change language, you can use a language switcher navigation.

Problem is though that when I go to /en, for instance, I need a EN language homepage that is different from that universal (let’s call it Startpage). If I configure / to point to English (en), I get an error for it not being able to redirect the EN locale to the /en Home.

Or, let me put this in a different way:
I need a startpage in english and from there there will be links to the different /en, /de, /fr homepage language versions. I hope this makes sense.

Hm, if I get this right, you want an additional “universal English language” homepage and then three language specific homepages (again EN, then FR and DE).

But then you would have to define a fourth universal language, whatever you call that. And how would you expect this language variant to behave for subpages? You would then always have four languages for all pages

The start page is a “dispatcher” of sorts, the language should be English but could be any. The important part is to have a url structure that allocates /de, /en, /fr, etc. for the homepages of all the languages.

If we take / as the default homepage (in English) there will be no /en in the folder structure further down, if I understand this right?

Thank you for the thoughts and for trying to help, btw.

Yes, exactly. If you allocate the / to English, you can’t have a second English site with the locale string, unless you use two variants of English or something like this:

c::set('languages', array(
    'code'    => 'uni',
    'name'    => 'Universal',
    'default' => true,
    'locale'  => 'uni',
    'url'     => '/',
    'code'    => 'de',
    'name'    => 'Deutsch',
    'locale'  => 'de_DE',
    'url'     => '/de',
    'code'    => 'en',
    'name'    => 'English',
    'locale'  => 'en_US',
    'url'     => '/en',

I don’t know what you want to do with this universal page if you have subpages though, but this could possible be handled with some routes, depending on use case.

Hi there and thanks for the input!
I spoke with my colleague and we shall drop the root start page and stick to a default language. No need to try to turn the cart upside-down.
This said, the idea you suggest above is interesting and I have to ask if one can actually use a non-existent “language” like you did? This could be an interesting work-around. Trouble is, it will lead to double content down the tree, so in practice it is not… um… practical.

I don’t see any reason why that shouldn’t be possible.

Yes, if all you need is the homepage, that is probably not the best solution. You would have to use routes for the frontend to prevent access to this superfluous language and lock the Panel to prevent users adding content to the universal language. Doable, but maybe unnecessary.

Thanks a lot for the tips and thoughts! I think we shall simplify things and skip this whole thing. I even thought of routing folders (for url-structure reasons) but will go with placing subfolders one level up instead, only to avoid complexity. No need to create difficult structures, esp. with a multi-lingual site, which will then make content handling and linking a pain.