doxa-life + doxa-maps drop-in CDN (public/doxa-maps-cdn) — Forgejo working copy
- translateText/translateTexts call OpenRouter chat-completions; glossary terms are prompt-injected from config/glossaries.ts, generated from the translation repo's TSVs by scripts/build-glossaries.ts - model resolution: per-language override in config/languages.ts → translation.model site setting (new admin field) → TRANSLATION_MODEL env → anthropic/claude-opus-5, at low reasoning effort - blank fragments are held back from the model, which drops them and breaks the one-translation-per-fragment count the caller maps results back on - OpenRouter failures map to a typed error with a human-readable message; an unrecoverable one (no credits, bad key, rejected model) stops the run instead of repeating the same call for every remaining locale - machine translations record source 'auto-translate'; 'deepl' stays readable for snapshots written before the switch |
||
|---|---|---|
| app | ||
| config | ||
| embeddables | ||
| i18n/locales | ||
| migrations | ||
| modules | ||
| public | ||
| scripts | ||
| server | ||
| .blueprints.json | ||
| .editorconfig | ||
| .env.example | ||
| .gitignore | ||
| .mcp.json | ||
| bun.lock | ||
| eslint.config.mjs | ||
| i18n.config.ts | ||
| nuxt.config.ts | ||
| package.json | ||
| tsconfig.json | ||