开源项目的错误信息如何翻译

wen 开源项目 4

本文目录导读:

开源项目的错误信息如何翻译

  1. 核心翻译原则
  2. 常见错误信息术语翻译对照表
  3. 不同句子结构的翻译技巧
  4. 几个常见开源项目错误信息翻译示例
  5. 翻译流程建议(适用于团队或 PR)
  6. 总结一句诀窍:

翻译开源项目的错误信息时,需要兼顾技术准确性简洁性用户可理解性,以下是一些常见的翻译原则、技巧以及具体的术语翻译建议:

核心翻译原则

  1. 保持技术准确性:不要随意意译。NullPointerException 必须翻译为“空指针异常”,而不是“空值错误”。
  2. 保留变量占位符:代码中的 %s{0}$variable 等占位符必须原样保留,不能翻译。
  3. 保持格式和标点:英文的冒号、引号、方括号通常保留;句号根据中文习惯可以保留或省略(中文错误信息传统上不加句号)。
  4. 专业术语统一:在同一个项目或生态内,术语必须一致(Node 不能一会儿叫“节点”,一会儿叫“结点”)。

常见错误信息术语翻译对照表

英文术语 建议中文翻译 说明
Error 错误 一般情况
Exception 异常 程序运行时抛出的异常
Warning 警告 不影响运行但需要关注
Fatal 致命错误 导致程序终止
Invalid 无效 / 非法 Invalid argument -> 无效参数
Not Found 未找到 File not found -> 文件未找到
Permission denied 权限不足 / 拒绝访问 不建议直译为“权限被拒绝”
Timeout 超时 Connection timeout -> 连接超时
Failed to ... 无法 ... / ... 失败 Failed to connect -> 连接失败
Null / None 空 / 无 Null value -> 空值
Syntax 语法 Syntax error -> 语法错误
Cluster 集群 分布式系统中的术语
Runtime 运行时 Runtime exception -> 运行时异常
Cache 缓存 注意不要误译为“隐藏”或“贮藏”

不同句子结构的翻译技巧

主谓宾结构(常见于描述状态)

  • 英文The file does not exist.
  • 中文文件不存在。
    • 技巧:省略定冠词“The”,使用主动或判断句式。

祈使句(常见于用户操作提示)

  • 英文Please specify a valid directory.
  • 中文请指定一个有效的目录。
    • 技巧:保留“请”字,直接翻译动作。

被动语态(英文常用,中文要改主动)

  • 英文An unexpected error was encountered.
  • 中文遇到了意外错误。发生意外错误。
    • 技巧:将“was encountered”翻译为“遇到”或“发生”,去掉“被”。

参数化信息(包含变量)

  • 英文Error: Cannot connect to server %s at port %d.
  • 中文错误:无法连接到服务器 %s,端口 %d。
    • 技巧:保留 %s%d,语序调整至符合中文习惯。

技术栈名词(特定框架术语)

  • 英文JSON Parse Error: Unexpected token < in JSON at position 0
  • 中文JSON 解析错误:在位置 0 处发现非预期的标记 <
    • 技巧:Parse 翻译为“解析”,Unexpected token 翻译为“非预期的标记”。

几个常见开源项目错误信息翻译示例

英文原文(模拟) 直译 专业润色翻译
FATAL: cannot open file of type 'log' 致命:不能打开类型为'日志'的文件 致命错误:无法打开“log”类型的文件
WARNING: The disk is almost full. 警告:磁盘几乎满了。 警告:磁盘空间即将用尽。
Error 500: Internal Server Error 错误 500:内部服务器错误 错误 500:服务器内部错误
Operation timed out after 30000 milliseconds 操作在 30000 毫秒后超时 操作超时(30000 毫秒后)
Cannot find module 'react' 不能发现模块 'react' 找不到模块 “react”

翻译流程建议(适用于团队或 PR)

  1. 提取源字符串:从 .properties.json.po 或代码中的 gettext() 提取。
  2. 逐条翻译:遵循上述原则,保留变量和标签。
  3. 上下文审查:错误的翻译往往发生在缺乏上下文时(bus 在“USB bus”中译为“总线”,在“bus error”中可能是“总线错误”,而在“bus stop”中才指“公交车”)。
  4. 技术校对:最好由了解该功能的开发者或高级用户校对,确保不会造成误解(例如将“数据库连接池”误解为“数据库池”)。
  5. 保持一致性:使用术语表工具(如 Crowdin, Transifex)或规范文档。

总结一句诀窍:

“术语准确,语序通顺,保留占位,标点适中。”

如果需要翻译某个具体的开源项目(如 Node.js, Python, Docker, Git 或某个特定库)的错误信息,可以直接提供原文,我会更精准地帮你翻译。

抱歉,评论功能暂时关闭!