zotero-pdf2zh is an application consisting of a Zotero plugin (TypeScript) and a companion Python Flask server that together enable in-place PDF translation within Zotero. The plugin adds a right-click menu to Zotero items — Translate, Crop, Compare, Crop-Compare — and communicates with the local server via HTTP. The server manages a dedicated Python virtual environment (using uv or conda) that runs either the legacy `pdf2zh` or the recommended `pdf2zh_next` CLI translation engine. The server exposes REST endpoints for translation, cropping, comparison, file download, and SSE-based progress tracking, and supports over 20 LLM translation services (OpenAI, DeepSeek, Gemini, etc.) via user-configured API keys. The system includes Docker deployment, Windows/macOS automation (monitors, right-click scripts), auto-updates, and a bilingual VitePress documentation site. Despite being primarily a software application, it has a strong data-processing character in its PDF manipulation and LLM orchestration layers, but the overall architecture is clearly a client-server addon, not a data analytics project.