computePreferredLocaleList() — astro Function Reference
Architecture documentation for the computePreferredLocaleList() function in utils.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 86433feb_fb59_c31d_d344_6ab7e82d0967["computePreferredLocaleList()"] 7b0bb4ed_570d_ff47_83a8_9e0495974e66["utils.ts"] 86433feb_fb59_c31d_d344_6ab7e82d0967 -->|defined in| 7b0bb4ed_570d_ff47_83a8_9e0495974e66 b7a4b27b_a1e0_4ff4_db13_350baa64114e["sortAndFilterLocales()"] 86433feb_fb59_c31d_d344_6ab7e82d0967 -->|calls| b7a4b27b_a1e0_4ff4_db13_350baa64114e 1a809798_395b_d867_2e96_5b1a1a9e175e["parseLocale()"] 86433feb_fb59_c31d_d344_6ab7e82d0967 -->|calls| 1a809798_395b_d867_2e96_5b1a1a9e175e style 86433feb_fb59_c31d_d344_6ab7e82d0967 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/i18n/utils.ts lines 115–144
export function computePreferredLocaleList(request: Request, locales: Locales): string[] {
const acceptHeader = request.headers.get('Accept-Language');
let result: string[] = [];
if (acceptHeader) {
const browserLocaleList = sortAndFilterLocales(parseLocale(acceptHeader), locales);
// SAFETY: bang operator is safe because checked by the previous condition
if (browserLocaleList.length === 1 && browserLocaleList.at(0)!.locale === '*') {
return getAllCodes(locales);
} else if (browserLocaleList.length > 0) {
for (const browserLocale of browserLocaleList) {
for (const loopLocale of locales) {
if (typeof loopLocale === 'string') {
if (normalizeTheLocale(loopLocale) === normalizeTheLocale(browserLocale.locale)) {
result.push(loopLocale);
}
} else {
for (const code of loopLocale.codes) {
if (code === browserLocale.locale) {
result.push(code);
}
}
}
}
}
}
}
return result;
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does computePreferredLocaleList() do?
computePreferredLocaleList() is a function in the astro codebase, defined in packages/astro/src/i18n/utils.ts.
Where is computePreferredLocaleList() defined?
computePreferredLocaleList() is defined in packages/astro/src/i18n/utils.ts at line 115.
What does computePreferredLocaleList() call?
computePreferredLocaleList() calls 2 function(s): parseLocale, sortAndFilterLocales.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free