彭涛

  • 首页
  • AI编程出海
  • 千里会
  • 博客
    • Github 精选项目
    • Python 资料领取
    • 个人IP
  • 关于我
聚焦 AI 编程与出海实战,分享实用方法与创业经验,还有很多副业玩法。

首页 » 未分类 » 出海网站实战:多语言到底怎么做?一次完整的翻译系统落地复盘

出海网站实战:多语言到底怎么做?一次完整的翻译系统落地复盘

2025年12月26日 114点热度 0人点赞 0条评论

把 toolcenter 的工具描述翻译功能做完了,正好来分享一下关于网站多语言的相关内容,主流方案、技术选型思考、实操流程。img

网站本身已经用 next-intl 做了界面的多语言支持,但工具的描述内容取决于提交时候的语言,收录的是中文就是中文,英文就是英文。

这带来一个问题:中文用户访问 /zh/tools/xxx 时,页面框架是中文的,但工具描述是英文的。体验上不太统一,SEO 上也不太理想,搜索引擎会认为这是一个"伪多语言"页面。优化完之后:

img

img

先区分一下网站多语言涉及的两类不同内容:

UI 文案:按钮文字、导航菜单、表单标签、提示信息等。这类内容是固定的,数量有限,改动频率低。

动态内容:用户生成的内容、商品描述、文章正文等。这类内容存在数据库里,数量大,可能持续增长。

img

UI 文案用 JSON 文件管理是标准做法,我用的是 next-intl。这篇重点聊一下动态内容的多语言存储方案。

数据库方案:字段后缀 vs JSONB vs 翻译表

做多语言内容存储,常见的方案有三种:

方案 A:字段后缀

description TEXT,        -- 英文
description_zh TEXT,     -- 中文

优点是查询简单,直接select,可以给每个字段单独建立索引。缺点也明显,每加一种语言就要新增字段,表会越来越庞大。

适合只做两三种语言,对于查询性能要求高的场景。

方案 B:JSONB 存储

description JSONB,  -- {"en": "...", "zh": "..."}

扩展语言不需要改动表结构。

问题在于现在有成百上千条数据都要迁移格式,而且 PostgreSQL 的 JSONB 字段在更新时会全量复制,对于频繁查询的场景,性能影响太大了。

方案 C:独立翻译表

tool_translations (tool_id, locale, description, ...)

不需要改动主表,新增语言只需要扩展翻译表。缺点是查询需要两表关联,性能稍微差点。比较适合需要支持 5+ 种语言,或者语言列表会动态增长。

我选择了加字段,这样做的好处是查询简单,前端逻辑清晰。而且当前我这个网站只需要中英双语,所以还不太需要翻译表,后期确实计划做更多语言,到时候再迁移也不迟。

翻译 API:怎么选

调研了几个翻译服务的免费额度:

服务 免费额度 备注
腾讯翻译君 500万字符/月 中英互译质量不错
小牛翻译 600万字符/月 专业术语翻译好
火山翻译 200万字符/月 字节系产品
百度翻译 100万字符/月 通用场景稳定
Google 50万字符/月 超出后价格较贵
DeepL 50万字符/月 欧洲语言最佳

粗算了一下翻译量,腾讯的 500 万字符免费额度对网站目前的数据量来说绰绰有余,而且国内平台接入方便,不需要绑定信用卡,后期超过了就付费。img

实现细节

技术细节我们不用管,都交给Claude code 或者 codex 就行,非技术的朋友完全不用担心搞不懂啥的,问AI就行。要是对这块感兴趣的朋友也可以研究。

建议先用plan模式讨论实现方案,确定之后再让AI执行,避免失控,尤其是网站已经初具规模。

快捷键:Shift + Tab

按多次会循环切换:

第一次 Shift + Tab → Auto-accept 模式(自动接受)

第二次Shift +Tab →Plan 模式(只规划不执行)

第三次Shift +Tab →回到 Edit 模式(正常模式)

Plan 模式的作用:

Claude 只做研究和规划,不会修改文件或执行命令

会先整理出详细计划让你确认,再执行

适合复杂重构或需要谨慎操作的场景

img

img

需要我们手动操作的部分我记录下来了,主要是拿到翻译的API key 和 执行SQL语句。

Step 1: 翻译API key 获取(以腾讯机器翻译为例)

  • 登录 https://console.cloud.tencent.com/tmt
  • 开通机器翻译 TMT 服务

img

img

  • 获取 SecretId 和 SecretKey

要去访问管理获取

1、点击右上角头像 → 访问管理,或直接访问:https://console.cloud.tencent.com/cam/capi

img

2、点击 新建密钥 或使用已有的密钥,那里会显示你的 SecretId 和 SecretKey。

img

img

注意,密码只会显示一次,记得复制保存下来。

  • 添加到 .env.local 文件:
TENCENT_SECRET_ID=xxx
TENCENT_SECRET_KEY=xxx

Step 2: 数据库改造

去supabase执行AI给你的SQL语句。

ALTER TABLE tools ADD COLUMN description_zh TEXT;
ALTER TABLE tools ADD COLUMN long_description_zh TEXT;
ALTER TABLE tools ADD COLUMN short_description_zh TEXT;

img

总结

如果你也在做多语言功能,可以参考这个决策路径:

UI 文案(按钮、导航、提示):

  • 用 JSON 文件 + i18n 库,这是标准做法
  • Next.js 推荐 next-intl,React 推荐 react-i18next

动态内容(数据库里的业务数据):

  • 只需要 2-3 种语言 → 字段后缀(简单直接)
  • 需要 5+ 种语言 → 翻译表(灵活扩展)
  • 语言多但查询少 → JSONB(结构紧凑)

翻译 API:

  • 预算充足 → DeepL(质量最好)或 GPT-4(上下文理解强)
  • 免费优先 → 腾讯/小牛/火山(国内平台额度大)
  • 欧洲语言 → DeepL(这是它的强项)

img

方案选择没有绝对的对错,适合当前项目情况的就是好的。

💡 AI 工具的爆发,让普通人也能快速做出产品。

但如何做?如何变现?如何真正走向海外市场?
👉 想了解更多 AI 编程 & 出海实战信息

扫码或微信搜索 257735,发送暗号 【美金】
了解详情,加入实战社群。

微信二维码

微信扫一扫,了解更多详情


🚀 我们的出海作品展示平台上线啦!

欢迎访问 Showcase 平台, 这里汇聚了学员的出海实战作品,方便大家获得反馈、积累曝光机会。
我们还会定期举办创作活动与奖励计划,欢迎来逛逛!


🔗 更多教程请访问 ipengtao.com
标签: SEO 建站 独立开发
最后更新:2025年12月26日

彭涛

创业者 & Python 工程师 &「AI 出海」实践者。 关注:AI 编程出海 / 爬虫 & RPA / 增长与变现。 📮vx:257735(欢迎交流)

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

文章目录
  • 数据库方案:字段后缀 vs JSONB vs 翻译表
  • 翻译 API:怎么选
  • 实现细节
    • Step 1: 翻译API key 获取(以腾讯机器翻译为例)
    • Step 2: 数据库改造
  • 总结
分类
  • AI工具
  • Github 精选项目
  • Python 第三方库
  • Python 资料领取
  • 个人IP
  • 出海实战
  • 实战案例
  • 工具推荐
  • 教程与指南
  • 编程工具
最近评论

COPYRIGHT © 2025 彭涛. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14006373号