全站语言与翻译
当前模板默认启用英文与简体中文,保留可选西班牙语。官网、产品公开页、工作台、相关邮件、核心使用指南和教程界面支持双语;历史迭代及验收记录保留中文。产品仍在本地迭代,不接真实产品;静态官网与双语教程已单独授权发布。
配置产品语言
唯一入口为 packages/core/website.ts 的 i18n。英文必须排第一项,metadata.language 保持 en。中文的标语、两行首页标题、描述和全部方案说明放在 translations.zh,不能为空。可选西语读取 translations.es。
i18n: {
locales: ["en", "zh"],
translations: {
zh: { /* 完整中文产品文案,参考源码 */ },
es: null,
},
},以上是结构示意,不是完整可运行配置。仅英文产品可使用 locales: ["en"],停用语言的译文可设为 null。运行 bun run config:check 后重建全部应用。重复或未知语言、启用但缺少产品说明会拒绝检查及构建。
不添加浏览器语言自动跳转、语言 Cookie 或新环境密钥。语言由网址明确表达;修改启用列表需要完整替换构建资产,避免旧页面残留。
页面范围与位置
| 页面 | 英文 | 中文 |
|---|---|---|
| 首页、功能、价格 | /、/features、/pricing | /zh/、/zh/features、/zh/pricing |
| 工具、博客、联系与页脚页面 | 原路径 | /zh 加原路径 |
| 登录、注册、找回与重置 | 原路径 | /zh 加原路径 |
| 工作台、任务、文件、历史、积分、购买 | 原路径 | /zh 加原路径 |
| 成员、邀请、设置、站点管理 | 原路径 | /zh 加原路径 |
| 产品 RSS | /rss.xml | /zh/rss.xml |
| 模板官网 | 原路径 | /zh 加原路径 |
| 核心教程 | /en/agentbuff-stack/ | /agentbuff-stack/ |
API、认证签名入口、私有文件下载和 /_app/ 资产始终使用根路径。未知功能不会因为加上 /zh 就存在。关闭中文后,公开页不再生成,边缘也不将中文路径交给工作台。
| 文案或规则 | 位置 |
|---|---|
| 产品说明与方案描述 | packages/core/website.ts |
| 语言登记与路由 | packages/core/locales.ts、routing.ts |
| 公开页与功能文案 | apps/web/lib/locales/en.ts、zh.ts、es.ts |
| 工具名、步骤与完整 FAQ | packages/core/tool-locales.ts |
| 推荐、营销同意及申请界面 | packages/core/referral-copy.ts、marketing.ts、apps/web/lib/marketing-copy.ts |
| 工作台完整字典及稳定错误码 | apps/app/lib/locales/、locale-errors.ts |
| 邮件主题、预览与正文 | apps/email/locales.ts |
| 请求语言的服务器选择 | apps/api/lib/email-locale.ts |
| 产品文章目录与校验 | apps/web/lib/posts.ts、blog-catalogue.ts |
| 独立官网字典与模块 | apps/website/lib/i18n.ts、modules.ts |
| 核心英文教程与教程界面 | docs/en/agentbuff-stack/、docs/.vitepress/ |
双语共用页面组件与业务逻辑,中文字典按英文字典类型校验。原始输入、代码、品牌、标识、金额、密钥、审计原因和历史流水备注不翻译。日期与金额的展示使用所选语言,不修改权威数值。
切换与登录回跳
公开语言菜单只链接当前页面真实存在的版本,并提供对应规范链接、语言替代标记和站点地图。公开切换不复制任意查询参数或令牌。
工具切换语言会重新加载,应先复制尚未保存的输入。匿名保存时,输入暂存在当前标签页,安全登录后返回同语言同工具恢复预览,不自动保存。存储不可用时会保留页面提示,不丢弃输入后跳走。
工作台只有一份路由树。地址改写保留支持的任务或购买标识、查询及片段,并同步调整安全 returnTo。密码、验证码、注册验证、第三方回调及密码重置沿用所选受支持路径。语言不影响账号、团队、权限、积分或执行次数。
博客与缺译文
产品英文原稿在 apps/web/content/blog/*.md,中文在 zh/,文件名相同。标题、简介、分类和正文都必须完整;保留示例代码及原数据,内部链接指向实际语言版本。作者、发布日期、更新日期和事实应一起核对。
英文草稿不发布任何译文。中文缺失或为草稿时,中文列表不偷偷混入英文,也不产生中文详情、RSS 条目或替代链接。空正文、孤立译文、无效日期、未知工具会拒绝构建。可选西语保留原有明确标注的英文回退。
官网内容独立放在 apps/website/content/,使用 locale 与稳定的 translationKey 配对,不读取产品文章。案例应是基于模板建成的独立站,演示内工具不算案例。
邮件与托管支付
即时认证邮件按请求中已启用语言选择,未知或停用值回退英文。营销请求保存当时展示的同意文案及语言;任务邮件偏好保存用户主动选择的语言。后续切换页面或重启不会更改已排队请求的语言和载荷。停用语言会停止新投递,但保留历史撤回入口;旧未保存语言的邮件沿用原兼容载荷。
积分包和订阅保存原支付请求的语言及回站路径。同键重试保留原选择,换语言不能借同键建立另一次支付。中文支付配置与模板流程可本地检查,真实供应商页面、真实付款和送达仍需独立验收。
现有语言字段是文本,但邮件、营销和积分购买有语言检查约束。新增 0035_chinese_locales.sql 仅放宽对应约束,保留原值和旧请求;启用相关中文持久化模块前需在已核实的目标库完整升级。主预览维持已授权的 0012 水平;通知、营销、推广等可选表不因翻译自动升级。
教程界面与历史
中文教程保留原网址,英文核心指南在 /en/。核心页正文上方提供对应语言链接;全局语言菜单回到对应语言首页,避免历史中文页切出不存在的英文网址。搜索、目录、页尾、主题切换及复制提示随教程语言变化。
英文目录中的历史链接明确标注中文,历史验收内容不改写。译文根据现有文案编写,适配真实产品时应复核业务说明、隐私草案及措辞。未完成的真实服务验收仍如实保留。
本地核对
检查两种语言的主页面、移动菜单、主题、键盘焦点、工具输入输出和登录回跳;检查实际文章正文、分类搜索、RSS、规范与替代链接;验证关闭语言、缺译文及草稿不会产生虚假页面。邮件与支付测试使用捕获器及隔离测试数据,不接真实产品或发布云端。