更改浏览器语言

Bac*_*ash 4 c# winforms cefsharp

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

一切正常,CefSharp但我有一个小问题。

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

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

有没有办法做到这一点?语言可以改吗?如果是,如何?

小智 5

您可以更改以下语言:

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

Cef.Initialize(settingsBrowser);
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记将“locales/<locale>.pak”包含到您的应用程序中。 (2认同)

Chr*_*isM 1

请尝试以下操作:

实现IRequestHandler此处为示例)并以这种方式实现 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;
}
Run Code Online (Sandbox Code Playgroud)

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

  • 您需要根据 doco http://cefsharp.github.io/api/51.0.0/html/P_CefSharp_IRequest_Headers.htm 更改标头后重新分配标头 (2认同)