[Bug]: Built-in browser is pinned to en-US, so web pages get US date inputs and `navigator.language` regardless of OS language#23719
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/desktop
Steps to reproduce
Use macOS with French as the only system language (
AppleLanguages = ("fr-FR"),AppleLocale = fr_FR).Launch the packaged desktop app and open any page with an
<input type="date">in the built-in browser.Type a date the way a French user would:
03/04/2026(3 April 2026).Optionally, evaluate this in the page:
js1 ({ navLang: navigator.language, navLangs: navigator.languages, 2 intl: Intl.DateTimeFormat().resolvedOptions().locale, 3 sample: new Date(2026, 3, 3).toLocaleDateString() })
Expected behavior
The built-in browser follows the OS language and region, like Chrome or Safari on the same machine:
<input type="date">uses the Frenchdd/mm/yyyyorder;navigator.languageand the defaultIntllocale arefr-FR;- sites receive French as their primary language.
Actual behavior
Web content in the built-in browser always runs with an en-US application locale:
| 1 | { |
| 2 | navLang: "en-US", |
| 3 | navLangs: ["en-US", "fr-FR"], |
| 4 | intl: "en-US", |
| 5 | sample: "4/3/2026", // en-US formatting |
| 6 | tz: "Europe/Paris" // time zone is correct, only the locale is wrong |
| 7 | } |
The date input displays and parses mm/dd/yyyy. Typing 03/04/2026 is silently stored as 2026-03-04, which is 4 March instead of 3 April. Nothing on the input indicates that it expects US order on a French system, so for non-US users dates typed in dd/mm order are silently stored with day and month swapped.
The root cause seems to be the same as in #6178. The packaged app ships only the en-US Chromium locale (DESKTOP_ELECTRON_LANGUAGES = ["en-US"]). The installed bundle confirms it:
| 1 | $ ls "/Applications/T3 Code (Nightly).app/Contents/Resources/" | grep lproj |
| 2 | en.lproj |
| 3 | $ ls "/Applications/T3 Code (Nightly).app/Contents/Frameworks/Electron Framework.framework/Resources/"*.lproj |
| 4 | locale.pak |
Chromium resolves its application locale from the locale paks that are available. With only en-US present, every page loaded in the built-in browser gets en-US, whatever the OS language. #6178 (closed) covered timestamps in T3's own UI; web pages in the built-in browser are still affected on this build. Users can't work around it: there is no language setting, and --lang=fr-FR cannot help because fr.pak is not shipped.
Possible fixes:
- ship more Chromium locale paks in the desktop build, at least the most common ones, or all of them for a few MB;
- or add a language setting for the built-in browser, which would require the matching paks too.
Impact
Minor bug or occasional failure
Version or commit
0.1.2-nightly.20261021.3486
Environment
macOS 26.7.1 (Apple Silicon), T3 Code Nightly 0.1.2-nightly.20261021.3486, Electron 44.9.3, Chrome 152.0.7977.167, system language fr-FR
Logs or stack traces
| 1 |
Screenshots, recordings, or supporting files
No response
Workaround
- Pick dates from the calendar popup instead of typing them, or type them in US order (
mm/dd/yyyy). - Use an external browser for forms that ask for dates.