
OpenMed 多语言文档术语表与翻译一致性治理从 Canonical Renderings 到 README Drift 校验【免费下载链接】openmedLocal-first healthcare AI: clinical NER HIPAA PII de-identification that runs 100% on-device. 2,200 medical models, 21 languages, Apple MLX Python, no cloud, no patient data leaving your network. Apache-2.0项目地址: https://gitcode.com/GitHub_Trending/ope/openmedOpenMed 是一个本地优先local-first的医疗 AI 开源项目提供临床 NER 与 HIPAA PII 去标识化能力并维护了中文、印地语、斯瓦希里语等多语言 README。随着文档规模扩大翻译术语不统一、README 章节漂移drift成为真实痛点。本文以仓库中的翻译术语表 docs/i18n/glossary.md 为骨架结合漂移校验脚本 scripts/i18n/check_readme_drift.py、章节哈希清单 docs/i18n/readme_section_hashes.json 与语言标签工具 openmed/core/locale_tag.py讲解如何建立一套术语统一 章节对等 哈希校验 相对链接校验的文档国际化质量保障体系。读完后你将掌握 OpenMed 的翻译规范、术语对照表、漂移检测命令以及支撑它的 BCP 47 语言标签标准化原理。一、术语表的定位多语言文档的唯一事实来源在 OpenMed 仓库中翻译工作不是随意的。docs/i18n/glossary.md被 scripts/i18n/check_readme_drift.py 显式引用为校验前置条件脚本中GLOSSARY Path(docs/i18n/glossary.md)且build_manifest在构建哈希清单前会检查该文件是否存在并由 docs/i18n/readme_section_hashes.json 中的glossary: docs/i18n/glossary.md字段锁定路径。也就是说术语表是整套翻译治理流程的唯一事实来源single source of truth任何一次 README 翻译更新都必须先对照术语表评审然后才能刷新哈希清单。术语表的核心原则只有一条却贯穿始终Keep product, package, API, function, model, protocol, command, and code names in their official form when translation would make them harder to identify.即产品名、包名、API、函数、模型、协议、命令与代码标识符若翻译反而会降低可识别性就必须保留官方原形。文档结尾进一步明确了一批广泛认可、不翻译的名称OpenMed、OpenMedKit、Python、REST、MLX、ONNX、FHIR、HL7、HIPAA、PyTorch、Hugging Face。这条规则在中文版中确实得到了执行——例如 README.zh-CN.md 中临床 NER、PII 检测、Privacy Filter等术语均保留了英文核心词。二、简体中文 Canonical Renderings逐条对照更新README.zh-CN.md时必须使用下表给出的规范译法canonical renderings。这些译法不是建议而是约定目的是保证同一概念在全文档中只出现一种译法避免脱敏/去标识化/匿名化混用。English termCanonical Simplified ChineseUsage notede-identification去标识化用于移除或替换标识信息的过程de-identified已去标识化用于去标识化之后的输出结果on-device设备本地计算发生在用户设备上时使用entity extraction实体抽取用于抽取生物医学、临床或 PII 实体local-first本地优先用于架构与产品原则Privacy Filter隐私过滤器作为官方模型家族名的一部分时保留英文Privacy FilterPII detectionPII 检测仅当面向新读者需要时再展开 PII 的全称redaction脱敏用于对显示文本中的敏感片段做掩码或移除model-backed PII language由模型支持的 PII 语言与仅依赖验证器的国家 ID 覆盖区分smart entity merging智能实体合并用于重组被切碎的 token 片段air-gapped隔离网络首次出现可在括号中给出英文术语clinical NER临床命名实体识别临床 NER首次使用后可用简称临床 NERvendor lock-in供应商锁定描述 OpenMed 承诺时使用无供应商锁定checkpoint检查点用于已发布的模型检查点几个值得注意的细节de-identification 与 redaction 是不同概念去标识化描述整体流程移除/替换标识信息脱敏则特指对敏感片段做掩码或移除。在 README.zh-CN.md 的隐私PII 检测与去标识化章节中可以看到这套区分流程层面用去标识化具体到对姓名、地址、证件号进行脱敏。model-backed PII language 与 validator-only 的区别OpenMed 支持多语言 PII 检测其中一部分由模型支持、一部分仅靠验证器规则覆盖国家 ID术语表要求两种覆盖方式的表述必须区分避免混淆能力边界。smart entity merging在 README.zh-CN.md 中对应智能实体合并其含义是让01/15/1970这类日期保持完整、不被拆成碎片 token——这是 PII 去标识化保真度的关键能力。这些译法并非纸上谈兵。在 README.zh-CN.md 中可检索到 17 处命中例如将临床文本转化为结构化、去标识化的洞见在设备本地完成 PII 去标识化和临床实体抽取智能实体合并让01/15/1970保持完整等说明术语表确实约束了实际翻译产出。三、印地语 Canonical Renderings 与跨语言一致性README.hi.md的翻译同样有规范译法表结构与中文版一一对应便于维护人员对照English termCanonical HindiUsage notede-identificationडी-आइडेंटिफिकेशन移除或替换标识信息的过程de-identifiedडी-आइडेंटिफाइड去标识化之后的输出on-deviceडिवाइस पर计算发生在用户设备上entity extractionएंटिटी निष्कर्षण抽取生物医学、临床或 PII 实体local-firstलोकल-फर्स्ट架构与产品原则Privacy FilterPrivacy Filter官方模型家族名中保留英文PII detectionPII पहचान需要时首次展开 PIIredactionPII छिपाना掩码或移除敏感片段model-backed PII languageमॉडल-समर्थित PII भाषा与 validator-only 覆盖区分smart entity mergingस्मार्ट एंटिटी मर्जिंग重组碎片 token 片段air-gappedएयर-गैप्ड首次使用可附英文括号clinical NERक्लिनिकल NER代码与模型标识符中保留英文 NERvendor lock-inवेंडर लॉक-इनOpenMed 承诺表述为कोई वेंडर लॉक-इन नहीं无供应商锁定checkpointचेकपॉइंट已发布的模型检查点值得注意的是印地语表与中文表共享同一套决策逻辑保留产品/模型名、区分流程与掩码、首次出现可附英文这说明 OpenMed 的 i18n 治理是一套原则、多种语言落地而不是各语言各行其是。四、文档通用术语Documentation-specific Terms除了按语言维护的术语表glossary 还提供了一张跨语言对照表适用于所有文档不只 READMEEnglish termSimplified Chinese (zh)Hindi (hi)clinical NLP临床自然语言处理क्लिनिकल NLPpersonally identifiable information (PII)个人身份信息 (PII)व्यक्तिगत पहचान योग्य जानकारी (PII)protected health information (PHI)受保护健康信息 (PHI)संरक्षित स्वास्थ्य जानकारी (PHI)entity实体एंटिटीsurrogate value替代值प्रतिस्थापन मानfallback回退फ़ॉलबैकpipeline流水线पाइपलाइनbatch processing批处理बैच प्रोसेसिंगmodel registry模型注册表मॉडल रजिस्ट्रीconfidence threshold置信度阈值कॉन्फ़िडेंस थ्रेशोल्ड这张表解决的是技术名词在两门语言中的平行表述问题。例如 PHI受保护健康信息与 PII个人身份信息是 OpenMed 隐私文档中的核心区分参见 docs/security/ 下大量 PII/PHI 相关文档翻译时必须保持术语对齐surrogate value替代值对应去标识化流程中的替代数据生成confidence threshold置信度阈值对应 NER 输出过滤。术语表最后强调在成熟技术名词周围优先使用清晰的本土语言行文同时保留 OpenMed、OpenMedKit、Python、REST、MLX、ONNX、FHIR、HL7、HIPAA、PyTorch、Hugging Face 等通用名。五、翻译漂移校验命令、机制与清单术语表本身只解决怎么译的问题OpenMed 还用脚本解决是否同步更新的问题——README 源文档每次改动翻译都必须跟着评审否则哈希清单校验失败。5.1 两个关键命令在更新任何翻译README.zh-CN.md、README.hi.md、README.sw.md之后先刷新并验证章节清单python scripts/i18n/check_readme_drift.py --update python scripts/i18n/check_readme_drift.py--update基于当前README.md与各翻译文件重建 docs/i18n/readme_section_hashes.json写出版本号为 1 的清单含version、source、glossary、translations四部分。不带参数运行执行只读校验check_repository发现漂移即抛出DriftError并以非零退出码结束。5.2 校验的四个维度从 scripts/i18n/check_readme_drift.py 源码check_repository与_validate_translation_structure可以看到漂移检测覆盖四件事章节对等section parity脚本用split_h2_sections把 Markdown 按 H2 标题切分为 preamble 各章节翻译文件必须与源文件有完全相同的章节数与顺序且语言切换器language switcher必须互相链接源指向翻译、翻译指向源否则报错。哈希一致性每个章节正文计算 SHA-256section_sha256先做 CRLF→LF 归一化清单中记录的source_sha256/translation_sha256必须与当前文件一致任一不一致即判定该翻译已过期stale。例如清单中README.zh-CN.md的 Multilingual PII (36 supported routes; 33 model-backed) 章节翻译标题为多语言 PII36 条支持的路由33 条由模型支持若源章节改动哈希立刻失配。相对链接完整性validate_relative_links用正则抽取 Markdown/HTML 链接目标排除外部 scheme 与锚点后检查每个本地链接是否真实存在防止翻译过程中丢失或改坏链接。链接目标一致性翻译必须保留源 README 的全部链接、徽章与图片目标source_targets ! translation_targets即报错避免翻译者误删某个图片引用。5.3 错误分类与排查路径DriftError汇总所有错误后一次性输出错误信息会明确指出现象与修复方向例如章节数不匹配README.zh-CN.mdhas N H2 sections;README.mdhas M. Add a translated counterpart for every source H2 section.翻译过期README.zh-CN.mdis stale for section How it works becauseREADME.mdchanged. Review the translation usingdocs/i18n/glossary.md, then update the manifest.清单缺失提示先对照术语表评审后执行--update。由此形成闭环改源 README → 用术语表评审各翻译 →--update刷新哈希 → 无参运行验证。六、底层支撑BCP 47 语言标签的结构化标准化术语表约束的是词怎么译而 OpenMed 的多语言能力还需要语言怎么标识的统一。仓库通过 openmed/core/locale_tag.py 提供离线、纯标准库的 BCP 47 标签标准化工具配套文档见 docs/i18n/locale-tags.md。6.1 两个核心 API 与调用示例from openmed.core.locale_tag import normalize_locale_tag, normalize_locale_tags assert normalize_locale_tag(ZH-hant-tw) zh-Hant-TW assert normalize_locale_tags([sr-latn-rs, es-419]) (sr-Latn-RS, es-419) aliases {en_US: en-US, iw: he} assert normalize_locale_tag(EN_us, aliasesaliases) en-US assert aliases {en_US: en-US, iw: he} # 调用方映射不被修改normalize_locale_tag(tag, *, aliasesNone)规范化单个标签输出language[-Script][-REGION][-variant...]规范形。normalize_locale_tags(tags, *, aliasesNone)按输入顺序校验一组标签可视为注册表遇到重复的规范形包括大小写变体或别名指向同一规范形抛locale_tag_duplicate。6.2 刻意收敛的语法子集Deliberately Limited Grammar从源码_LANGUAGE/_SCRIPT/_REGION/_VARIANT四个正则可见其设计边界语言子标签28 个 ASCII 字母文字script4 个字母地区region2 个字母或 3 位数字变体variant58 个字母数字或数字开头 4 字符。大小写规则语言/变体小写、文字首字母大写、地区大写、数字地区不变。重复变体按大小写不敏感拒绝locale_variant_duplicate如sl-rozaj-ROZAJ标签总长上限MAX_LOCALE_TAG_LENGTH 255。明确不支持 extlang、扩展en-u-ca-gregory、私有使用x-private与 grandfathered 标签i-klingon不下发任何 IANA 注册表也不做完整 IANA 一致性校验空白不静默剥离、下划线不静默转换。6.3 显式别名与隐私友好的错误别名映射如{en_US: en-US, iw: he}由调用方传入使用前校验、绝不修改拒绝大小写冲突键、非法条目与别名链/环locale_alias_chain_unsupported且不提供隐式旧名映射——iw不配别名就永远是iw。错误类别固定为六个常量字符串locale_tag_invalid、locale_variant_duplicate、locale_tag_duplicate、locale_alias_invalid、locale_alias_duplicate、locale_alias_chain_unsupportedLocaleTagError继承ValueError且错误中不嵌入被拒绝的标签/别名值——这对医疗场景很重要避免校验失败时把可能含敏感信息的标识符带进日志。同时该工具只做结构校验不检测文本语言、不评估翻译质量、不判断临床适用性。6.4 测试验证单元测试 tests/unit/core/test_locale_tag.py 覆盖了结构子集与大小写组合ZH-hANT→zh-Hant、sl-ROZAJ-BISKE-1994→sl-rozaj-biske-1994、非法输入拒绝空串、en-USA、全角字符、路径穿越样例en-US/../../fixture、重复变体、长度边界、显式别名与恒等别名幂等、注册表去重、顺序稳定性、非字符串类型报错以及 JSON 注册表文件的读-规范-写端到端往返。运行命令为uv run --frozen --extra dev pytest tests/unit/core/test_locale_tag.py -q无需模型权重与网络调用测试纯离线执行。七、把整套 i18n 治理接入你的工作流综合术语表、漂移脚本与语言标签工具OpenMed 的多语言文档治理可以总结为一条可复用的流水线翻译前查术语表docs/i18n/glossary.md中按语言查询 canonical renderings产品、模型、协议等名称一律保留官方原形。翻译后校验链接与结构确保 H2 章节数、顺序、语言切换器、相对链接与源 README 完全一致。刷新哈希清单python scripts/i18n/check_readme_drift.py --update。只读验证python scripts/i18n/check_readme_drift.py通过则输出README translation drift check passed.。语言标识统一涉及多语言注册表如 PII 语言代码列表时用normalize_locale_tag/normalize_locale_tags做结构标准化与去重具体 PII 语言代码清单参见 docs/languages.md。这套机制的收益是双重的对人类维护者术语表 哈希清单让某章翻译是否过期变成一条命令可判定的事实对Agent / LLM 驱动的翻译流水线canonical renderings 是可机器检索的约束表漂移脚本是可执行的验收闸门——这正是 OpenMed 在 README.zh-CN.md 中强调同一套SKILL.md可用于 Claude Code、OpenAI Codex、OpenCode 等智能体之外文档工程层面同样对智能体友好的体现。八、进一步阅读术语表原文docs/i18n/glossary.md漂移校验实现scripts/i18n/check_readme_drift.py哈希清单含各翻译章节标题与 SHA-256docs/i18n/readme_section_hashes.json语言标签工具openmed/core/locale_tag.py 与 docs/i18n/locale-tags.md单元测试tests/unit/core/test_locale_tag.py术语落地样例README.zh-CN.md、README.hi.md、README.sw.md后两者与README.md一起受漂移校验保护【免费下载链接】openmedLocal-first healthcare AI: clinical NER HIPAA PII de-identification that runs 100% on-device. 2,200 medical models, 21 languages, Apple MLX Python, no cloud, no patient data leaving your network. Apache-2.0项目地址: https://gitcode.com/GitHub_Trending/ope/openmed创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考