MultiLangSwitcher is a Chromium-based browser extension that helps users quickly switch the Accept-Language HTTP request header sent by the browser. Users can also customize the full Accept-Language string on the debugging tools page.
The extension utilizes the chrome.declarativeNetRequest API to modify the request header, ensuring performance and privacy.
The website's layout and styling are built with Bootstrap.
If the built-in request header detection fails or returns no results, you can manually navigate to BrowserScan or header-echo for further verification.
If you need to switch the browser UA, you can take a look at this project: User-Agent Switcher and Manager
|
|
Additionally, you can configure browser language settings as shown to confuse simple navigator.languages detection (though this will increase the uniqueness of your browser fingerprint).
This is a demonstration of customizing the Accept-Language string.
- Language Request Header Switching: Popup interface for selecting languages and modifying
Accept-Languagerequest headers - Domain-Based Auto-Switching: Automatically applies corresponding language settings based on visited domains
- Supports top-level domains (e.g.,
.cn,.jp) and second-level domains (e.g.,com.cn,co.jp) - Built-in domain rules covering major countries and regions
- Defaults to English for unmatched domains
- Supports top-level domains (e.g.,
- Persistent Settings: Language preferences and auto-switch status saved to local storage
- Efficient Header Modification: Uses
chrome.declarativeNetRequestAPI for better performance than the WebRequest API - Background Auto-Application: Extension automatically loads settings on startup with error retry mechanism
- Theme Switching: Support for light/dark theme switching
- Update Checker: Automatically checks GitHub Releases for the latest version information
- Reset Function: One-click reset of the Accept-Language request header
- Detection Page:
detect.htmlfor verifying request header modifications, which detects:Accept-Languagerequest headers- JavaScript language preferences (
navigator.language,navigator.languages) - Internationalization API (Intl) information
- WebRTC local IP leakage
- Canvas, WebGL, and AudioContext fingerprinting information
- Debugging Tools:
debug.htmlprovides debugging and diagnostic features, including:- View
declarativeNetRequestdynamic rule details - Multi-endpoint request header testing
- Custom
Accept-Languagestrings (e.g.,en-US,en;q=0.9,zh-CN;q=0.8) - Real-time log display with category filtering
- Rule priority fixes and rule rebuilding
- Extension diagnostic information (version, permissions, configuration, storage status)
- Domain-language mapping rules viewer
- Reset Accept-Language request header
- View
Currently, only installation from source code is supported.
Note: This extension has not been published to the Chrome Web Store due to the developer not registering a Google developer account.
-
Download or Clone the Code: Clone the project repository to your local computer (Or download the ZIP from the release and unzip it)
git clone https://github.com/ChuwuYo/MultiLangSwitcher.git
-
Open Browser Extensions Management: Enter
chrome://extensions//edge://extensions/in the Chrome browser address bar and press Enter to go to the Extensions management page. -
Enable Developer Mode: Turn on the "Developer mode" switch in the top right corner of the page.
-
Load Unpacked Extension: Click the "Load unpacked" button in the top left corner of the page and select the MultiLangSwitcher project folder you downloaded.
-
Complete: The extension will be successfully added to the browser, and you can start using it.
- Open the Extension Popup: Click the MultiLangSwitcher extension icon in the browser toolbar.
- Select Preferred Language: In the popup dropdown menu, select the language you want the browser to simulate.
- Apply Settings: Click the "Apply Changes" button at the bottom of the interface. Your settings will be saved and immediately applied to new network requests.
- Verification and Debugging: Click the "Detection Page" or "Debugging Tools" links provided in the popup to verify if the language settings are effective, or to diagnose issues when they occur.



