更改浏览器语言

时间:2016-08-30 10:39:14

标签: c# winforms cefsharp

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

CefSharp一切正常,但我遇到了一个小问题。

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

对于我的网页视图,我需要使用德语设置浏览器。

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

3 个答案:

答案 0 :(得分:3)

您可以更改以下语言:

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

Cef.Initialize(settingsBrowser);

答案 1 :(得分:0)

尝试以下方法:

实施IRequestHandlerexample here)并以这种方式实施OnBeforeResourceLoad:

    class MyClass
    {
        public decimal MyProperty { get; set; }
    }

         BindingList<MyClass> source = new BindingList<MyClass>
        {
            new MyClass { MyProperty = 1.0001m},
            new MyClass { MyProperty = 100001.5555m},
            new MyClass { MyProperty = 4m},
            new MyClass { MyProperty = 300.5m }
        };

        comboBox1.DataSource = source;
        comboBox1.DisplayMember = "MyProperty";
        foreach (object possibleDate in comboBox1.Items)
        {
            int stringLength = comboBox1.GetItemText(possibleDate).Length;
            if (stringLength > longestName.Length)
                longestName = comboBox1.GetItemText(possibleDate);
        }

        Console.WriteLine(longestName);
        //or
        string longest = comboBox1.Items.Cast<object>().Select(a => comboBox1.GetItemText(a)).OrderByDescending(a => a.Length).FirstOrDefault();

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

答案 2 :(得分:0)

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

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