Created a customrender controller to set which culture variant to render. ref: https://docs.umbraco.com/umbraco-cms/reference/routing/custom-controllers#replace-umbracos-default-rendercontroller
Culture is saved in cookie, if it is not set in cookie, culture is manipulated based on the user country.
_variationContextAccessor.VariationContext = new VariationContext(pageCulture); ref: https://docs.umbraco.com/umbraco-cms/reference/language-variation
This rendered expected culture content, but the url is not changed https://abc.com/ . Expectation is to get https://abc.com/nb-no possibly without a 301 redirect
public class MyRenderController : RenderController
{
public MyRenderController(ILogger logger, ICompositeViewEngine compositeViewEngine, IUmbracoContextAccessor umbracoContextAccessor)
: base(logger, compositeViewEngine, umbracoContextAccessor)
{
}
public override IActionResult Index()
{
// custom logic to set pageCulture
_variationContextAccessor.VariationContext = new VariationContext(pageCulture);
return CurrentTemplate(CurrentPage);
}
}