i18n.middleware

Page actions AI-ready formats and sharing
Open LLM text
Share with AI
Ask Claude Ask ChatGPT Ask Gemini Ask Copilot

Locale middleware — detect and set locale per request.

Locale middleware — detect and set locale per request.

i18n.middleware

Name Type Default Description
type
qualified_name
element_type
description
source_file
line_number
is_autodoc
autodoc_element
_autodoc_template
_autodoc_url_path
_autodoc_page_type
title
doc_content_hash

Symbols on this page

LocaleMiddleware
class

Detect locale from request and set it for the current context.

Detection order (configurable):

  1. URL prefix (/es/...) — when url_prefix is True
  2. Cookie (chirp_locale)
  3. Accept-Language header
  4. Default locale

Usage::

app.add_middleware(LocaleMiddleware(
    supported_locales=("en", "es", "ja"),
    default_locale="en",
))

View source · /home/runner/work/chirp/chirp/site/../src/chirp/i18n/middleware.py:1