Skip to content

fix: respect Accept-Language quality factors in language detection#1380

Merged
Xe merged 1 commit intoTecharoHQ:mainfrom
majiayu000:fix-1022-anubis-getting-wrongfully-tran-0102-0850
Jan 2, 2026
Merged

fix: respect Accept-Language quality factors in language detection#1380
Xe merged 1 commit intoTecharoHQ:mainfrom
majiayu000:fix-1022-anubis-getting-wrongfully-tran-0102-0850

Conversation

@majiayu000
Copy link
Copy Markdown
Contributor

Fixes #1022

Changes

  • Parse Accept-Language header using golang.org/x/text/language.ParseAcceptLanguage to properly sort languages by quality factor
  • Include base language fallback (e.g., "en" for "en-GB") to ensure proper locale matching
  • Add tests for Accept-Language quality factor handling

The Accept-Language header parsing was not correctly handling quality
factors. When a browser sends "en-GB,de-DE;q=0.5", the expected behavior
is to prefer English (q=1.0 by default) over German (q=0.5).

The fix uses golang.org/x/text/language.ParseAcceptLanguage to properly
parse and sort language preferences by quality factor. It also adds base
language fallbacks (e.g., "en" for "en-GB") to ensure regional variants
match their parent languages when no exact match exists.

Fixes TecharoHQ#1022

Signed-off-by: majiayu000 <1835304752@qq.com>
@Xe Xe merged commit 71147b4 into TecharoHQ:main Jan 2, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Anubis getting wrongfully translated

2 participants