Summary: | konqueror: doesn't support proper content negotiation | ||
---|---|---|---|
Product: | [Frameworks and Libraries] kio | Reporter: | Pierre Habouzit <madcoder> |
Component: | http | Assignee: | kdelibs bugs <kdelibs-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | adawit, advocatux, christian.gonzalez, desintegr, rasasi78, tuju |
Priority: | NOR | ||
Version: | 3.5 | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Pierre Habouzit
2006-05-20 10:49:13 UTC
The problem is simple : konqueror does not send languages with proper priorities. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html You can see it on my website which displays the value of sent Accept-Language in http headers : http://tmgo.free.fr/accept-language For example, my system is set in french, and the value of accept language is "fr, en". According to the RFC, it means that I accept indistinctively french or english. I think it's not a good behaviour. Kiohttp should send fr, en;q=0.5 to let me loading pages in french when available. If you want to change that, you can modify ~/.kde/share/config/kio_httprc and add a line : Languages=fr if you want french for example. (with a final S, Jens, debian pages are wrong ;-) ) I think "en" should not be added at all. The web server is free to send the page in English if French is not available, or send a "HTTP Not acceptable" back with a list of languages available (of which the browser then can then show the user a list). For example someone with Ukrainian as mother tongue sets his KDE to Ukrainian. He speaks Russian but not English. Now he visits a web site which has both English and Russian available. With the KDE behaviour the web server would return the page in English. With Accept-Language: uk, the webserver could send a HTTP Not acceptable indicating the page is available in English and Ukrainian. Konqueror could then show a popup, allowing the user to choose. Konqueror could even do things as to remember the language chosen for each web site, just like it can do for passwords. HTTP rules! It just needs to be taken advantage of. IMHO Daniël is right. How is it working in firef0x? by the way I have the same problem here, with KDE 3.5.4 (Mandriva 2007) I can confirm this too. My normal language is German (in my case), and the site is always displayed in English. Well, I can turn to German manually, then the site is displayed in German, but every link from this site (i.e. Newsletter) , will be turned to English again. This behavior appeared in an older version of konqueror in the past, but was then fixed. Now it is again (since the last 4-6 versions). So, I think, the reason will be found again, mybe it is the same ? Regards Hans I can confirm this bug with KDE 4.0.4 kubuntu hardy. Despite reporting de,en at http://tmgo.free.fr/accept-language http://www.de.debian.org displays in english only. This has been something that annoyed me too. This is basic functionality and should work. Can confirm this in Konqueror 4.2.00 This is still not fixed. the user agent contains "de, en-US, en" and I am not able to change this. I always see the English version of the pages first. This is _basic_ behaviour, bugs like this one keep people from using konqueror. Forget things like xtra features, if those things dont work (language of websites, being able to use more than one passwords per site, etc.) konqueror will never become a serious browser... Please, please just fix it. This bug is still present in Konqueror version 4.2.4 Just for the testimony. Hello: I confirm this bug as well on 4.3.4. I needed to tweak ~/.kde/share/config/kio_httprc to get the automatic language feature to work. I'll try to provide info with 4.4.2 soon. Regards, This should work correctly even in KDE 3.5. Can anyone here follow the instructions outlined at http://techbase.kde.org/Development/Tutorials/Debugging/Debugging_IOSlaves#GUI to enable debugging output for kio_http and provide the headers it sends to the server ? The "Accept-Language" header should reflect the correct values as set in the system settings panel. It seems to work fine now in Konqueror 4.6.5 (current Debian Testing). (In reply to comment #11) > It seems to work fine now in Konqueror 4.6.5 (current Debian Testing). Ok, thanks for the update. |