DocsAvançado

Internacionalização (i18n)

Nexy não traduz seu aplicativo. Ele não possui middleware de localidade, nenhum auxiliar trans e nenhum arquivo de localidade: um aplicativo escolhe a biblioteca i18n que mais lhe convém, assim como escolhe um ORM.

A linha de comando (nx) é traduzida; veja a CLI.

Em um manipulador

Um manipulador lê o que precisa da solicitação. Este responde no idioma do cabeçalho Accept-Language:

src/rotas/hello.py
from nexy.http import Header MESSAGES = {"en": "Hello", "fr": "Bonjour"}  async def GET(accept_language: str = Header("en")):    language = accept_language.split(",")[0].split("-")[0].lower()    return {"message": MESSAGES.get(language, MESSAGES["en"])}

Em uma página

Use a biblioteca do seu frontend para páginas roteadas pelo cliente (por exemplo i18next, vue-i18n ou uma loja Svelte) e sua biblioteca Python (gettext da biblioteca padrão ou Babel) para .nexy páginas. Defina <html lang> no layout raiz.

Próximas etapas

Editar no GitHub

Enter abre o resultado, Esc fecha.