KemTranslate is a Windows desktop translation, OCR, and writing assistant built with WPF on .NET 10.
It combines translation, writing assistance, OCR capture, tray integration, and startup options in a single desktop application.
- Text translation with a configurable LibreTranslate-compatible server
- Writing assistance powered by LanguageTool
- Global hotkey support
- Floating translation workflow
- OCR capture with Tesseract
- Dark theme support
- Minimize to tray
- Start minimized to tray
- Start with Windows
- Recent translation and writing history
- Configurable editor font, logging, and OCR settings
- Windows
.NET 10 SDKfor local development and builds- Optional: Tesseract OCR for OCR capture
KemTranslate.csproj- main WPF applicationKemTranslate.Tests/- lightweight test runner projectThemes/- light and dark theme dictionariesocr/- bundled OCR runtime files copied to outputdocs/- publishing and repository documentation
- Open the project in Visual Studio.
- Set
KemTranslateas the startup project. - Build and run.
# build the app
dotnet build .\KemTranslate.csproj
# run the app
dotnet run --project .\KemTranslate.csproj
# run the tests
dotnet run --project .\KemTranslate.Tests\KemTranslate.Tests.csprojSettings are stored in kemsettings.json next to the application executable.
The app supports configuration for:
- global hotkey behavior
- dark mode
- minimize-to-tray behavior
- startup behavior
- LibreTranslate server URL and API key
- LanguageTool server URL
- OCR executable path and OCR language
- editor font and size
- logging level
The server URL and API key fields intentionally use example placeholders only. No personal endpoints or API keys are stored in the repository defaults.
If you want to bundle OCR with the app, place the Tesseract runtime files in the ocr/ folder.
See ocr/README.txt for the expected layout.
dotnet build .\KemTranslate.csproj -c Release
dotnet build .\KemTranslate.Tests\KemTranslate.Tests.csproj -c ReleaseExample self-contained Windows publish:
dotnet publish .\KemTranslate.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o .\publish\win-x64Notes:
- files from
ocr/are copied to the output when present - if you bundle Tesseract, include its required license and notice files
- test the published build before creating a GitHub release
For repository setup, pushing, and release publishing, see docs/PUBLISHING.md.
GitHub Actions is configured in .github/workflows/build.yml to build the app and run the test project on Windows.
See CONTRIBUTING.md.
This project is licensed under the MIT License. See LICENSE.
If you distribute bundled OCR binaries, also review THIRD-PARTY-NOTICES.md.