computePreferredLocale() — astro Function Reference
Architecture documentation for the computePreferredLocale() function in utils.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 00c5b8fa_8c67_f870_01bf_f0ab44993c3a["computePreferredLocale()"] 7b0bb4ed_570d_ff47_83a8_9e0495974e66["utils.ts"] 00c5b8fa_8c67_f870_01bf_f0ab44993c3a -->|defined in| 7b0bb4ed_570d_ff47_83a8_9e0495974e66 b7a4b27b_a1e0_4ff4_db13_350baa64114e["sortAndFilterLocales()"] 00c5b8fa_8c67_f870_01bf_f0ab44993c3a -->|calls| b7a4b27b_a1e0_4ff4_db13_350baa64114e 1a809798_395b_d867_2e96_5b1a1a9e175e["parseLocale()"] 00c5b8fa_8c67_f870_01bf_f0ab44993c3a -->|calls| 1a809798_395b_d867_2e96_5b1a1a9e175e style 00c5b8fa_8c67_f870_01bf_f0ab44993c3a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/i18n/utils.ts lines 86–113
export function computePreferredLocale(request: Request, locales: Locales): string | undefined {
const acceptHeader = request.headers.get('Accept-Language');
let result: string | undefined = undefined;
if (acceptHeader) {
const browserLocaleList = sortAndFilterLocales(parseLocale(acceptHeader), locales);
const firstResult = browserLocaleList.at(0);
if (firstResult && firstResult.locale !== '*') {
for (const currentLocale of locales) {
if (typeof currentLocale === 'string') {
if (normalizeTheLocale(currentLocale) === normalizeTheLocale(firstResult.locale)) {
result = currentLocale;
break;
}
} else {
for (const currentCode of currentLocale.codes) {
if (normalizeTheLocale(currentCode) === normalizeTheLocale(firstResult.locale)) {
result = currentCode;
break;
}
}
}
}
}
}
return result;
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does computePreferredLocale() do?
computePreferredLocale() is a function in the astro codebase, defined in packages/astro/src/i18n/utils.ts.
Where is computePreferredLocale() defined?
computePreferredLocale() is defined in packages/astro/src/i18n/utils.ts at line 86.
What does computePreferredLocale() call?
computePreferredLocale() 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