doxa-maps-cdn/app
corsacca 7dfad0ee07 replace deepl with llm translation via openrouter
- 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
2026-09-07 16:30:48 +01:00
..
assets Update engaged profile status indicators (#12) 2026-06-10 07:36:16 -05:00
components replace deepl with llm translation via openrouter 2026-09-07 16:30:48 +01:00
composables homepage: surface DOXA total alongside unengaged count (#7) 2026-05-28 09:15:56 -05:00
layouts fix feedback widget display 2026-05-21 10:49:55 +01:00
middleware init 2026-04-21 12:12:54 +01:00
pages replace deepl with llm translation via openrouter 2026-09-07 16:30:48 +01:00
plugins optimize caching 2026-05-20 16:39:58 +01:00
types phase 3 2026-04-21 13:58:07 +01:00
utils add dashboard links to region cards and move regions after resources 2026-09-07 12:11:08 +01:00
app.config.ts init 2026-04-21 12:12:54 +01:00
app.vue switch feedback destination 2026-09-07 13:25:04 +01:00
error.vue add people group profile page 2026-04-22 12:54:57 +01:00