You can set the parameter in web.config on linkprovider
<add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" addAspxExtension="false" alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="Always" languageLocation="filePath" lowercaseUrls="false" shortenUrls="true" useDisplayName="false" />
or install it on your UrlOption
Sitecore.Links.UrlOptions urlOptions = UrlOptions.DefaultOptions; urlOptions.LanguageEmbedding = LanguageEmbedding.Always; // Fetch the start item from Site definition var startItem = Sitecore.Context.Database.GetItem(Sitecore.Context.Site.ContentStartPath); var url = Sitecore.Links.LinkManager.GetItemUrl(startItem, urlOptions);
Also always use UrlOptions.DefaultOptions to copy the current settings from linkmanager options
source share