Language list in Settings does not match Accept_Language HTTP Header |
|||||
Issue descriptionChrome Version: 59.0.3029.112 OS: ChromeOS Copied from developer report: Chrome on ChromeOS is sending ACCEPT_LANGUAGE headers that are inconsistent with my preferences. I have two input methods, English and Bulgarian Phonetic. In all the preferences, English is ranked above Bulgarian: https://screenshot.googleplex.com/fGJ37NvnotO.png Yet nevertheless Chrome sends ACCEPT_LANGUAGE en-US,bg-BG;q=0.8,bg;q=0.6,es-US;q=0.4,es;q=0.2,en;q=0.2 which ranks Bulgarian highest.
,
Jul 20 2017
Short explanation:
In ChromeOS only, there are two different user preferences: #1 the accept_language header and #2 the list of languages in the settings. In other platforms they are the same (basically, #2 does not exist). That's why you see a difference.
The accept_language headers are always computed from #1, but in the settings in ChromeOS you can only directly affect #2.
Getting into more details:
a) In #1, the base language of a locale ("en" for "en-CA" for example) gets added automatically, so you can't ever control it from ChromeOS. In other platforms you can't remove it unless you first remove all the associated locales.
b) Also, the action of moving languages up or down in the settings in ChromeOS has not effect whatsoever on #1. Your only option is to add/remove a language: these actions effectively copy* the list from #2 to #1, so you will see it refrected in the http headers.
*Because of a), the copy is not exact when it comes to base languages.
,
Sep 15 2017
,
Sep 15 2017
,
Sep 15 2017
,
Nov 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/72414d98432a1539183e50dd23ed22528672c0aa commit 72414d98432a1539183e50dd23ed22528672c0aa Author: Claudio Magni <claudiomagni@chromium.org> Date: Tue Nov 07 06:29:48 2017 Added C++ API to move a language inside the list in Settings. Currently, the logic that moves a language is completely handled in JS. This change moves the logic to C++, into TranslatePrefs, which allows for more extensive testing and better separation between UI and preferences/settings. This change is not behind a flag, because it's re-implementing the same behavior and should be transparent for the user. The only actual change is to fix a bug present in the current JS code. Bug: 746771 Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation Change-Id: I042e417b0c6ef3563cab132c548d73dd046f7de1 Reviewed-on: https://chromium-review.googlesource.com/732814 Commit-Queue: Claudio M <claudiomagni@chromium.org> Reviewed-by: Hajime Hoshi <hajimehoshi@chromium.org> Reviewed-by: Devlin <rdevlin.cronin@chromium.org> Reviewed-by: Dave Schuyler <dschuyler@chromium.org> Reviewed-by: Ilya Sherman <isherman@chromium.org> Cr-Commit-Position: refs/heads/master@{#514412} [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/chrome/browser/extensions/api/language_settings_private/language_settings_private_api.cc [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/chrome/browser/extensions/api/language_settings_private/language_settings_private_api.h [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/chrome/browser/resources/settings/languages_page/languages.js [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/chrome/browser/resources/settings/languages_page/languages_page.js [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/chrome/browser/resources/settings/languages_page/languages_types.js [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/chrome/common/extensions/api/language_settings_private.idl [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/chrome/test/data/webui/settings/fake_language_settings_private.js [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/chrome/test/data/webui/settings/languages_tests.js [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/components/translate/core/browser/translate_prefs.cc [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/components/translate/core/browser/translate_prefs.h [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/components/translate/core/browser/translate_prefs_unittest.cc [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/extensions/browser/extension_function_histogram_value.h [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/third_party/closure_compiler/externs/language_settings_private.js [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/third_party/closure_compiler/interfaces/language_settings_private_interface.js [modify] https://crrev.com/72414d98432a1539183e50dd23ed22528672c0aa/tools/metrics/histograms/enums.xml
,
Nov 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/72c26c752d3a837b1f3d332ace04ab0d9429146a commit 72c26c752d3a837b1f3d332ace04ab0d9429146a Author: Claudio Magni <claudiomagni@chromium.org> Date: Tue Nov 07 08:58:51 2017 Removed unused include This was suggested by Hajime in previous CL 732814, right before submit. Bug: 746771 Change-Id: I056f53a3d04a26ae7636ba74f7c08d37c07fbc68 Reviewed-on: https://chromium-review.googlesource.com/756294 Reviewed-by: Hajime Hoshi <hajimehoshi@chromium.org> Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org> Cr-Commit-Position: refs/heads/master@{#514422} [modify] https://crrev.com/72c26c752d3a837b1f3d332ace04ab0d9429146a/components/translate/core/browser/translate_prefs.cc
,
Jan 18 2018
Issue 799426 has been merged into this issue.
,
Feb 16 2018
,
Mar 7 2018
Any progress on this?
,
Mar 7 2018
No progress. I didn't have time given the new priorities I have now. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by claudiomagni@chromium.org
, Jul 20 2017