上个月,我们完成了一个项目,通过传统翻译机构翻译的话需要花费15万到30万美元。我们的总成本是660美元。那是118页翻译成30种语言,每种语言大约22美元。不,这不是笔误。也不,质量并不差。

我想详细讲解我们是如何做到的——架构、工具、提示词工程、质量保证流程,以及诚实的权衡。因为便宜并不意味着质量差,但这意味着你需要聪明地选择在哪些地方投入精力。

目录

项目范围

客户是一家B2B SaaS公司,正在扩展到欧洲、亚洲和拉丁美洲市场。他们的营销网站有118页:登陆页、功能页、博客文章、法律页面和文档。内容原文是英文。

目标语言包括常见的——西班牙语、法语、德语、日语、韩语、汉语(普通话)——以及一些较难找到翻译者的语言,如爱沙尼亚语、拉脱维亚语、立陶宛语和斯洛文尼亚语。总共30种语言。

以下是内容量的一些快速计算:

指标 数量
总页数 118
每页平均字数 ~620
总英文字数 ~73,160
总翻译字数 ~2,194,800 (73,160 × 30)
语言数 30
总成本 ~$660
每种语言成本 ~$22
每翻译字的成本 $0.0003

作为参考,专业人工翻译通常按$0.10到$0.30每字收费,具体取决于语言对。以$0.20/字的中点计算,我们需要支付每种语言$14,632或总共$438,960。即使是使用机器翻译和轻量级人工审核的预算型机构也收取$0.05-0.08每字。

为什么传统翻译这么昂贵

我不想贬低翻译行业。人工翻译做得非常出色,对于某些内容类型,没有替代品。但以下是推高成本的原因:

按字数定价模式是为了一个每个字都需要人工认知努力的时代而设计的。翻译人员可能每天处理2,000-3,000字的技术内容。对于73,160字,那是每种语言24-36个翻译人员工作天。乘以30种语言,你就需要720-1,080个人工工作天。

稀有语言对成本更高。 找一位高质量的英语-拉脱维亚语技术翻译并不容易。供求关系就是这样。

项目管理开销是真实存在的。 翻译机构有项目经理在翻译人员、审阅者和客户之间协调。该开销被纳入按字收费中,但是是真实的。

上下文切换会消耗时间。 从事你的营销文案的翻译人员需要理解你的品牌语调、产品术语和目标受众。该熟悉时间分摊到项目上,但是是真实的。

这些都不是浪费——只是很昂贵。对于一个在这些地区验证产品-市场契合之前在翻译上花费400K美元的公司来说,很难接受。

我们的AI翻译架构

这是我们构建的系统。它不是单一API调用——它是一个管道。

第1步:内容提取和分段

该网站使用Next.js构建,这使我们的工作更容易。所有内容存储在结构化数据文件中(博客文章用MDX、UI字符串用JSON、来自无头CMS的结构化内容)。

我们编写了一个脚本来爬取所有内容源并生成规范化的中间格式:

interface TranslationUnit {
  id: string;           // 唯一键,如 "homepage.hero.title"
  source: string;       // 英文文本
  context: string;      // 该文本出现的位置(页面、部分)
  type: 'heading' | 'paragraph' | 'ui-string' | 'legal' | 'meta';
  maxLength?: number;   // 对于空间有限的UI字符串
  glossaryTerms: string[]; // 该单位中找到的产品特定术语
}

这很关键。你不想把整个页面扔给LLM,然后希望最好的结果。将内容分段成翻译单位让你能够控制上下文,让你能够以不同方式处理不同的内容类型,并使后续增量更新成为可能。

第2步:词汇表和风格指南生成

在翻译第一个字之前,我们建立了一个词汇表。这包括:

  • 产品名称(永远不翻译这些)
  • 具有首选翻译的技术术语
  • 品牌特定的短语
  • 每种内容类型的语气指南

我们实际上使用Claude来帮助通过分析英文内容并识别需要一致翻译的术语来构建初始词汇表。然后我们让客户审阅并批准。

第3步:使用Claude API进行批量翻译

