You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug] Locale fr-be (Belgian French) incorrectly served as Belarusian (be) UI
#6133
The DeepSeek web interface (chat.deepseek.com) is served in Belarusian to users whose browser sends fr-be (Belgian French) in the Accept-Language header, even when fr and fr-fr are also present and ranked higher.
This appears to be a confusion between the ISO 3166-1 alpha-2 country codeBE (Belgium) and the ISO 639-1 language codebe (Belarusian).
Steps to reproduce
Use Firefox (tested on version 155) with the following Accept-Language preference list for websites:
fr-be (Français Belgique)
fr (Français)
fr-fr (Français France)
en-us (English US)
Connect from a Belgian IP address (country: BE).
Navigate to https://chat.deepseek.com.
Expected behavior
The interface should be displayed in French, since fr-be, fr, and fr-fr are all present in Accept-Language and all resolve to the French language.
Actual behavior
The interface is displayed in Belarusian, despite no Belarusian locale being requested and despite the user being located in Belgium (a country where French, Dutch, and German are official languages — but not Belarusian).
Workaround
Removing fr-be from the preferred languages list in Firefox (keeping only fr and fr-fr) resolves the issue immediately. This strongly suggests the backend is matching on the substring be inside fr-be and treating it as the Belarusian language code.
Impact
Affects all French-speaking Belgian users.
Cannot be resolved client-side without removing the legitimate fr-be locale, which impacts date/number formatting on other sites.
This is a standards-compliance issue: Accept-Language should be parsed per RFC 4647 / BCP 47, and regional subtags (BE) must not be confused with primary language subtags (be).
Suggested fix
Parse Accept-Language using a proper BCP 47 parser, and match on the primary language subtag (fr in fr-be) rather than performing substring matching on the full tag. Region subtags (BE, FR, CA, etc.) should never be interpreted as language codes.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Description
The DeepSeek web interface (chat.deepseek.com) is served in Belarusian to users whose browser sends
fr-be(Belgian French) in theAccept-Languageheader, even whenfrandfr-frare also present and ranked higher.This appears to be a confusion between the ISO 3166-1 alpha-2 country code
BE(Belgium) and the ISO 639-1 language codebe(Belarusian).Steps to reproduce
Accept-Languagepreference list for websites:fr-be(Français Belgique)fr(Français)fr-fr(Français France)en-us(English US)https://chat.deepseek.com.Expected behavior
The interface should be displayed in French, since
fr-be,fr, andfr-frare all present inAccept-Languageand all resolve to the French language.Actual behavior
The interface is displayed in Belarusian, despite no Belarusian locale being requested and despite the user being located in Belgium (a country where French, Dutch, and German are official languages — but not Belarusian).
Workaround
Removing
fr-befrom the preferred languages list in Firefox (keeping onlyfrandfr-fr) resolves the issue immediately. This strongly suggests the backend is matching on the substringbeinsidefr-beand treating it as the Belarusian language code.Impact
fr-belocale, which impacts date/number formatting on other sites.Accept-Languageshould be parsed per RFC 4647 / BCP 47, and regional subtags (BE) must not be confused with primary language subtags (be).Suggested fix
Parse
Accept-Languageusing a proper BCP 47 parser, and match on the primary language subtag (frinfr-be) rather than performing substring matching on the full tag. Region subtags (BE,FR,CA, etc.) should never be interpreted as language codes.Environment
Thank you for looking into this.
All reactions