2011-10-31 5 views
1

WebBrowser 컨트롤을 사용하여 C#에서 응용 프로그램을 만들고 있습니다. 문제는 내가 영어를 사용하는 나라 출신이 아니기 때문에 현재 문화 대신 영어를 보내기 위해 솔기를 잡는 것입니다.C# WebBrowser 컨트롤 세계화

예를 들어 Google과 같은 사이트는 포르투갈어 대신 영어로 표시됩니다 (IE, FF, Chrome 또는 Opera에 표시됨).

해당 컨트롤의 페이지 요청 문화권을 현재 시스템의 문화권 또는 임의의 문화권으로 변경하는 방법이 있습니까?

+0

winform을 현지화했는지 확인 했습니까? http://msdn.microsoft.com/en-us/library/y99d1cd3%28v=VS.100%29.aspx? – Candide

+0

예 - 이와 관련하여 아무 것도 변경하지 않았습니다. currentculture와 currentuiculture로 시도했습니다. – 537mfb

+0

http 요청 헤더에서 Accept-Language로 결정됩니다. WebBrowser는 이것을 변경하지 않습니다. 디버깅하는 동안 Visual Studio에 포르투갈어 버전이 없을 수 있습니다. 입력 도구 모음을 확인하십시오. –

답변

1

저는이 문제를 거의 성공적으로 해결하기 위해 다양한 방법을 시도했습니다.

Accept-Language 헤더는 사용자의 인터넷 설정에서 구성된 문화권을 사용하기 위해 유선처럼 보입니다. additionalHeaders 매개 변수에 WebBrowser.Navigate에 값을 제공하면이 값이 대체됩니다.

이 값을 변경하면 WebBrowser 컨트롤에서 올바른 언어를 보내야합니다. HKEY_CURRENT_USER/소프트웨어/마이크로 소프트/인터넷 익스플로러/국제/acceptlanguage가

또한 웹 브라우저 컨트롤의 acceptlanguage가 헤더를 수정해야이 레지스트리 설정을 변경 :

는 또한 레지스트리 설정을 발견했습니다.

불행히도 필자의 경우 WebBrowser 컨트롤의 특정 인스턴스에서 설정을 재정의하고 다른 응용 프로그램에서 사용할 수있는 전역 설정을 수정하지 못하도록하고 싶습니다. 그래서이 방법은 쓸모가 없습니다. 그러나 아마도 도움이 될 것입니다.

+0

안녕하세요 Kedj - 당신처럼 클라이언트 컴퓨터에서 글로벌 구성을 변경하는 것에 대해 피곤 해요 그게 내 애플 리케이션보다 그 afects 이상 -하지만 정보 주셔서 감사합니다 - 가치가있는 부분은 – 537mfb

+0

입니다.이 문제를 무시하기로 마음 먹었습니다.하지만 @kadj 만 대답 할 수 있었고 그의 대답이 올바르게 작동합니다. 나는 올바른 것으로 선택합니다. – 537mfb