如何检查是否" localalize =english"if " localalize =
本文关键字:quot localalize if english 是否 何检查 检查 | 更新日期: 2023-09-27 18:09:30
我有一个本地化的网站,我使用LINQ调用一些程序-这些程序包含一些文本,我需要在语言切换后进行翻译。这是我的一个过程调用:
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;
}
}
还是有其他方法?
如果您想知道客户端的文化,您可以使用HttpRequest.UserLanguages
属性(浏览器的Accept-Language header
为语言优先级)。
获取客户端语言首选项的排序字符串数组。
语言名称由浏览器提供,没有所有可能代码的最终列表。通常它们由a组成两个字符的语言代码,一个连字符和一个两个字符文化代码,例如美式英语中的"en-us"和美式英语中的"fr-ca"加拿大法语。
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"))
{
// ...
}