Мое мнение, возможно, заключается в том, чтобы попытаться явно загрузить определения маршрутов для каждого языка в вашем global.asax.
const string DEFAULT_LANGUAGE = "en";
rout.MapRoute ("Product_EN", "en / Product / {action}", new {controller = "Product", action = "Index"});
rout.MapRoute ("Product_FR", "fr / Produit / {action}", new {controller = "Product", action = "Index"});
rout.MapRoute ("Product_ES", "es / Produto / {action}", new {controller = "Product", action = "Index"});
route.MapRoute ("По умолчанию", "{language} / {controller} / {action} / {id}", new {language = DEFAULT_LANGUAGE, controller = "Home", action = "Index", id = " «});
Примечание: это пример, вы должны получить переведенные имена из глобальных ресурсов.
Но тогда мы вынуждены ссылаться на правильное имя маршрута в ваших представлениях, чтобы использовать RouteActions. В любом случае, это немного обходное решение, но оно позволяет вам переводить URL на ваш сайт, например:
www.mysite.com / Produit / afficher
www.mysite.com/product/show
...
Надеюсь, это поможет,
Приветствия
Fred.