Skip to content

v0.3.1 — Hotkey recorder + custom style + server DeepL/LibreTranslate mirror

Pre-release
Pre-release

Choose a tag to compare

@hoangperry hoangperry released this 11 May 07:07

What's new in v0.3.1

Closes the v0.3 follow-up backlog.

Customizable hotkey recorder

  • Click "Change…" next to any hotkey in Settings → press your new combo → save.
  • Built on NSEvent.keyDown with proper Cocoa-flag-to-Carbon-modifier-mask mapping.
  • Esc cancels mid-recording.
  • Validates: at least one modifier (⌘/⌥/⌃/⇧) + a regular key.

Hotkey conflict detection

  • Recorder warns inline when the pressed combo is already bound to another translation target (or to the inbound hotkey).
  • Save button disables until the conflict is resolved.

Custom LLM style instruction per binding

  • Expandable "Custom style instruction" field on each outbound binding.
  • Overrides the auto-derived (language, register) style — useful when you want very specific tone control for a single target.
  • Empty = uses the default register-aware instruction (back-compat).

Server-side mirror (translator-server)

  • DeepLProvider — backend mode now supports DeepL Free/Pro with the same formality=more/less mapping as the app.
  • LibreTranslateProvider — backend can self-host or proxy to a LibreTranslate instance.
  • Aliases libre / libre-translate / libre_translate all dispatch to libretranslate.
  • 16 new pytest cases. Total server tests: 68 → 84 GREEN.

Tests

  • 150 Swift / 35 suites + 84 pytest / 17 classes = 234 GREEN.

Docs

  • CHANGELOG.md added with version history v0.1.0 → v0.3.1.
  • docs/ENV.md + docs/api-contract.md document the new providers + aliases.

Upgrade

  • Existing v0.3.0 installs migrate transparently; the new customStyleInstruction field on OutboundBinding defaults to empty (= use derived style).
  • Apple Silicon only (arm64). Ad-hoc signed.

Install

  1. Download Contextual-Mac-Translator-v0.3.1-macos-arm64.dmg.
  2. Open DMG → drag app to /Applications.
  3. Launch from /Applications, grant Accessibility.
  4. Open Settings → Languages, change hotkeys via "Change…", customize style per target.

Full changelog

See CHANGELOG.md.