如何检查是否" 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;
                    }
            }

还是有其他方法?

如何检查是否" localalize =english"if " localalize =

如果您想知道客户端的文化,您可以使用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"))
{
    // ...
}