Summary
Standalone tool to help Commons contributors add and improve multilingual image captions. It uses existing captions on a file, suggests translations in more languages via an LLM, and lets users edit and then save (or send) them to Commons. It is human-in-the-loop only: no automatic uploads or overwrites without review.
Current behavior
- User pastes a Commons file URL; the tool loads the file’s current captions (structured data labels).
- User selects target languages (defaults include en, es, fr, ar, zh); can add “favourite” languages (stored in browser).
- For languages that already have a caption from Commons: user can edit and send updates.
- For languages without a caption: user can “Generate” (single language) or “Generate all” to get translation suggestions from an existing caption using an LLM (now: OpenAI), then edit and send.
- Captions are validated (short, factual, neutral) using custom validation rules before send. Saving uses the Commons API (wbsetlabel) with owner-only OAuth2 for now.
Stack
- Frontend: Next.js, React, shadcn/ui.
- Backend: Node.js, Express.
- Translation/validation: OpenAI (text).
- Deployment: Docker Compose (dev + production-style).
Possible follow-ups
- Integrate into UploadWizard or other Commons flows.
- Support more languages or batch workflows.
- Replace owner-only OAuth with per-user OAuth for multi-user use.
Links