C# 更改浏览器语言

C# 更改浏览器语言,c#,winforms,cefsharp,C#,Winforms,Cefsharp,我目前正在应用程序中实现一个小型web视图 CefSharp的一切都很好,但我有一个小问题 似乎CefSharp正在使用类似en-US的东西作为默认浏览器语言。我找不到有关如何更改所用语言的任何信息 对于我的网络视图,我需要将浏览器设置为德语 有办法吗?语言可以改变吗?如果是,如何操作?请尝试以下操作: Implement()和OnBeforeResourceLoad的实现方式如下: // Other implementations here ... CefReturnValue OnBefo

我目前正在应用程序中实现一个小型web视图

CefSharp的一切都很好,但我有一个小问题

似乎
CefSharp
正在使用类似
en-US
的东西作为默认浏览器语言。我找不到有关如何更改所用语言的任何信息

对于我的网络视图,我需要将浏览器设置为德语

有办法吗?语言可以改变吗?如果是,如何操作?

请尝试以下操作:

Implement()和OnBeforeResourceLoad的实现方式如下:

// Other implementations here ...

CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
{
    var headers = request.Headers;
    headers.Add("Accept-Language", "de,de-DE");        
    return CefReturnValue.Continue;
}

然后使用此实现的新实例设置浏览器实例的RequestHandler。

您可以更改以下语言:

CefSettings settingsBrowser = new CefSettings();
settingsBrowser.Locale = "de";

Cef.Initialize(settingsBrowser);

通过CefSettings,您可以更改浏览器的区域设置,但还需要更改“Accept language”标题的默认语言。最简单的方法是:

CefBrowserSettings browser_settings;
CefString(&browser_settings.accept_language_list) = L"de,de-DE";

在项目源代码中搜索
Locale
,应该是
CefSettings
上的一个属性。更改标题后,您需要根据文档重新分配标题,这也不会使您的应用程序本地化,请更改区域设置以更改上下文菜单等不要忘记将
locales/.pak
包含到您的应用程序中。