跳到正文
土土金API

多语言翻译与本地化

大模型翻译的常见用法:主力用一个价格低、语言能力稳定的对话模型逐段翻译,术语表固定写在系统提示词里,重要页面再交给更强的模型复核。按每月翻译约 400 万字中文估算,用最低价分组计算,模型费用每月约 ¥96.8。

价格更新于 2026年11月13日 17:58

月成本估算

假设:每月翻译约 400 万字中文,分成 5,000 次请求;每次输入约 2,000 tokens(术语表与风格说明约 1,200、原文约 800),输出约 1,000 tokens;其中 10%(500 段)交给更强的模型复核,每次输入约 3,000 tokens、输出约 1,000 tokens。

¥96.8/ 月

  • 逐段翻译¥84
  • 重要内容复核¥12.8
看用量假设

业务问题

出海企业要把商品详情、帮助文档、App 界面和营销邮件翻成多种语言,内容多、改得勤。人工翻译周期长,传统机翻引擎的术语又常常前后不一致。

大模型能理解上下文,译文更自然。但整篇长文一次丢进去,容易漏段、改格式,同一个术语在不同段落里还可能译得不一样。

实际做法是把术语表和风格要求固定在系统提示词里,长文按段落切开逐段翻译,保留 Markdown 和占位符,再按内容的重要程度安排复核。

推荐模型组合

推荐模型按实时目录自动选取,价格取各模型最低价分组,更新于 2026年11月13日 17:58。点模型名可查看全部分组价格。

参考架构

  1. 1

    准备术语表

    整理品牌名、功能名和固定说法的中英对照,连同语气要求(正式还是口语,称呼用您还是你)写进系统提示词。

  2. 2

    切分原文

    按段落切分,每段控制在 1,000 到 2,000 字;代码、链接和变量占位符原样保留,不交给模型改写。

  3. 3

    逐段翻译

    每段单独请求,temperature 设低一些;保持段落顺序,失败的段落单独重试。

  4. 4

    程序检查

    对比原文和译文的段落数、数字、链接、占位符是否一致,不一致的段落重新翻译。

  5. 5

    抽检复核

    重要页面交给更强的模型或母语人员复核,复核中发现的新术语补进术语表。

成本估算

假设:每月翻译约 400 万字中文,分成 5,000 次请求;每次输入约 2,000 tokens(术语表与风格说明约 1,200、原文约 800),输出约 1,000 tokens;其中 10%(500 段)交给更强的模型复核,每次输入约 3,000 tokens、输出约 1,000 tokens。

项目模型用量假设费用
逐段翻译deepseek-v4.1-flash5,000 次 × 输入 2,000 + 输出 1,000 tokens¥84
重要内容复核Claude Sonnet 5.5500 次 × 输入 3,000 + 输出 1,000 tokens¥12.8
合计(每月)¥96.8

按各模型最低价分组的实时价格计算,价格更新于 2026年11月13日 17:58。

只含模型调用费用。表中没有计入上下文缓存,术语表这类固定前缀在支持缓存的模型上命中后按缓存读取价计费,实际费用可能更低。同一份内容译成几种语言,费用就乘以几。

示例代码

术语表和风格要求固定写在系统提示词里,原文按空行切段后逐段翻译,最后按原顺序拼接。

示例代码(Python,带术语表的分段翻译)
import os
from openai import OpenAI

client = OpenAI(base_url="https://www.tutujin.com/v1", api_key=os.environ["TUTUJIN_API_KEY"])

GLOSSARY = {"土土金 API": "Tutujin API", "分组": "group", "用量明细": "Usage"}
SYSTEM = (
    "Translate Simplified Chinese into natural English for a software product. "
    "Keep Markdown, numbers, code, URLs and placeholders such as %s unchanged. "
    "Always use these term translations:\n"
    + "\n".join(k + " => " + v for k, v in GLOSSARY.items())
)


def chunks(text, limit=1500):
    """Split on blank lines so every request stays small and paragraphs stay whole."""
    part = ""
    for para in text.split("\n\n"):
        if part and len(part) + len(para) > limit:
            yield part
            part = ""
        part = part + "\n\n" + para if part else para
    if part:
        yield part


def translate(text):
    out = []
    for piece in chunks(text):
        resp = client.chat.completions.create(
            model="deepseek-v4.1-flash",
            messages=[
                {"role": "system", "content": SYSTEM},  # identical prefix on every call
                {"role": "user", "content": piece},
            ],
            temperature=0.2,
        )
        out.append(resp.choices[0].message.content)
    return "\n\n".join(out)


with open("article.zh.md", encoding="utf-8") as f:
    print(translate(f.read()))
# Important pages: send source and translation to claude-sonnet-5-5 and ask it to flag omissions and wrong terms.

用一把 Key 试试这个方案

注册后在控制台创建 API Key,把上面代码里的 base_url 和 Key 换成你的就能运行。企业采购、开发票可以加客服微信 JsnonoChat。

土土金客服微信二维码
微信JsnonoChat

扫码或搜索微信号添加客服

常见问题

每月翻译 400 万字要多少钱?

按每次请求输入约 2,000 tokens、输出约 1,000 tokens,共 5,000 次,再抽 10% 复核估算,用最低价分组计算约 ¥96.8。要译成几种语言,费用就乘以几。

怎么保证术语前后一致?

把术语对照表写进系统提示词,每次请求都带上;翻译完再用程序检查术语表里的词是否按指定译法出现,不一致的段落重新翻译。

长文档为什么要分段翻译?

一次塞进太多内容,模型更容易漏段、改动格式,输出还可能达到长度上限被截断。按段落切开后,出错时只需要重试那一小段。

机器翻译能达到人工水平吗?

不同语种、不同领域差别很大,没法一概而论。建议先拿几篇代表性内容对比几个模型,再决定哪些内容可以直接发布,哪些必须人工复核。

术语表很长,会不会很贵?

术语表每次请求都要发送,会占输入 tokens。可以只放当前内容用得到的词条;模型支持上下文缓存时,固定不变的前缀命中缓存后按更低的价格计费。