Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查“是否”;本地化=英语;否则,如果;本地化=其他语言“。。。在代码隐藏中-(ASP.NET C#)_C#_Asp.net_Localization - Fatal编程技术网

如何检查“是否”;本地化=英语;否则,如果;本地化=其他语言“。。。在代码隐藏中-(ASP.NET C#)

如何检查“是否”;本地化=英语;否则,如果;本地化=其他语言“。。。在代码隐藏中-(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();

我有一个本地化的网站,我正在使用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;
                    }
            }
还是有别的办法


非常感谢。

如果您想了解客户端的区域性,可以使用(浏览器的
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"))
{
    // ...
}