the are ways to add the localization to you'r site map when you are using xmlSiteMapProvider
you can do that via Explicitly and Implicitly also .
<asp:textBox id="Exp" Value='<%$ Resources: Common, Textgoeshere%>'...> </asp:TextBox>
<asp:Label ID="Impl" meta:ResourceKey="sometext" ... />
You can also use Programmatically by calling to page.GetLocalResourceObject(...) or Page.GetGlobalResourceObject.
and this will control all . The menu and Sitemap can be linked to the SiteMapDataSource. we can also localized sitemapitself like that you can do this
At first Set the attribute enableLocalization="true" . Now add thje resourceKey Attribute to all the SiteMapNode element that you want to Localize.
Implicit version of Localization
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization="true">
<siteMapNode title="Root" description="Description on Link">
<siteMapNode url="~/Default.aspx" title="Index" resourceKey="Index" description="Main Page" />
<siteMapNode url="~/Update.aspx" title="Update Resource" resourceKey="Update" description="Update Record" />
You can also add the Explicit Version by adding all the resources like title,Description to the resx file by using ResourceKey Property
like Index.title and Index.Description.
now as per the Example of ResourceKey file .
in this file you can get file name could be a resourceKey + "." + Property of siteMap node. you can update that part with the following explicit expressions way
<siteMapNode url="~/Update.aspx" title="$Resources: SiteMapResourceFile, UpdatePosting" ...="" />
in this case Your resource file should be located in App_GlobalResources and that must be call ClassName.culture.resx