{"adoption": {"forks": 3247, "observed_at": "2026-08-28T04:12:01.041457+00:00", "stars": 36368}, "canonical_url": "https://ross.abutalabs.com/products/pdfmathtranslate", "card": {"archived": false, "artifact_type": "cli-tool", "description": "[EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译，支持 Google/DeepL/Ollama/OpenAI 等服务，提供 CLI/GUI/MCP/Docker/Zotero", "domain": ["pdf", "developer-tools"], "enriched": true, "function": ["nlp", "pdf", "llm-inference", "cli", "gui"], "health_score": 94, "homepage": "https://pdf2zh.com", "language": "Python", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["PDFMathTranslate/PDFMathTranslate"], "name": "PDFMathTranslate/PDFMathTranslate", "platform": ["python", "cross-platform", "cli"], "pushed_at": "2026-08-26T21:57:03+00:00", "repo": "PDFMathTranslate/PDFMathTranslate", "stars": 36368, "tags": ["pdf-translation", "layout-preserving", "bilingual", "deepl", "zotero", "mcp", "scientific-papers", "natural-language-processing", "localization", "docker", "web-server"], "topics": ["chinese", "latex", "pdf", "translation", "korean", "english", "japanese", "openai", "pdf2zh", "russian", "python", "translate", "math", "zotero", "obsidian", "document", "edit", "modify", "mcp"], "urls": [], "use_cases": ["translate a scientific paper pdf to chinese while keeping formulas intact", "batch translate pdf documents with deepl or openai", "produce bilingual pdf translations of academic papers", "translate pdfs from the command line", "integrate pdf translation into zotero or obsidian workflow", "self-host a pdf translation service with docker"], "what_it_is": "PDFMathTranslate (pdf2zh) is a tool that translates scientific PDF documents while preserving the original layout, including formulas, charts, tables of contents, and annotations. It supports multiple translation services (Google, DeepL, Ollama, OpenAI) and is available as a CLI, GUI, Docker image, and MCP server.", "when_to_avoid": ["you need to translate scanned PDFs without a text layer", "you need translation of non-PDF formats like Word or EPUB", "you need pixel-perfect translation of highly complex magazine-style layouts", "you need a fully managed cloud service with no setup"], "when_to_choose": ["you need layout-preserving translation of scientific or technical PDFs", "you want formula, chart, and table of contents preservation in translated PDFs", "you want flexible choice of translation backends including local LLMs via Ollama", "you need CLI, GUI, Docker, or MCP integration options"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pdfmathtranslate", "repo": "PDFMathTranslate/PDFMathTranslate", "role": "main", "score": 69}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:26:15.712038+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eba33a1b4339cc1754471243b7edd381a75171dc8c75c68b725758e5cd3c2e97", "fetched_at": "2026-08-28T04:12:01.041457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PDFMathTranslate/PDFMathTranslate"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T07:47:34.358627+00:00", "kind": "homepage", "missing": false, "url": "https://pdf2zh.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:26:15.712038+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eba33a1b4339cc1754471243b7edd381a75171dc8c75c68b725758e5cd3c2e97", "fetched_at": "2026-08-28T04:12:01.041457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PDFMathTranslate/PDFMathTranslate"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T07:47:34.358627+00:00", "kind": "homepage", "missing": false, "url": "https://pdf2zh.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:26:15.712038+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eba33a1b4339cc1754471243b7edd381a75171dc8c75c68b725758e5cd3c2e97", "fetched_at": "2026-08-28T04:12:01.041457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PDFMathTranslate/PDFMathTranslate"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T07:47:34.358627+00:00", "kind": "homepage", "missing": false, "url": "https://pdf2zh.com"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:26:15.712038+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eba33a1b4339cc1754471243b7edd381a75171dc8c75c68b725758e5cd3c2e97", "fetched_at": "2026-08-28T04:12:01.041457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PDFMathTranslate/PDFMathTranslate"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T07:47:34.358627+00:00", "kind": "homepage", "missing": false, "url": "https://pdf2zh.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:26:15.712038+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eba33a1b4339cc1754471243b7edd381a75171dc8c75c68b725758e5cd3c2e97", "fetched_at": "2026-08-28T04:12:01.041457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PDFMathTranslate/PDFMathTranslate"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T07:47:34.358627+00:00", "kind": "homepage", "missing": false, "url": "https://pdf2zh.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:26:15.712038+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eba33a1b4339cc1754471243b7edd381a75171dc8c75c68b725758e5cd3c2e97", "fetched_at": "2026-08-28T04:12:01.041457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PDFMathTranslate/PDFMathTranslate"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T07:47:34.358627+00:00", "kind": "homepage", "missing": false, "url": "https://pdf2zh.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:12:01.041457+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:26:15.712038+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eba33a1b4339cc1754471243b7edd381a75171dc8c75c68b725758e5cd3c2e97", "fetched_at": "2026-08-28T04:12:01.041457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PDFMathTranslate/PDFMathTranslate"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T07:47:34.358627+00:00", "kind": "homepage", "missing": false, "url": "https://pdf2zh.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:26:15.712038+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eba33a1b4339cc1754471243b7edd381a75171dc8c75c68b725758e5cd3c2e97", "fetched_at": "2026-08-28T04:12:01.041457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PDFMathTranslate/PDFMathTranslate"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T07:47:34.358627+00:00", "kind": "homepage", "missing": false, "url": "https://pdf2zh.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:26:15.712038+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eba33a1b4339cc1754471243b7edd381a75171dc8c75c68b725758e5cd3c2e97", "fetched_at": "2026-08-28T04:12:01.041457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PDFMathTranslate/PDFMathTranslate"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T07:47:34.358627+00:00", "kind": "homepage", "missing": false, "url": "https://pdf2zh.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:26:15.712038+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eba33a1b4339cc1754471243b7edd381a75171dc8c75c68b725758e5cd3c2e97", "fetched_at": "2026-08-28T04:12:01.041457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PDFMathTranslate/PDFMathTranslate"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T07:47:34.358627+00:00", "kind": "homepage", "missing": false, "url": "https://pdf2zh.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 51, "rhythm": 40}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 726, "days_push": 7, "days_rel": 418, "gap_med": 3, "n_releases_24m": 22}, "score": 69, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}