Browser-based translator editor prototype with sentence traceability and multi-provider candidate aggregation.
- Explicit Request translation button (uses segmented source + metadata/context).
- Per-provider status bulbs: idle, in-progress, done, error.
- Collapsable API providers panel.
- Each provider row is collapsable and shows name + selection checkbox in summary.
- You can edit API key/base URL/model.
- You can delete providers.
- You can add providers (e.g., Grok) dynamically.
- Collapsable Context panel.
- Separate invariant fields: book title, author.
- Additional fields: style notes, chapter summary.
- Generate summary flow with selected provider.
- After summary generation, app asks whether to auto-populate section (1) Original text.
When you click Request translation:
- The app requires segmented source text.
- It builds chunked source requests (to preserve context quality).
- It appends context metadata (book title, author, summary, style notes).
- It requests selected providers and shows live provider status.
- It aligns chunk outputs back to source sentence IDs and renders candidates.
- Built-in provider adapters exist for ChatGPT, Claude, Gemini, Google Translate, and DeepL.
- If live API is disabled or key is empty, the app falls back to deterministic mock responses.
- This is still a client-side prototype. In production, place API calls behind your backend.
Open index.html in a modern browser.
npm startThe app will be served at http://localhost:8080 (or PORT env override).
Because this project is static files plus an optional tiny Node server, deploy in one of the following ways.
- Build command: none
- Publish directory: repository root (
.) - Entry file:
index.html
Build and run:
docker build -t augmented-translator .
docker run --rm -p 8080:8080 augmented-translatorThen open http://localhost:8080.
npm startSet environment variable PORT if your host requires it.
If GitHub reports conflicts on this branch, resolve them from the command line:
# from this repo
git fetch origin
git checkout work
git merge origin/main
# resolve conflicts in:
# - README.md
# - app.js
# - index.html
# - styles.css
# after editing conflict markers:
git add README.md app.js index.html styles.css
git commit -m "Resolve merge conflicts with main"
git push origin workQuick checks before pushing:
node --check app.js
git diff --checkTip: search for conflict markers to ensure none remain:
rg "^(<<<<<<<|=======|>>>>>>>)" README.md app.js index.html styles.css