Paperless-ngx 多语言部署 3 个参数速成中文界面、chi_sim OCR 与日期解析全配通【免费下载链接】paperless-ngxA community-supported supercharged document management system: scan, index and archive all your documents项目地址: https://gitcode.com/GitHub_Trending/pa/paperless-ngxPaperless-ngx 多语言部署这件事比多数人想象的简单它要解决的是扫描件、发票、合同里混着好几种文字扫描后系统读不懂的问题。全文只讲三件事——界面用中文、OCR 认识中文、日期能按中文语境解析。三个参数配完链路就通了。一、三步跑通中文界面最小环境变量配置先给结论你只需要动三个参数分别管三样东西。PAPERLESS_LANGUAGE——界面显示语言。它影响你登录看到的所有文字。填zh_CN代码就是src/documents/settings.py里 Django i18n 那套在起作用。PAPERLESS_OCR_LANGUAGE——OCR 的默认识别语言。它决定 Tesseract 引擎按哪种文字去认图上的字不填时默认是eng。PAPERLESS_TIME_ZONE——所有时间戳按哪个时区展示填Asia/Shanghai。compose 文件里这样写environment: - PAPERLESS_LANGUAGEzh_CN - PAPERLESS_OCR_LANGUAGEchi_sim - PAPERLESS_TIME_ZONEAsia/Shanghai重启容器。界面立刻变中文翻译文件随镜像内置不用你手动编译。二、系统如何读懂多语言文档OCR 识别 → 日期解析 → 自动分类可以把整条链路想成三道关卡文档要一路闯过去第一关Tesseract OCR 把图变字。扫描件本质是图片这一关由PAPERLESS_OCR_LANGUAGE指定默认语言由PAPERLESS_OCR_LANGUAGES指定全部可识别语言。后者才是关键——它告诉容器我要哪些语言包。Docker 部署时容器启动脚本会自动检查并安装缺的 Tesseract 包对应 docker/rootfs/etc/s6-overlay/s6-rc.d/init-tesseract-langs/日志里会打印每个包的安装进度缺包装不上会直接报错退出。第二关dateparser 从文字里抠日期。这一关吃PAPERLESS_DATE_PARSER_LANGUAGES注意格式和 OCR 那两参不同用连接语言代码比如zhenOCR 参数则是空格分隔的 ISO 代码。第三关按语言做自动分类与检索。识别出的文本会进入搜索索引PAPERLESS_SEARCH_LANGUAGE控制分词器的语言设定见 官方配置文档。这关没配好识别再准也搜不出来。三、三类团队的配置配方财务、学术、国际协作配方之间只有一两行差别按需照抄。财务团队——中英文发票、合同混着收识别和日期都要覆盖两种语境environment: - PAPERLESS_OCR_LANGUAGEchi_sim - PAPERLESS_OCR_LANGUAGESchi_sim eng - PAPERLESS_DATE_PARSER_LANGUAGESzhen学术机构——在财务配方上多挂一门日语检索分词跟着一起换environment: - PAPERLESS_OCR_LANGUAGESchi_sim eng jpn - PAPERLESS_SEARCH_LANGUAGEjpn国际协作组——跨时区团队重点是时间口径一致界面语言各自登录时切换即可environment: - PAPERLESS_TIME_ZONEAsia/Shanghai - PAPERLESS_LANGUAGEzh_CN四、识别不准时的三条自诊路径路径一准确率低。按顺序做三个动作。先用一张 300 DPI、字体清晰的样张测基线——连清晰样张都认不出就是语言包的问题确认PAPERLESS_OCR_LANGUAGES里包含目标语言且启动日志显示安装成功。再用tesseract --list-langs核实包真的在容器里。最后才怀疑扫描质量低分辨率、手写体、复杂底纹是识别率的第一杀手。路径二界面有漏翻译。先看src/locale/zh_CN/LC_MESSAGES/django.po里这条msgid的msgstr是否为空。为空说明上游翻译还没合入去 Crowdin 跟进有译文却显示英文通常是.mo编译产物没更新重新跑一次消息编译即可。路径三搜索效果差。先确认PAPERLESS_SEARCH_LANGUAGE与主要文档语言一致再执行一次搜索索引重建。中文内容搜英文关键词本身就命中有限属预期行为别当故障处理。五、多语言要预留多少内存资源规划结论先行内存大头在 OCR 引擎加载语言包多挂一门语言就多一份常驻开销。你的情况建议内存余量说明单语言 OCR256 MB基线配置即可2~3 种 OCR 语言512 MBchi_sim eng这类混排场景4 种以上且高并发1 GB每门语言按 100~200 MB 估两个配套参数PAPERLESS_TASK_WORKERS控制并发任务数多语言环境下建议保持 1~2PAPERLESS_WORKER_TIMEOUT默认 1800 秒日文竖排、大字号长文档识别更慢吃紧时放宽它。六、上线前自查清单界面语言与主要使用者一致PAPERLESS_LANGUAGE取值核对过每种文档语言都在PAPERLESS_OCR_LANGUAGES里启动日志无安装失败PAPERLESS_TIME_ZONE与团队所在时区一致内存按上表预留不是把容器塞满再观察PAPERLESS_DATE_PARSER_LANGUAGES用的是连接格式别写成空格中文样张、英文样张各跑一条完整流程搜索都能命中今天就把三个核心参数写进 compose 文件启动实例然后扔进一份中文样张验证全链路——识别结果不对再回到第四节逐条排查。【免费下载链接】paperless-ngxA community-supported supercharged document management system: scan, index and archive all your documents项目地址: https://gitcode.com/GitHub_Trending/pa/paperless-ngx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考