# General Translation Integrations: 翻译内容 URL: https://generaltranslation.com/zh/docs/integrations/sanity/guides/translating-content.mdx --- title: 翻译内容 description: 如何使用 General Translation 通过文档操作、标签页视图或 翻译 页面翻译 Sanity 文档。 related: links: - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity --- 使用 General Translation 插件为每个目标区域设置生成翻译后的文档。 翻译内容会作为单独的 Sanity 文档创建,每个文档都包含一个 language field,并通过 `translation.metadata` 文档与 source document 关联。 ## 翻译单个文档 [#translate-one] 每个文档都有 **翻译** 操作,但翻译工具只会显示在源语言文档上。而在翻译后的文档中,对话框则会显示一条提示消息。 1. 在 Sanity Studio 中打开一个源语言文档。 2. 点击文档操作栏中的 **翻译**。 3. 在 **生成翻译** 下选择目标区域设置。 4. 点击 **生成翻译**。 生成翻译后,对话框会在 **翻译状态** 下轮询进度。某个翻译准备就绪后,插件会导入它、修补其引用并发布它,因为此对话框默认启用了自动导入、自动修补和自动发布。你可以分别切换这些行为、在对应的状态行中手动导入某个区域设置,或使用 **全部导入**、**修补引用** 和 **发布翻译**。 ## 使用“翻译”标签页 [#translations-tab] 如果你的 Studio 包含 `TranslationsTab`,请在文档中打开 **General Translation** 标签页。它提供与 **翻译** 操作相同的工作流,并会一直显示在文档编辑器中。 要添加该标签页,请参阅[配置 Sanity](/docs/integrations/sanity/guides/configuring-sanity#translations-tab)。 ## 翻译多个文档 [#translate-many] 使用全站范围的**翻译**工具,一次性处理所有可翻译文档。你可以在这里: * 为所有文档生成翻译 (**全部翻译**) 。 * 导入所有已准备好的翻译 (**全部导入**) 。 * 仅导入尚未导入的翻译 (**导入缺失项**) 。 * 修复翻译后的文档之间的引用 (**修补文档引用**) 。 * 发布源文档已发布的翻译后的文档 (**发布翻译**) 。 请参阅[管理翻译](/docs/integrations/sanity/guides/managing-translations)。 ## 会被翻译的内容 [#what-translated] 该插件会将文档序列化为 HTML,发送该 HTML 进行翻译,然后将译后的 HTML 合并回新的区域设置文档中。它会递归处理: * String 和文本字段。 * Portable Text 块。 * 嵌套对象。 * 数组。 默认情况下,某些字段类型会被保留,不会发送进行翻译,包括引用、日期、文件、图像、数字、布尔值、URL、颜色、代码和地理点。请参阅完整的[默认 stop types](/docs/integrations/sanity/reference/plugin-configuration#stop-types)。 Slug 字段默认*不会*被停止处理,因此 slug 的 `current` 值会被发送进行翻译。请使用 `dedupeFields` 或 `skipFields` 来控制 slug 的行为。 ## 处理引用 [#references] 翻译后的文档可以引用其他文档。插件会查找每个被引用文档的翻译,并在存在对应版本时,将引用改写为指向正确的区域设置版本。 此操作会在文档对话框中导入后自动运行,也可以在 翻译 页面中通过 **修补文档引用** 按需运行。请参阅 [管理翻译](/docs/integrations/sanity/guides/managing-translations#patch-references)。 ## 处理 slug 和复制字段 [#slugs-fields] 有些字段不应直接翻译。请使用字段匹配器来控制它们: * `dedupeFields` — 复制 source value,并附加区域设置,使其在每个文档中保持唯一,例如将 `about` 变为 `about-es`。通常用于 slug。 * `ignoreFields` — 将 source value 原样复制到每个翻译后的文档中。 * `skipFields` — 从翻译后的文档中完全移除该字段。 请参阅[管理翻译](/docs/integrations/sanity/guides/managing-translations#field-behavior)。 ## Next steps - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity