Changing language without going to root

You’d have to resolve the correct link for each channel and pass it to the front-end.

Keep in mind that the PageModel for categories and product pages will always be the start page, but you can work around that by for example injecting CategoryModel and ProductModel.

Here are some perhaps helpful threads: