集成

Contentful (TMS)

文本由 Phrase Language AI 从英语机器翻译而得。

适用于

  • 商业版和企业版计划(不适用于 LSP 计划)

如有许可相关问题,请联系 销售部门。

适用于

  • 企业版计划(旧版)

如有许可相关问题,请联系 销售部门。

提示

有关 Phrase Strings 中 Contentful 集成的信息,请参阅 Contentful (Strings)。

Contentful 提供无头内容管理基础设施,用于创建、管理内容并将其分发到任何平台或设备。Phrase 通过两种方式与 Contentful 集成: 

  • 通过专用的 Contentful 连接器(2.0、Entry-Level、Field-Level)

    Contentful 2.0 连接器目前仅支持通过美国数据中心进行身份验证。

  • 通过 Contentful Marketplace 插件获得定制化体验

注意

该连接器不支持 JSON 对象的翻译。

支持的本地化方法

Contentful 支持多种本地化方法。有关其详细说明,请参阅 Contentful 文档。

Contentful 2.0 连接器是当前首选的集成方式,支持字段级本地化。它还提供:

  • 多个空间

  • 环境别名

  • 预览 URL 设置

  • 引用导入

  • 基于标签的内容过滤

  • 实时预览配置

条目级本地化(旧版)

使用 Contentful(条目级) 连接器。

条目级连接器仅适用于具有本地化引用字段的内容类型(例如,一个启用了本地化的名为 Localized 的 引用 字段)。

字段级本地化(旧版)

使用 Contentful (字段级) 连接器。

字段级连接器仅适用于具有可翻译字段(例如,启用了本地化的 文本 或 富文本 字段)以及可选媒体资产的内容类型。它会导入引用的条目及其可翻译字段(如果引用字段已本地化)。

重要提示

旧版连接器将于2026年11月30日被弃用。这些连接器的新实例可在2026年8月17日之前创建。请在弃用日期之前迁移到新连接器。

请参阅 旧版连接器弃用 以获取完整的迁移指南。

使用案例

该连接器有多种使用案例:

  • 项目经理可以直接从在线存储库将文件添加到项目中。内容可通过条目 ID 进行搜索。

  • 设置提交者门户,以便提交者可以直接从在线存储库将文件添加到请求中。内容可通过条目 ID 进行搜索。

  • 使用自动项目创建(APC),以便在检测到受监控文档或文件夹的内容大小发生变化时,自动创建新项目。

应用程序的用例:

  • 内容编辑可以直接在 Contentful 中提交条目进行本地化。这使内容编辑或管理者能够完全控制本地化流程,并在查看条目时即时获取状态更新。

    一旦条目最终确定:

    • 选择所需的本地化目标语言。

    • 仅将带有选定语言的条目提交到Phrase TMS,或使用字段选择选项卡来选择字段。

      • 如果未选择任何字段,则所有可本地化的字段都将提交进行翻译。

      • 如果选择了不可本地化的字段,该字段仍不会被提交进行翻译。仅提交可本地化的字段。

      • 如果仅选择了部分可本地化的字段,则仅提交这些字段进行翻译。

    • 根据 APC 设置,作业会根据提交的内容自动创建。在 APC 运行期间,仅有处于已提交状态的条目会被选中以创建作业。

    • 一旦从已提交的条目中创建了作业,状态就会更改为进行中。当翻译内容被推送回 Contentful 时,状态会更改为已完成。

    • 先前翻译的条目在原始副本发生更改后可以重新提交。

  • 内容编辑可以使用 Phrase TMS 主屏幕来:

    • 批量提交条目。

    • 批量提交时指定单个目标语言。

    • 概览当前活跃的翻译作业。

Contentful 设置

使用 Phrase TMS 应用程序时:

  1. 从市场下载Phrase TMS应用程序。

  2. 将应用程序安装到当前活跃空间,并选择需要安装该应用程序的内容模型。

  3. 输入在 Phrase TMS 中创建连接器时获取的Phrase TMS 身份验证令牌。

  4. 点击安装。

可选 - 启动应用程序(已被 Contentful 弃用)

如果通过 Contentful 的 Launch App 使用工作流支持,请遵循以下步骤:

  1. 将 Contentful 的 Launch 应用程序安装到一个或多个空间。

    注意

    每个空间只能创建一个工作流。如果在一个 Contentful 空间内需要针对内容类型采用不同的方法,请联系专属客户成功经理。

  2. 设置所需的内容本地化工作流。

  3. 选择遵循所述工作流的一种或多种内容类型。

如果设置了连接器中的工作流,当检测到受监控文章或内容类型的工作流步骤发生变化时,自动项目创建 (APC) 将自动创建新项目。

已提交的作业可以取消,以便在进行更改后重新提交内容。这些作业仍将存在于 Phrase 中,需要由项目经理删除。

Phrase TMS 设置 (Contentful 2.0)

注意

2.0 连接器不支持 Contentful Launch App。

  1. 从 Setup_gear.png 设置页面,向下滚动到 Integrations 部分。

  2. 点击 Connectors。

    Connectors 页面打开。

  3. 点击 New connector。

    Create connector 页面打开。

  4. 将 Type 更改为 Contentful 2.0。

  5. 为连接器提供一个名称。

  6. 点击 Connect to Contentful 2.0。

    Contentful 登录窗口打开。

  7. 提供登录详细信息并点击 Log in(或使用其他登录方式)。登录窗口关闭,并显示 Connected。

  8. 如果将连接器与应用程序配合使用,可选择 Phrase Contentful App 复选框。

    1. 点击 Generate token。

      Generate Contentful Token 窗口打开。

    2. 点击 Generate token。

      生成一个令牌,应将其复制到剪贴板或文本文件中。请确保在关闭窗口前已复制令牌,因为它将不再可见。此令牌将在 连接到应用程序 时使用。

    3. 关闭窗口,并显示 Token generated。

  9. 如果使用 Contentful Tags 来标识可翻译内容,请输入标签 ID 并按 Enter。

    ID 已显示,可以继续添加更多。可以使用标签来限制连接器可见的 Contentful 内容。

    • 选择列表策略

      • 包含所有标签 

        显示 Contentful 中包含所有所列标签的内容。

      • 包含至少一个标签 

        显示 Contentful 中包含至少一个所列标签的内容。

  10. 如果需要,请选择 包含资产。

  11. 如果需要,请选择 包含引用条目(嵌套内容)。

    显示 引用条目设置。应用所需的筛选器,以便更精细地控制系统遍历内容关系的方式。

    • 设置链接条目的导入深度 

      限制 Phrase 在导入期间跟踪引用条目的深度。

      默认值为 10,000。如果需要,请选择其他值或指定自定义整数值。

    • 内容类型

      选择是停止还是跟踪内容类型与指定列表匹配的条目。

    • 父内容类型

      排除父内容类型与指定列表匹配的条目。

    • 标签

      选择是否在遇到具有任何指定内容标签的条目时停止或继续。

    • 字段 ID

      选择是否在遇到由指定字段 ID 引用的条目时停止或继续。

  12. 如果需要,请选择 包含分类。

    显示 Contentful 组织 ID 字段。输入一个值以启用分类设置。

    • 选中后,连接器会从 Contentful 获取分类并将其包含在 .XLIFF 文件 中。CAT editor 的 Context note 窗格将列出每个段落的 Contentful 分类值。

    • 如果分类元数据不可用或连接器未配置该元数据,则会直接省略 Context note 窗格。

    • 如果项目不需要功能/屏幕上下文,建议禁用分类以优化 .XLIFF 导出时的性能。

  13. 如果需要,请选择 遵循别名。

    别名 用于所有 APC 监控和作业重新导入/导出。如果将来更改了别名目标,APC 将监控新目标中的内容,并且作业将从/向新的别名目标重新导入/导出。

    • 禁用(默认且推荐)

      APC 和创建的作业绑定到作业/APC 创建时别名所指向的环境。APC 仅监控该环境和内容;作业导出并重新导入到该环境。

    • 启用 

      APC 和创建的作业绑定到别名本身。APC 仅监控该别名和内容;作业导出并重新导入到该别名。

      如果更改了别名目标,APC 将监控新的别名目标(环境);作业现在将导出并重新导入到该环境。

    自定义 Contentful 角色需要直接访问别名所指向的具体底层环境,而不仅仅是别名本身,否则 Phrase TMS 应用仪表板将无法加载。在 Contentful 的 Contentful 空间设置/角色 中,在角色的 环境 部分添加此访问权限。如果别名稍后被重新指向到不同的环境,也请添加对新环境的访问权限。

  14. 如果需要,请提供 预览 URL。

    这是指向 Contentful 渲染内容的 URL 模板。支持以下占位符:

    • {env_id}:环境 ID

    • {entry.id}:条目 ID

    • {space_id}:空间 ID

    URL 模板可能如下所示:

    https://contentfulapp.tld/?spaceId={space_id}&environmentId={env_id}&entryId={entry_id}

    注意

    该 URL 必须指向一个渲染 Contentful 内容的已部署应用程序。要使用实时预览,请将 URL 模板中的 contentfulapp.tld 替换为应用程序的实际域名。

    有关设置 内容预览 的更多信息,请参阅 Contentful 文档。

    目前不支持将区域设置作为占位符。若要在 URL 中使用区域设置,请指定一个固定值并创建多个连接器实例。

  15. 如果需要,请使用 忽略可翻译字段 将特定字段排除在导入到 Phrase 的过程中。提供应从导入中忽略的 ContentID。

  16. 提供 Space ID 和 Token 以用于 Space preview token map(必填)。

    Preview API 需要一个名为 Content Preview API – access token 的 Contentful 访问令牌,该令牌应在 Contentful 空间的 API 设置中进行配置。

    Contentful 2.0 集成使用此 API 导入内容并监控更改 (APC)。

    • 选择要从 Contentful 监控/导入的每个空间和环境。

    • 设置和访问均在 Contentful 本身内进行管理。

  17. 点击 保存。

    连接器已添加到 连接器 页面上的列表中。

注意

由于 Contentful 不报告哪个区域设置发生了更改,因此 APC 监控会在每次运行时重新检查跟踪条目及其引用的全部内容。引用的条目是单独获取的,而不是批量获取的,因此在具有大量引用条目的空间中,单次运行可能会向 Contentful Preview API 和 Content API 发出大量请求。因此,即使源条目未更改,条目在收到翻译后也可能会被重新导入。在大容量空间中,这可能会减慢 APC 运行速度并显著增加 Contentful API 的使用量。

为减少上述情况:

  • 条目完成后移除翻译标签,仅在需要重新翻译时重新添加。

  • 将 Referenced entries 设置缩小到仅需要翻译的条目。

  • 使用 Phrase Contentful 应用程序,它仅监控通过该应用程序提交的条目。

Phrase TMS 设置

重要提示

如果从自定义域(例如 mydomain.phrase.jp)访问,请打开隐身浏览器窗口并通过 cloud.memsource.com 或 us.cloud.memsource.com 登录,以应用创建或保存连接器所需的身份验证。保存后,可以通过自定义域访问连接器。

  1. 从 Setup_gear.png 设置页面,向下滚动到 集成 部分。

  2. 点击 连接器。

    连接器 页面打开。

  3. 点击 新建连接器。

    创建连接器 页面打开。

  4. 将 类型 更改为 选择 Contentful(条目级) 或 Contentful(字段级) 并为连接器提供名称。

  5. 如果将连接器与应用程序配合使用,可选择 Phrase Contentful App 复选框。

    • Contentful 应用令牌

      生成一个应用令牌,以便输入到 Phrase TMS Contentful 应用程序中。生成令牌并将其复制到 Contentful 应用程序后,请保存连接器。

    注意

    保存后,无法在 Contentful 中更改该令牌。如需更新,请在 Phrase TMS 的连接器配置中撤销该令牌并生成一个新令牌。

  6. 配置语言无关设置。

    • 源语言

      选择一种源语言以覆盖 Contentful 的默认语言。连接器随后将从连接器配置中设置的语言拉取内容。

      示例:

      如果 Contentful 中默认语言设置为 EN-US,但特定空间或内容模型需要 DE-DE 作为本地化源语言,则可以调整配置,使该空间(远程文件夹)从 DE-DE 而非 EN-US 拉取内容。

    注意

    使用该应用程序时不适用。

  7. 选择如何通过 条目导入模式 处理嵌套内容。内容可以使用引用字段来引用其他内容,从而创建实体层级结构。

    注意

    使用该应用程序时不适用。

    • Contentful(条目级)

      条目级连接器会自动遍历嵌套内容的整个层级结构。

    • Contentful(字段级)

      选择字段级连接器应如何导入嵌套内容。

      • 仅选定条目

        • 从存储库添加时明确选择的内容将被导入。

        • APC 检测到的更改将被导入以进行翻译。

      • 导入引用的条目

        • 连接器会遍历嵌套内容的整个层级,并导入所有可翻译字段以进行翻译。

  8. 在 忽略可翻译字段 中创建一个逗号分隔的列表,以从导入到 Phrase TMS 的过程中排除已勾选 启用此字段的本地化 的字段。使用以下结构:contentTypeID:fieldID。

    • 如果应将所列字段留空,请选择 将忽略的字段留空。此设置将应用于所有列出的条目。

    • 如果所列字段应包含源值,请选择 将源复制到目标。此设置将应用于所有列出的条目。

  9. 如果源语言中特定字段的数据缺失,请选择 使用回退语言。

    如果需要,请从下拉列表中选择 源语言回退。此语言区域设置将用于数据缺失的情况。

    注意

    Contentful 回退语言与此设置之间没有关系。

  10. 如果需要,请提供 实时预览 URL(BETA)。

    这是指向 Contentful 渲染内容的 URL 模板。支持以下占位符:

    • {env_id}:环境 ID

    • {entry.sys.id}:条目 ID

    • {space_id}:空间 ID

    URL 模板可能如下所示:

    https://contentfulapp.tld/?spaceId={space_id}&environmentId={env_id}&entryId={entry.sys.id}

    注意

    该 URL 必须指向一个渲染 Contentful 内容的已部署应用程序。要使用实时预览,请将 URL 模板中的 contentfulapp.tld 替换为应用程序的实际域名。

    有关设置 内容预览 的更多信息,请参阅 Contentful 文档。

    目前不支持将区域设置作为占位符。若要在 URL 中使用区域设置,请指定一个固定值并创建多个连接器实例。

  11. 如果技术支持团队要求记录调试信息,请选择 记录调试信息。

  12. 点击 连接到 Contentful。

    如果连接成功,连接器设置中会出现一个复选标记。如果连接不成功,则会出现一个红色感叹号。将鼠标悬停在图标上以查看更多详细信息。

  13. 仅限 Contentful(入门级):

    设置 源语言。

    注意

    此语言应与在 Contentful 区域设置中配置的 Contentful 空间的默认区域设置相匹配。

  14. 点击 Save。

    连接器已添加到 Connectors 页面上的列表中。

  15. (可选)编辑连接器以选择 Contentful 工作流。

    • 翻译文章来源:

      连接器会监控所选阶段(例如“翻译”)中的文章。作者可以在文章准备好翻译时为其应用此标签。

    从 Contentful 导入时:

    • 将源文章设置为

      当源文章被下载时,连接器会将工作流推进到所选阶段(例如“翻译中”)。

    导出到 Contentful 时:

    • 将源文章设置为

      当翻译导出时,连接器会将源文章的工作流阶段设置为所选阶段(例如“翻译完成”)。

    注意

    Contentful 已于 2023年6月1日 停止支持工作流。不支持继续使用。

删除连接器

要删除连接器:

  1. 在 集成 页面中,选择要删除的连接器。

  2. 点击 删除。

    删除连接器 窗口随即打开。

  3. 输入“delete”并点击 删除。

    连接器已删除,并显示连接器列表。

注意

如果连接器仍链接到项目中的未完成作业(包括回收站中的作业),则无法将其删除。尝试删除此类连接器会返回“删除连接器失败”错误。

解决方法:打开与该连接器关联的项目,并完成或删除所有剩余作业。前往 设置/回收站 并清空它,以移除仍链接到该连接器的所有作业。重试删除连接器。

这篇文章有帮助吗?
★ ★ ★ ★ ★

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.