Skip to content

feat: inline note translation with LibreTranslate (#208)#211

Open
chfr19820610-cell wants to merge 1 commit into
PrimalHQ:mainfrom
chfr19820610-cell:feat/inline-note-translation-ios
Open

feat: inline note translation with LibreTranslate (#208)#211
chfr19820610-cell wants to merge 1 commit into
PrimalHQ:mainfrom
chfr19820610-cell:feat/inline-note-translation-ios

Conversation

@chfr19820610-cell

Copy link
Copy Markdown

Implements inline note translation using LibreTranslate API.

Changes:

  • NoteTranslationService: entity protection (nostr:npub/nprofile/URLs/lnbc/hashtags/@mentions), content hash caching, async/await LibreTranslate API
  • NoteTranslationView: Translate button + translated text label + source language indicator + loading/error states
  • SettingsTranslationViewController: Enable/disable toggle, endpoint URL, API key, target language config
  • PostFeedCell/ThreadCell: translationView integrated into content stack
  • SettingsMainViewController: Note Translation menu entry

Based on the existing PR#208 work, completes the missing settings UI and view integration.

Closes #208

- Add NoteTranslationService with entity protection and content hash caching
- Add NoteTranslationView UI component with translated/error/loading states
- Add SettingsTranslationViewController with endpoint/API key config
- Integrate translationView into PostFeedCell and ThreadCell
- Add Note Translation entry in SettingsMainViewController
- Fix Swift type inference in service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant