2011-10-31 80 views
1

我正在使用WebBrowser控件在C#中创建应用程序。 问题是我不是来自讲英语的国家,而是控制接缝发送英语而不是当前文化。C#WebBrowser控件全球化

因此,例如,像谷歌这样的网站将总是以英文而非葡萄牙语显示,因为它出现在IE,FF,Chrome或Opera中。

有没有办法将控件的页面请求文化更改为当前系统的文化或任何文化?

+0

您是否确定本地化您的winform:http://msdn.microsoft.com/en-us/library/y99d1cd3%28v=VS.100%29.aspx? – Candide

+0

是的 - 没有改变任何事情。通过当前的文化和当前的文化尝试 – 537mfb

+0

它由http请求头中的Accept-Language决定。 WebBrowser不会改变这一点。也许Visual Studio在调试的时候,没有葡萄牙版本。检查语言栏。 –

回答

1

我已经尝试过各种方法来解决这个问题,但很少成功。

Accept-Language头似乎被硬连线以使用在用户的Internet设置中配置的文化。如果您将additionalHeaders参数中的值提供给WebBrowser.Navigate,则此值将被覆盖。

如果更改此设置,WebBrowser控件应发送正确的语言。

我还发现了一个注册表设置:HKEY_CURRENT_USER /软件/微软/ Internet Explorer中/国际/ AcceptLanguage

更改此注册表设置也应该修改WebBrowser控件的AcceptLanguage标头。

不幸的是,在我的情况下,我希望能够覆盖WebBrowser控件的特定实例中的设置,而不是修改可能被其他应用程序使用的全局设置。所以这种方法是没用的。但是,也许它会帮助你。

+0

嗨Kedj-就像你我很厌烦改变全球配置客户机相关的网页浏览器,因为它不仅仅是我的应用程序 - 但感谢信息 - 值得研究 – 537mfb

+0

我最终决定只是忽略这个问题 - 但由于@ kadj是唯一回答和他的答案的作品,我会选择它作为正确的 – 537mfb