我想知道从谷歌翻译API使用或拥有这样的网址更好:
/example.com/en/page/show
并使用url中提到的语言生成带有大量if的视图? 或者是什么?
感谢。
答案 0 :(得分:1)
如果您想支持多种语言,一种方法是使用资源文件,而不是对页面上的任何字符串/资源进行硬编码,请使用资源表示。
通过这种方式,您可以轻松添加新语言,翻译等等......
关于它所依赖的URL,通过URL设置它是一种方式,你也可以使用cookie ..
您可以在当前线程上设置CurrentUICulture,所有资源检索方法和/或字符串操作实际上都支持您指定要使用的CultureInfo
。它应该采用当前线程中自动设置的文化。
void context_BeginRequest(object sender, EventArgs e)
{
// eat the cookie (if any) and set the culture
if (HttpContext.Current.Request.Cookies["lang"] != null)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies["lang"];
string lang = cookie.Value;
var culture = new System.Globalization.CultureInfo(lang);
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
}
}
或者,如果您使用MVC,您的路由配置可能包含该语言,您可以使用URL路由来设置语言而不是cookie ...
所以这只是一个例子,我建议你在google上找到更多的例子,找出解决问题的最佳方法。