我们使用Claude 3.5 Sonnet API(现在Claude 4 Sonnet可用,对此甚至更好)进行实际翻译。为什么选择Claude而不是GPT-4o或Gemini?几个原因:

  • 在一致性地遵循复杂系统提示方面更好
  • 在我们的测试中,罗曼语族和日耳曼语族的输出更自然
  • 200K上下文窗口让我们在每个请求中包含完整的词汇表和风格指南
  • 定价对我们的用例具有竞争力

我们以20-30个单位的组分批翻译,按页面和内容类型组织。每个批次都包括词汇表、风格指南以及文本出现位置的上下文。

import anthropic
import json

client = anthropic.Anthropic()

def translate_batch(units: list[dict], target_lang: str, glossary: dict, style_guide: str) -> list[dict]:
    system_prompt = f"""You are a professional translator specializing in {target_lang} 
    localization for B2B software companies.
    
    GLOSSARY (use these exact translations):
    {json.dumps(glossary[target_lang], indent=2, ensure_ascii=False)}
    
    STYLE GUIDE:
    {style_guide}
    
    RULES:
    - Preserve all markdown formatting
    - Never translate product names listed in the glossary
    - Adapt idioms naturally -- don't translate literally
    - For UI strings with maxLength, stay within the character limit
    - Output valid JSON matching the input structure"""
    
    user_prompt = f"""Translate the following translation units to {target_lang}.
    Return JSON array with same structure, replacing 'source' with 'translation'.
    
    {json.dumps(units, indent=2, ensure_ascii=False)}"""
    
    response = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=8192,
        system=system_prompt,
        messages=[{"role": "user", "content": user_prompt}]
    )
    
    return json.loads(response.content[0].text)

第4步:自动化质量检查

翻译后,每个单位都通过自动化检查:

  • 格式保留:Markdown、HTML标签和变量是否保留?
  • 长度验证:UI字符串是否在其最大长度范围内?
  • 词汇表合规性:产品名称是否未被翻译?
  • 占位符完整性{variable}占位符是否完整?
  • 反向翻译采样:将10%的输出翻译回英文并比较语义相似度

约3-4%的翻译单位失败了一项或多项检查,需要进行第二次传递,并包含具体的更正说明。

第5步:组装和集成

翻译后的单位被组装回Next.js应用期望的格式——JSON本地文件、翻译后的MDX和CMS条目。我们使用next-intl进行路由和本地化管理。

真正重要的提示词工程

我见过有人把文本扔给ChatGPT并称之为"AI翻译"。这给你大约70%的质量。70%到95%之间的差距完全在于你如何提示。

以下是改进效果的方法:

上下文是一切

告诉模型"翻译成法语"会给你通用输出。告诉它"为针对法国IT主管的B2B SaaS登陆页面翻译这个英雄标题,保持自信但不激进的语调"会给你一些可用的东西。

我们在每个请求中都包含了页面类型、目标受众和每个内容块的目的。

每种语言的少量示例

对于每种语言,我们创建了5-10个示例翻译,以捕捉我们想要的语调。这些进入了系统提示。对于我们团队中或我们网络中有母语使用者的语言(约30种中的8种),我们让他们编写这些示例。对于其余的,我们生成它们,然后通过反向翻译比较进行优化。

词汇表强制

这听起来很明显,但它是你能做的最有影响力的事情。没有词汇表,模型会将你的产品名称"CloudSync"翻译成某些语言中"云同步"的等价词。它会在页面间对同一功能使用不同的术语。不一致会削弱信任。

分块策略

我们发现按页面部分翻译500-800字,按内容类型分组,效果最好。太小(单个句子)会失去上下文。太大(整个页面)会导致输出末尾的质量下降。

成本分解:22美元的去向

让我们具体了解这笔钱。

成本项目 每种语言 总计(30种语言)
Claude API(翻译) $16.40 $492.00
Claude API(质量保证/反向翻译) $3.20 $96.00
Claude API(词汇表生成) $0.80 $24.00
杂项API调用(重试、更正) $1.60 $48.00
总API成本 $22.00 $660.00

这不包括构建管道的工程时间,大约40小时。但该管道现在可以重复使用。当客户添加新博客文章时,将其翻译成全部30种语言的成本约为$2-4 API费用,并在其CI/CD管道中自动运行。

