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