Skip to content

parseAcceptLanguage

reference
1 min readUpdated

Kind: Function

Source: src/middleware/language/language.ts

Part of: Middleware

Parse Accept-Language header values with quality scores

parseAcceptLanguage parses an Accept-Language header into language preferences and accounts for quality-score parameters. It is used by language middleware to determine the client’s preferred language order before locale selection.

Signature

ts
function parseAcceptLanguage(header: string): Array<{ lang: string; q: number }>

Parameters

NameType
headerstring

Returns: Array<{ lang: string; q: number }>

Diagram

mermaid
graph LR
  Header[Accept-Language header] --> Parse[parseAcceptLanguage]
  Parse --> Entries[Language entries with quality scores]
  Entries --> Ordered[Preferred language order]
  Ordered --> Middleware[Language middleware]

Usage

ts
import { parseAcceptLanguage } from "./middleware/language/language";

const header = request.headers.get("accept-language") ?? "";
const preferredLanguages = parseAcceptLanguage(header);

// Pass the parsed preferences to locale-selection logic.
const locale = selectSupportedLocale(preferredLanguages);

AI Coding Instructions

  • Keep parsing aligned with the Accept-Language header format: comma-separated language ranges with optional quality parameters.
  • Preserve quality-score ordering when changing parsing logic, since downstream locale selection depends on preference order.
  • Handle missing or empty header values before calling the function when integrating with request middleware.
  • Keep locale matching separate from header parsing; this function should only interpret client preferences.

Was this page helpful?

Download as PDF
parseAcceptLanguage — Hono (narrator proof)