[Bug]: Built-in browser is pinned to en-US, so web pages get US date inputs and `navigator.language` regardless of OS language#23719

opened20d agobyHhadjedjvincent

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

  1. Use macOS with French as the only system language (AppleLanguages = ("fr-FR"), AppleLocale = fr_FR).

  2. Launch the packaged desktop app and open any page with an <input type="date"> in the built-in browser.

  3. Type a date the way a French user would: 03/04/2026 (3 April 2026).

  4. Optionally, evaluate this in the page:

    js
    1({ 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 French dd/mm/yyyy order;
  • navigator.language and the default Intl locale are fr-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:

js
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
2en.lproj
3$ ls "/Applications/T3 Code (Nightly).app/Contents/Frameworks/Electron Framework.framework/Resources/"*.lproj
4locale.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

shell
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.