资讯动态

Zulip 中文翻译指南:术语表、语言风格与实战规范全解析

发布时间:2026/9/12 15:12:17 来源:尧图企业网站定制
Zulip 中文翻译指南术语表、语言风格与实战规范全解析【免费下载链接】zulipZulip server and web application. Open-source team chat that helps teams stay productive and focused.项目地址: https://gitcode.com/GitHub_Trending/zu/zulip导读本文以 Zulip 官方《Chinese translation style guide中文翻译指南》为核心系统梳理 Zulip 简体中文本地化的术语选词、习惯用语与语气规范并结合仓库中真实的翻译资源文件如locale/zh_Hans/translations.json与locale/zh_Hans/LC_MESSAGES/django.po以及 docs/translating/translating.md、docs/translating/internationalization.md 中描述的翻译工作流帮助你理解每一个翻译决策背后的理由从而在 Weblate 上或直接编辑翻译文件时保持术语一致、语气得体、风格统一。总原则口语化的英文正式化的中文Zulip 的英文原文文风比较口语化colloquial而中文翻译团队选择了一种略微正式但不刻板的语言风格。同时Zulip 作为一款现代化的互联网应用中文翻译大量借鉴了中国用户熟悉的微博、微信、QQ 邮箱等软件的习惯用语以贴近国内用户的使用直觉。这条总原则贯穿于下文所有的术语选择与句式处理中先保证中文读起来自然、正式、符合用户预期其次再谈忠实直译。这也解释了为什么本文档中大量术语采用意译而非字面直译。核心术语表Terms以下术语表是整个中文翻译体系的地基在locale/zh_Hans/translations.jsonWeb 前端字符串当前约 2282 条与locale/zh_Hans/LC_MESSAGES/django.po服务端字符串当前约 8000 行中逐条落实。任何译者在翻译前都应先核对本表避免同一英文词在不同页面出现不同译法。Message —— 消息Message 可直译为消息或信息两者皆可但翻译团队统一选用**消息**。派生译法如下英文中文理由Stream Message频道消息与频道术语体系保持一致Direct Message直信 / 私信借鉴微博、微信的用语习惯Starred Message星标消息类比 QQ 邮箱的星标邮件功能从翻译资源文件可以印证这些决策的实际落地情况Go to starred messages: 前往星标消息locale/zh_Hans/translations.json第 857 行Starred messages: 星标消息同文件第 1611 行Star this message: 添加星标消息标记同文件第 1610 行You have no starred messages.: 您尚未有星标消息。同文件第 2115 行需要特别说明的是Direct Message 在现行版本中多以**私信**出现例如Direct message: 私信、DIRECT MESSAGES: 私信同文件第 596、508 行与微博、微信的私信概念一致符合指南与国内使用习惯保持一致的要求。Stream —— 频道Stream 是 Zulip 最核心的组织概念。翻译团队曾考虑过群组Group主题Subject版块栏目Column等候选译法最终选择**频道Channel**其灵感来源于游戏 Ingress 中的聊天 Channel。选词依据有三层语义契合Stream 可以新建/删除Create/Delete也可以订阅/退订Subscribe/Unsubscribe这组动词搭配与频道完全兼容结构能力Stream 内部还可以发起话题Topic讨论频道天然暗示了这种频道内分层级的结构简洁性另一个备选讨论组源自 QQ 的临时群组概念多一个字稍微有点啰嗦。当前翻译资源中该决策被严格执行例如(link to channel): 链接到频道、A channel with this name already exists.: 已存在同名的频道。locale/zh_Hans/translations.json第 7、63 行。甚至旧术语 Stream 出现在更早版本字符串中时也以z-stream/z-stream占位符形式保留并在新版本中被Channel取代。Topic —— 话题Topic 对应 Zulip 中频道内部的讨论子主题统一翻译为**话题**。例如(links to topic): 话题链接locale/zh_Hans/translations.json第 10 行以及A topic move is already in progress.: 正在对话题进行移动。第 70 行。Invite-Only / Public Stream —— 私有 / 公开频道Invite-Only Stream 指必须由频道内部用户邀请才能订阅的频道。这类频道私密性极高——用户在没有订阅时根本无法感知到它的存在。直译仅邀请频道读起来拗口因此选择意译为**私有频道**与公开频道Public Stream形成清晰对立。Bot —— 机器人统一翻译为**机器人**。翻译资源中可见大量应用例如A deactivated bot cannot send messages, access data, or take any other action.: 停用的机器人无法发送消息、访问数据或执行任何其他操作。locale/zh_Hans/translations.json第 64 行。Integration —— 应用整合Integration 原意为集成或整合表示将其他应用或服务与 Zulip 实现对接。为了中文表达意思完整补充翻译为**应用整合Application Integration**。翻译资源中也可看到与集成并存的实例如Generate URL for an integration: 生成集成的 URL——这提示译者指南给出的是基准个别字符串会因语境微调但应保持整合/集成同一语义族。Notification —— 通知统一翻译为**通知**这是与消息并列的高频词广泛出现在设置项与提示文案中。Alert Word —— 提示词Alert Word 指用户自定义的、能触发提醒的关键词翻译为**提示词**。在资源文件中对应的现代译法为提醒词如Add a new alert word: 新增提醒词locale/zh_Hans/translations.json第 141 行附近——两者同义译者可按界面语境选用。习惯用语Phrases除术语外Zulip 英文界面中还有一批反复出现的短语。指南为它们规定了统一的、非字面的译法。Subscribe / Unsubscribe —— 订阅 / 退订Subscribe/Unsubscribe 统一译为**订阅/退订完成时态Subscribed/Unsubscribed译为已订阅/已退订**。英文中有时用 Join 表达与 Subscribe 相同的含义同样翻译为订阅。资源文件中的实例All users were already subscribed.: 全部用户均已订阅。Skipped unsubscribed channels: 跳过未订阅频道Narrow to ... —— 筛选Narrow to ... 表示将范围缩小至……指南选择翻译为**筛选Filter**理由有二汉语中筛选表示按指定条件挑选与narrow the scope语义共通筛选是大众化的计算机用语如 Microsoft Excel 的筛选功能易于被普通用户接受。同时有一个重要的语境例外在搜索功能语境中Narrow to ... 出于可读性考虑不译为筛选而译为搜索。例如资源文件中的Narrow to direct messages that include z-value/z-value.: 定位至包含z-value/z-value的私信。以及Narrow to starred messages.: 筛选星标消息——可见实际翻译会根据上下文在筛选定位至搜索之间灵活选择译者应优先保证中文读起来自然。Mute / Unmute —— 开启 / 关闭免打扰Mute 常见的直译是静音多见于电视设备语境但用在 Zulip 中并不合适。指南选择意译为**开启/关闭免打扰Turn off/on Notification**与微信的消息免打扰用语习惯一致。翻译资源中同样可见All messages including muted channels: 全部消息包括静音频道这类按具体场景微调的例子但免打扰是设置项主译法。Deactivate / Reactivate —— 禁用 / 启用帐户关闭 / 激活社区这一对词根据作用对象区分译法是最能体现按语境翻译的案例作用对象英文中文用户账户Deactivated users禁用的用户社区RealmYour realm has been deactivated.您的社区已关闭资源文件中有多处印证例如Deactivated users: 停用成员列表locale/zh_Hans/translations.json以及z-user/z-user 将停用包括用户、频道管理和频道订阅。这类与停用Deactivation语义相关的句子。翻译时需判断当前字符串描述的是人还是组织/社区再选择禁用/启用还是关闭/激活。Invalid —— 不正确Invalid 主要用于异常信息普通用户很少见到。可选译法有错误非法不合法为保持习惯一致指南统一译为**不正确**例如 Invalid API key 译为API 码不正确。一个值得注意的仓库实证在locale/zh_Hans/LC_MESSAGES/django.po中Invalid API key 的实际译文是错误的 API key文件第 4947-4949 行字符串来源标注为zerver/lib/exceptions.py。这说明指南给出的是倾向性规范具体字符串在演进中可能被更新为更直白的说法译者应把指南当作默认基准同时尊重现有资源文件中已确立的译法。I want ... —— 开启I want ... 主要出现在设置页面直译为我想……我要……过于口语化不符合中文设置界面的正式表达习惯因此意译为**开启某某功能选项**。这条规则提醒译者设置项文案应当描述操作结果而非用户愿望。User / People / Person —— 用户这三个英文词在 Zulip 中均指使用平台的个人统一翻译为**用户**不做区分。语气与人称规范OthersYou / Your —— 您 / 您的出于对用户的尊重第二人称统一使用敬语**您/您的**而非你/你的。这一点在翻译资源中贯彻得非常彻底几乎所有面向用户的文案都使用您例如您尚未有星标消息。、您确定直接加入么。We —— 我们或不翻We 一般译为第一人称我们但中文使用习惯中不太以自我为中心大量使用我们的情况较少因此很多时候选择不翻译或转换句式。指南给出的范例Still no email? We can resend it → 仍然没有收到邮件点击重新发送即把We can resend it转化为祈使句点击重新发送读起来更符合中文习惯。感叹号与句号 ——一般省略感叹号在 Zulip 英文界面中出现非常多但英文感叹号的语气比中文略轻。因此中文翻译建议省略大部分感叹号除非确定有必要保留句号。在中文排版中影响美观一般也建议省略句末留空即可。这条规则直接影响界面的视觉密度是中文翻译区别于英文排版的重要特征。翻译风格指南在整体本地化体系中的位置docs/translating/chinese.md只是 Zulip 多语言风格指南之一。完整的指南清单含芬兰语、法语、德语、印地语、日语、波兰语、俄语、西班牙语见 docs/translating/translating.md。该文档同时建议把风格指南的决策同步录入 Weblate 术语表glossary以便翻译界面内联提示。从 docs/translating/internationalization.md 可以了解这些翻译文件是如何进入系统的开发者在代码与模板中用_()、{{ t ... }}、{{#tr}}...{{/tr}}、{% trans %}...{% endtrans %}等标记待翻译字符串通过./manage.py makemessages生成各语言的资源文件——Web 端为locale/语言码/translations.json服务端为locale/语言码/LC_MESSAGES/django.po资源文件被 Weblate 扫描译者在线翻译维护者合并 Weblate 的提交进入代码库。中文翻译就保存在locale/zh_Hans/目录下Web 端translations.json、服务端django.po另有legacy_stream_translations.json存放旧版频道相关的历史字符串。如何验证中文翻译效果根据 docs/translating/translating.md 中的Testing translations一节中文译者可以在本地开发环境验证翻译效果以语言码作为 URL 前缀访问例如查看登录页中文版可访问http://localhost:9991/zh-hans/login/Zulip 中文语言码为zh-hans此方法适用于包括登出页在内的所有界面登录后的 Web 应用可在 Zulip UI 中直接切换语言登出页面portico会自动使用操作系统/浏览器配置的语言Zulip 判定用户语言时遵循的优先级是URL 前缀语言码 →django_languageCookie → HTTP 请求的Accept-Language头。服务端默认语言码在 zproject/computed_settings.py 中由LANGUAGE_CODE en-us定义启用国际化由USE_I18N True控制。给中文译者的实战建议综合指南与仓库现状向参与 Zulip 中文翻译的译者提出以下可操作的检查清单先查术语表再动笔遇到 Message / Stream / Topic / Bot / Mute / Deactivate 等高频词先对照本文术语表再在locale/zh_Hans/translations.json与django.po中用grep检索既有译法保持全文一致区分语境再选词Deactivate 要看作用对象用户→禁用、社区→关闭Narrow to 要看是否处于搜索语境筛选 / 定位至 / 搜索不要翻译代码与变量字符串中的{variable}、z-link、z-user、%s等占位符与 HTML 标签必须原样保留可参见 docs/translating/translating.md 中Dont translate variables or code一节中文译文中的标点与占位符顺序应保证代码可正常插值语气统一用您尽量少用我们感叹号与句末句号按指南省略留意服务端与前端两套文件服务端 API 错误消息如django.po中的 Invalid API key同样面向用户属于完整翻译的一部分不应遗漏关注 Weblate 中的Django与Frontend组件这两个组件承载服务器与 Web 应用下一个大版本的字符串是翻译工作的优先对象。结语中文翻译风格指南用一套简洁的术语表和几条语气规则解决了 Zulip 本地化中最关键的一致性问题让翻译既保留 Zulip 产品特色又贴合中文互联网用户的使用习惯。无论是术语消息/频道/话题/私信/星标消息还是语气您、免打扰、省略标点每一个决策都能在locale/zh_Hans/的真实翻译资源中找到落地的例证。对于新加入的译者这份指南加上仓库中的翻译资源文件就是保证翻译质量的最可靠参考。【免费下载链接】zulipZulip server and web application. Open-source team chat that helps teams stay productive and focused.项目地址: https://gitcode.com/GitHub_Trending/zu/zulip创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价