我想翻译我的ASP.NET网站,就像微软一样。 我希望网址有/ en-EN /或/ de-DE / 问题是我的网址已经路由了网址
我该怎么做?
我找到了http://blog.maartenballiauw.be/post/2010/01/26/Translating-routes-(ASPNET-MVC-and-Webforms).aspx 但是我不想翻译所有的网址,而且这种方法在我看来太复杂了,包含了视图和控制器。
我需要mysite.com/en-EN/routedpage或mysite.com/de-DE/routedpage
答案 0 :(得分:1)
上面的例子是针对mvc的,你的网站是mvc吗?您需要设置您的网站以进行特定于文化的设置,这是一篇如何做到这一点的文章
http://www.ezzylearning.com/tutorial.aspx?tid=3477182
还有待进一步阅读
http://www.codeproject.com/Articles/7998/Creating-multilingual-websites-Part-1 和 http://www.codeproject.com/Articles/8073/Create-multilingual-web-pages-very-easily
非常容易设置
答案 1 :(得分:1)
这是一个重要问题。您希望URL具有编码的语言,以用于搜索引擎优化和可用性目的。
两种常见的解决方案是:
1)更改域名。 fr.example.com或de.example.com。然后不需要改变路线。
2)使用#作为语言代码。现在的搜索引擎会观察到这一点。那么,您需要www.example.com/#de或www.example.com/#fr
您只需将我们的javascript粘贴到您的页面并将sitetran_url_type变量设置为以下任一项,即可通过www.SiteTran.com实施这两种解决方案:
public class GeoPointModelBinder : IModelBinder
{
// List of known locations.
private static ConcurrentDictionary<string, GeoPoint> _locations
= new ConcurrentDictionary<string, GeoPoint>(StringComparer.OrdinalIgnoreCase);
static GeoPointModelBinder()
{
_locations["redmond"] = new GeoPoint() { Latitude = 47.67856, Longitude = -122.131 };
_locations["paris"] = new GeoPoint() { Latitude = 48.856930, Longitude = 2.3412 };
_locations["tokyo"] = new GeoPoint() { Latitude = 35.683208, Longitude = 139.80894 };
}
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
{
if (bindingContext.ModelType != typeof(GeoPoint))
{
return false;
}
ValueProviderResult val = bindingContext.ValueProvider.GetValue(
bindingContext.ModelName);
if (val == null)
{
return false;
}
string key = val.RawValue as string;
if (key == null)
{
bindingContext.ModelState.AddModelError(
bindingContext.ModelName, "Wrong value type");
return false;
}
GeoPoint result;
if (_locations.TryGetValue(key, out result) || GeoPoint.TryParse(key, out result))
{
bindingContext.Model = result;
return true;
}
bindingContext.ModelState.AddModelError(
bindingContext.ModelName, "Cannot convert value to Location");
return false;
}
}
或
var sitetran_url_type = 'sub.domain';
SiteTran是100%免费的,是我的公司。