当时我们项目使用的Claude API定价(使用Claude 3.5 Sonnet)是每百万输入标记$3,每百万输出标记$15。使用Claude 4 Sonnet,定价相当,但你获得更好的质量,这意味着重试次数更少。

没有母语使用者的质量保证

这是人们最怀疑的部分,老实说,他们应该怀疑。这是我们的实际质量保证流程:

自动化检查(捕捉约60%的问题)

我提到的格式保留、长度和词汇表检查。这些是确定的,会捕捉最令人尴尬的错误——损坏的HTML、缺失变量、翻译后的品牌名称。

反向翻译比较(捕捉约25%的剩余问题)

我们使用不同的模型(GPT-4o)将每种语言的随机10%样本翻译回英文,并将其与原文的语义相似度进行比较。如果反向翻译明显偏离,我们会标记以供审阅。

母语使用者抽查(捕捉细微问题)

对于我们可以使用母语使用者的8种语言(西班牙语、法语、德语、葡萄牙语、日语、韩语、汉语普通话、荷兰语),我们让他们各审阅15-20页。他们的反馈很有启发性:

  • 总体质量:信息内容8-9/10
  • 营销标题:6-7/10(需要更多创意改编)
  • 技术文档:9/10
  • 法律页面:7/10(可接受但不完美)

根据他们的反馈,我们对营销标题进行了第二次传递,采用更有创意的提示,使这些提高到8/10。

社区反馈循环

客户在每个页面上添加了一个小的"建议更好的翻译"链接。在启动后的第一个月,他们在所有语言中收到了大约140条建议——大约占所有翻译内容的0.04%。大多数建议是风格偏好而不是错误。

Next.js中的技术实现

该网站使用Next.js App Router和next-intl进行国际化。以下是高级设置:

// middleware.ts
import createMiddleware from 'next-intl/middleware';

export default createMiddleware({
  locales: ['en', 'es', 'fr', 'de', 'ja', 'ko', 'zh', /* ... 23 more */],
  defaultLocale: 'en',
  localePrefix: 'as-needed'
});

对于无头CMS集成,翻译后的内容作为本地化变体存储。MDX中的博客文章为每个本地化获取单独的文件。UI字符串存在于JSON消息文件中。

构建为所有本地化/页面组合生成静态页面。那是118 × 31(包括英文)= 3,658页。使用ISR(增量静态再生),这完全可管理。

值得注意的一点:我们以编程方式实现了hreflang标签以用于SEO。每个页面链接到其所有语言变体。这对于谷歌理解你的多语言网站结构至关重要。

// app/[locale]/layout.tsx
export function generateMetadata({ params: { locale } }) {
  const alternates = {
    languages: Object.fromEntries(
      locales.map(l => [l, `/${l}${pathname}`])
    )
  };
  return { alternates };
}

AI翻译的不足之处

如果我说AI翻译是完美的,我会撒谎。以下是它经常出错的地方:

营销文字游戏和双关语。 如果你的标题在英文中很聪明,AI要么会直译(失去聪明之处),要么会尝试一个目标语言的双关语,效果不太好。我们手动重写了大约15%的营销标题,并包含创意指导。

文化适应。 翻译和本地化不是一回事。AI不会知道你的美国案例研究中关于"401(k)提供者"的内容在日本毫无意义。它不会在示例中交换你的美元符号以使用当地货币。它不会知道红色在中国意味着幸运,但在西方意味着危险。这需要人工思考。

法律精确性。 对于服务条款和隐私政策,AI翻译可以达到90%。但法律语言需要精确,在某些司法管辖区,你需要合法认证的翻译。我们将法律页面标记为在客户进行实际业务的12个市场中进行专业审阅(与其他18个探索性市场相对)。

敬语系统。 日语、韩语和泰语有复杂的形式系统。AI有时在同一页面内混合正式和非正式寄存器。我们的词汇表和风格指南有帮助,但抽查发现了一些不一致。

性别一致性(在有性别的语言中)。 法语、西班牙语、德语、阿拉伯语——当源英文是性别中立时,AI必须做出选择。有时它不一致。我们的自动化检查通过比较相关翻译单位中的性别标记捕捉了大多数这些问题。

何时应该仍然支付人工翻译费用

