Where do sites get my language from?
From the Accept-Language header on every request, from navigator.languages in JavaScript, and indirectly from the locale, the keyboard layout, the speech voices and the fonts your system installed.
Every request your browser sends says which languages you read, and every page can read the same list in JavaScript, along with your locale, keyboard layout and the voices and fonts your system has. Sites compare them with where your IP is. Here is what yours say.
53 sniffers · no permission asked
You're probably from . You speak , and your computer runs on with a clock.
You're on , using , with a screen and graphics: .
You like , and . . Your fonts drop a hint: . As for your age, .
Referer · document.referrernavigator.languagesIntl.DateTimeFormatIntl …timeZoneIntl …hourCycleIntl.Locale weekInfoIntl.NumberFormatnavigator.keyboardspeechSynthesisprefers-color-schemeprefers-reduced-motioncolor-gamut · dynamic-rangeprefers-contrast · forced-colorsdisplay-modedoNotTrack · GPCnavigator.cookieEnabledpermissions.querypdfViewerEnablednavigator.webdriverbait elementwindow.ethereum · DOM markshistory.lengthcanvas measureTextuserAgentDatauserAgentData.brands…architecture · bitnessscreen · devicePixelRatiorequestAnimationFramescreen.isExtended · screenXinnerWidth · availHeightWebGL RENDERERnavigator.gpu adapter.infoWebGL2 · MAX_TEXTURE_SIZEhardwareConcurrencynavigator.deviceMemorymaxTouchPoints · pointernavigator.getBatterynavigator.connectionWebRTC host candidateenumerateDevicesAudioContext.sampleRatePublicKeyCredentialbluetooth.getAvailabilityMediaSource.isTypeSupportedrequestMediaKeySystemAccessstorage.estimateError.messagecanvas.toDataURLWebGL getParameterOfflineAudioContextfonts → SHA-256SHA-256canvas × 2From the Accept-Language header on every request, from navigator.languages in JavaScript, and indirectly from the locale, the keyboard layout, the speech voices and the fonts your system installed.
In the browser's language settings: put the language you want first. Changing only one place, like an extension that edits navigator.languages, leaves the header as it was, and the two disagree.
English is used everywhere, so it says little about where you are. Other languages point to a country, and a mismatch with the IP is a hint.