* chore: updated todo with translation ideas
* feat: first take at the implementation of translations
* fix: small addition for the translation feature
* feat: support language switching in the editor and preview
* feat: better handling of long bodies by not running them through a json envelope
* fix: unknown macros have better fallback
* feat: api for python to get translations
* fix: strip dumb prefix of content in translation
* feat: extend meta diff for translations
* feat: hook up translations to rebuild-from-disk
* feat: generation of the website prefers project language, falling back to canonical language
* fix: crashes during rendering
* feat: translation validation report
* fix: made the translation validation actually work
* chore: reorganization of menu
* fix: some topics cleanup
* chore: updated doc
* feat: translations for media
* feat: more aligned in UI/UX
* feat: edit translations possible
* chore: added full multi-language todo
* chore: updated todo for clarity
* feat: implementation of full multi-linguality
* fix: page creation creates pages
* fix: flags on every page
* fix: better prompt
* feat: made MCP server aware of language content
* feat: python tools for translations
* fix: better fill-in-translations
* fix: better prompt for translation. maybe.
* fix: losing posts from search due to translation process
* fix: translation validation handles in-db content and fill-in of missing translations fixed to flush
* fix: faster scanning for infilling of missing translations
* chore: updated agent instructions
* feat: calendar and tag cloud respect current language now
* fix: retries going up
* fix: got metadata-diff and rebuild into sync
* fix: extended meta-diff for timestamps
* fix: made website validation look at translated content, too
* fix: multi-lingual search
* chore: refactor Editor.tsx into two separate editors
* feat: do language detection when no explicit language given
---------
Co-authored-by: hugo <hugoms@me.com>
* fix: mixed up migrations
* feat: semantic similarity first take
* feat: semantic similarity first round of fixes
* feat: more work on making semantic similarity work properly
* feat: getPostBySlug for the AI
* feat: show similarity in post-link-insert-modal
* chore: remove done doc
---------
Co-authored-by: hugo <hugoms@me.com>
* chore: just a plan update
* Add LM Studio as local AI provider (OpenAI-compatible, like Ollama)
* Convert WebP thumbnails to JPEG before image analysis for LM Studio compatibility
* Strengthen language enforcement in image analysis prompt for local models
* Use i18n localized prompts for image analysis instead of English instructions
* Add airplane mode (Flugmodus) with status bar toggle and offline model preferences
* Fix flightmode: persist model IDs, skip network when offline, airplane icon
* Auto-fallback to offline models in airplane mode for chat, title, and image analysis
* Auto-select first local model as offline fallback when no explicit offline model configured
* Block git fetch/pull/push and site upload in airplane mode
* fix: thumbnails optimized for AI
* fix: error handling in airplane mode
---------
Co-authored-by: hugo <hugoms@me.com>