如何检查“是否”;本地化=英语;否则,如果;本地化=其他语言“。。。在代码隐藏中-(ASP.NET C#)
我有一个本地化的网站,我正在使用LINQ调用一些程序——这些程序包含一些在语言转换后需要翻译的文本。这是我的过程调用之一:如何检查“是否”;本地化=英语;否则,如果;本地化=其他语言“。。。在代码隐藏中-(ASP.NET C#),c#,asp.net,localization,C#,Asp.net,Localization,我有一个本地化的网站,我正在使用LINQ调用一些程序——这些程序包含一些在语言转换后需要翻译的文本。这是我的过程调用之一: public static IQueryable VyhledejCPN() { LINQDataContext db = new LINQDataContext(); IQueryable result = db.spSearchPartNumber(PartNumber).AsQueryable();
public static IQueryable VyhledejCPN()
{
LINQDataContext db = new LINQDataContext();
IQueryable result = db.spSearchPartNumber(PartNumber).AsQueryable();
return result;
}
我需要这样的东西:
if (localize == english)
{
public static IQueryable VyhledejCPN()
{
LINQDataContext db = new LINQDataContext();
IQueryable resultEN = db.spSearchPartNumberEN(PartNumber).AsQueryable();
return resultEN;
}
}
else if (localize == czech)
{
public static IQueryable VyhledejCPN()
{
LINQDataContext db = new LINQDataContext();
IQueryable resultCZ = db.spSearchPartNumberCZ(PartNumber).AsQueryable();
return resultCZ;
}
}
还是有别的办法
非常感谢。如果您想了解客户端的区域性,可以使用(浏览器的
Accept Language header
作为语言优先级)
获取客户端语言首选项的排序字符串数组
语言名称由浏览器提供,不存在
所有可能代码的最终列表。通常,这些包括
语言的两个字符代码,连字符和两个字符
文化代码,如“en-us”表示美国英语,“fr-ca”表示美国英语
加拿大法语
非常感谢你。它起作用了!您能建议我如何在语言更改方面也能做到这一点吗?因为我让用户手动更改他们的语言只是为了成为舒尔,就像这样:
protectedvoid btnLangChange_Click(object sender,EventArgs e){LinkButton languageButton=sender as LinkButton;Session[“Culture”]=languageButton.CommandArgument;//使用新的区域性.Response.Redirect(Request.Path);}
重新加载上一个请求的页面,然后在使用上面的代码之前,您必须首先检查会话
变量是否已设置以及它包含的语言if(Session[“Culture”]!=null){//检查此语言}否则{//我上面的代码}
。
int count;
String[] userLang = Request.UserLanguages;
for (count = 0; count < userLang.Length; count++)
{
Response.Write("User Language " + count +": " + userLang[count] + "<br>");
}
if (Request.UserLanguages.Contains("en-US"))
{
// ...
}