/Knowledge/sources/honojs__hono/llms-full/language-middleware-advanced-configuration-progressive-locale-matching--e12349121bc7.md
Language Middleware: Advanced Configuration > Progressive Locale Matc...
Language Middleware: Advanced Configuration Progressive Locale Matching Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono....
Language Middleware: Advanced Configuration > Progressive Locale Matching
Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#progressive-locale-matching
Summary
When a detected locale code like ja-JP is not in supportedLanguages, the middleware progressively truncates subtags to find a match. For example, zh-Hant-CN will try zh-Hant, then zh. An exact match is always preferred. ```ts a...
Content
When a detected locale code like ja-JP is not in supportedLanguages, the middleware progressively truncates subtags to find a match. For example, zh-Hant-CN will try zh-Hant, then zh. An exact match is always preferred.
app.use(
languageDetector({
supportedLanguages: ['en', 'ja', 'zh-Hant'],
fallbackLanguage: 'en',
})
)
// Accept-Language: ja-JP → matches 'ja'
// Accept-Language: zh-Hant-CN → matches 'zh-Hant'
Metadata
{
"chunk_index": 0,
"citation": "https://hono.dev/llms-full.txt#progressive-locale-matching",
"coverage_role": "overview",
"qualified_title": "Hono / llms-full / Language Middleware > Advanced Configuration > Progressive Locale Matching",
"retrieved_at": "2026-07-02T05:51:01Z",
"section_index": 206,
"source_id": "/honojs/hono",
"source_type": "llms_full",
"target_label": "llms-full",
"title": "Language Middleware: Advanced Configuration > Progressive Locale Matching",
"upstream_url": "https://hono.dev/llms-full.txt",
"version": "2026"
}