AI翻译每种语言22美元是正确选择,当:

  • 你正在测试新市场,需要速度而不是完美
  • 你的内容主要是信息性或技术性的
  • 你有10个以上的目标语言(每种语言节省成倍增加)
  • 你需要频繁翻译(博客文章、变更日志、文档)

支付人工翻译费用,当:

  • 法律责任涉及(合同、合规文档)
  • 品牌语调很关键(标语、广告活动)
  • 你在受监管行业(医疗、金融)
  • 你有1-3个目标语言和预算
  • 文化适应和语言精确度一样重要

我们为大多数客户找到的最佳点?AI翻译占大多数,人工审阅关键的10-20%。这通常将总成本带到每种语言$50-100,而不是$22,但整个内容类型的质量接近人工。

如果你正在考虑多语言网站构建,与我们联系——我们已在多个项目中完善了这个管道,可以将其适应你的堆栈,无论那是Next.jsAstro还是其他框架。查看我们的定价页面以了解我们如何确定国际化项目的范围。

常见问题

2025年AI翻译质量与人工翻译相比如何?

对于信息和技术内容,差距已大幅缩小。在盲目测试中,母语使用者对Claude和GPT-4o翻译的评分达到大多数欧洲和东亚语言人工翻译质量的85-92%。对于创意营销文案(70-80%)和法律文本(75-85%),差距更大。对于拉脱维亚语或爱沙尼亚语等较不常见的语言,AI质量实际上与你从预算型人工翻译机构获得的相当,这些机构经常使用机器翻译和轻量级编辑。

2025年翻译网站的最便宜方式是什么?

最便宜的方法是直接访问Claude或GPT-4o等模型,成本约为$0.0002-0.0005每字。Weglot($15-50/月)或Lokalise等服务每字成本更高,但为你处理基础设施。谷歌翻译API每字更便宜(~每百万字符$20),但质量明显低于前沿LLM。我们使用Claude的管道方法成本约为每翻译字$0.0003,包括质量保证通过。

AI翻译适用于阿拉伯语和希伯来语等从右到左的语言吗?

是的,但你需要小心处理技术实现。Claude中文阿拉伯语和希伯来语的翻译质量很好——我们的阿拉伯语抽查评分8/10。更难的部分是你前端的RTL布局实现。CSS逻辑属性(margin-inline-start而不是margin-left)和正确的dir="rtl"属性是必需的。计划需要被镜像的UI元素。

你如何为翻译成30种语言的网站处理SEO?

三件最重要的事情:每个页面上的正确hreflang标签、本地化特定的URL(像/fr//de/这样的子目录效果很好)以及翻译后的元数据(标题、描述、开放图表标签)。我们以编程方式生成所有这些。不要忘记向Google Search Console提交本地化特定的站点地图。在启动30语言网站的3个月内,客户从非英文查询的自然流量增加了340%。

AI能翻译包含技术术语的网站内容吗?

这实际上是AI翻译大放异彩的地方。技术术语通常是一致的、定义明确的,这很适合模型的优势。关键是建立你的特定术语词汇表,并提供批准的翻译。没有词汇表,模型可能会在你的网站中以三种不同的方式翻译"部署管道"。有了词汇表,它是坚如磐石的一致。

AI翻译整个网站需要多长时间?

我们的管道在大约6小时的计算时间内将所有118页翻译成所有30种语言,运行并行API请求(带速率限制)。构建管道的工程时间大约40小时用于第一个项目。使用相同管道的后续项目需要8-15小时的工程时间来进行设置和自定义,加上计算时间。

当你需要更新翻译网站上的内容时会发生什么?

这是分段翻译单位方法大有回报的地方。当页面更改时,我们将翻译单位与之前的版本进行对比。只有更改或新的单位才会被重新翻译。跨所有30种语言更新博客文章成本微不足道,并在CI/CD中自动发生。我们跟踪翻译单位哈希,以确切地知道什么已过时。

每种语言22美元对任何网站都现实吗,还是只有某些类型?

$22的数字特定于我们项目的内容量(~73K字)和内容类型(B2B SaaS营销和文档)。你的里程可能会有所不同。一个内容丰富的网站,有500K字可能成本$100-150每种语言。一个简单的10页营销网站可能成本$3-5每种语言。成本随字数线性扩展,复杂性略有提高。固定成本是构建或配置管道的工程时间。