我有一个本地化的网站,我正在使用LINQ调用一些过程-这些过程包含一些文本,我需要在语言切换后进行翻译。这是我的一个过程调用:
public static IQueryable VyhledejCPN()
{
LINQDataContext db = new LINQDataContext();
IQueryable result = db.spSearchPartNumber(PartNumber).AsQueryable();
return result;
}
我需要这样的东西:
if
我使用这个函数让所有指令从一个起点转到另一个点,并使用:
function calcRoute(mode,_originlat,_originlong,_destinationlat,_destinationlong,_waypoints,_sensor,_language) {
var start = _originlat+','+_originlong;
var end = _destinationlat+','+_destinationlong;
var request = {
origin: start,
destin
我检测到这样的浏览器语言:
var language = window.navigator.userLanguage || window.navigator.language
然后,我使用AJAX调用将这个值发送到我的send服务器。
当我检查结果时,我发现了一件奇怪的事情。例如,浏览器的用户代理说当前的区域设置是tr-tr,但是当我检查window.navigator.language时,结果是en。
所有这些浏览器都说他们的语言是en:
Mozilla/5.0 (Linux; U; Android 2.2.2; tr-tr; GM FOX Build/HuaweiU8350) Apple
我使用查询google.com。我得到的所有结果都是为it-IT区域设置(因为我从意大利执行代码)而得到的。使用浏览器设置为en-US的测试证明了这一点。
从项目的GitHub问题中的讨论中,我了解到我正在以正确的方式设置Accept-Language头。
这段代码证实了这一点:
var formatter = new PrettyMarkupFormatter();
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Accept-Language", "en-US,en;q=0.812