管理

Phrase Strings 连接器(作业同步)

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

Phrase Strings 集成(在 Strings 界面中称为 Job Sync)连接了 Phrase TMS 和 Phrase Strings。该集成支持作业级和项目级同步。

  • 作业同步

    在 Strings 中创建并启动且状态为 In progress 的 Jobs 可以导入到 TMS 进行翻译,并在翻译后发送回 Strings。默认情况下,从 Strings 发送到 TMS 的作业将作为 XLIFF 2.0 文件导入。

    推荐用于具有精细控制的批处理工作流。

  • 项目级同步

    所选 Strings project 中的所有键都会传输到 TMS,无需创建作业。新添加或更新的键会自动可供同步。

    推荐用于持续本地化工作流。

先决条件

  • 拥有 TMS 和 Strings 应用程序的访问权限

  • TMS 项目中使用的语言代码必须与 Strings 作业中的区域设置代码匹配。

  • Strings 项目的默认语言必须与 TMS 项目中定义的源语言相同。

重要提示

Figma 文件可以在 Strings 中显示为完整的实时文件,但在 TMS 中不受支持。TMS CAT 编辑器只能以 SVG 格式显示特定 Figma 框架中的翻译内容。

不支持 Strings 键 翻译状态。在导入 TMS 之前,在 Strings 中标记为 unverified 的键,如果目标翻译未更改,则可以作为 verified 返回到 Strings。

在导入 Strings 任务后,TMS 中创建的 segments 数量在以下情况下可能与原始键的数量不同:

  • 键在 Strings 中被标记为 excluded。Excluded keys 不会被导入。

  • 在 TMS 中创建任务时,已在 XLIFF 2.0 的文件导入设置中启用了 Segment XLIFF 选项。在这种情况下,TMS 中创建的 segments 数量可能高于 Strings 中的键数量。

Strings 键可以包含 HTML 实体。当 在 TMS 中设置连接器 时,请启用 Enclose HTML content in CDATA 选项,以保留 HTML 实体,而不是在 TMS 中显示相应的字符。

Strings 键源文本中存在的前导空格和尾随空格不会显示在 TMS CAT 编辑器中。这些空格会保留在骨架中,并在任务同步回 Strings 时重新插入到源文本和目标文本中。这可能会影响在 Strings 中配置的字符限制验证,因为在翻译过程中,TMS 编辑器中不会反映空格计数。

使用该连接器,可以在 APC 中监控多个项目和文件。每个项目都需要在单个 APC 内进行单独监控。

当 APC 处理任务同步触发器时,它会为每个 Strings 区域设置创建一个 TMS 任务。这些任务的导入顺序无法保证,也无法通过分配给 APC 规则的项目模板进行配置。此过程的任何阶段均未应用排序机制。要对不同的区域设置组应用不同的处理方式,请配置单独的 APC 规则,每条规则指向不同的项目模板。

该连接器使用任务区域设置注释,将有关相应 Phrase TMS 项目的元数据附加到 Strings 任务和任务区域设置中。用于列出任务区域设置注释的 Phrase Strings API 端点会检索此元数据。当 include_annotations 参数设置为 true 时,用于列出任务目标区域设置的端点也会包含此元数据。带注释的任务包含诸如 tms_project_id 和 tms_in_progress 之类的字段,这些字段允许跟踪 Strings 任务在其关联的 Phrase TMS 项目中的状态。

TMS 不支持在项目中将相同的区域设置同时用作源语言和目标语言。例如,如果 Strings 作业使用 en-US 同时作为源语言和目标语言,则 en-US 目标无法导入到 TMS,且整个作业无法标记为已完成。在 Strings 中创建将同步到 TMS 的作业时,请勿选择源区域设置作为目标区域设置。

ICU 消息 以及 CLDR 复数形式

将包含 ICU 消息或复数形式的 Strings 作业发送到 TMS 进行翻译时,请在XLIFF 2.0文件导入设置或 TMS 项目模板中启用解析 ICU 消息选项。

用例

此连接器有多种用例:

  • TMS 项目经理可以直接从在线存储库将文件添加到 TMS 项目中。

  • 设置 Phrase TMS 提交者门户,以允许提交者直接从 Phrase Strings 将文件添加到请求中。

  • 使用 TMS 自动项目创建 (APC),以便在检测到受监控文件或文件夹的 最后修改日期 发生更改时,自动创建新项目。

    • 对于作业级和项目级同步,必须将受监控的项目路径完整选择至作业文件夹(例如 space/project/main/jobs)。

    • 对于作业同步,APC 由以下作业更新触发:

      • 新添加的键或对现有键的更改

      • Strings 中作业截止日期的修改

      注意

      重新打开作业不计作 APC 的更新。

    • 对于项目级同步,APC 由以下情况触发:

      • 新添加的键

      • 对现有键的更改

    • 如果在设置 APC 时选择了 每次都创建新项目,则不仅可以监控远程在线存储库的源更新,还可以监控目标更新。

      如果选择监控目标更新,在在线存储库中对目标副本所做的任何更改都将自动更新 Phrase TMS 中的翻译记忆库。

    • 如果选中远程实体中进行的目标更新会自动保存在 TM 中,Strings 目标语言中的关键文本更改会自动更新相关 APC 项目中使用的 TMS 翻译记忆库。

  • TMS 连接器 API 可用于自动化原本需要通过 UI 手动执行的步骤。Webhooks 可用于通知第三方系统有关特定事件(例如,作业状态更改)的信息。

作业同步页面

作业同步页面提供了使用 Phrase Strings 连接器的所有作业同步设置 (APC) 的集中视图。它包含直接在 Strings 中创建的同步以及在 TMS 中配置的同步,并提供相关信息。

在 作业同步页面中,Strings 的管理员和项目经理可以通过 来配置新的作业同步、编辑现有作业同步(包括其启用或禁用状态),或删除它们。

可以使用更多 更多菜单菜单中的相关选项来编辑或删除现有的作业同步。所有更改都会在 Strings 和 TMS 之间同步。删除作业同步会移除 TMS 中相应的 APC。

作业同步页面可通过左侧导航菜单中的集成和作业访问。

在 Strings 中配置作业同步

注意

如果 TMS 中定义了必需的自定义字段,则不支持从 Strings 设置作业同步。

要通过基本配置在 Strings 和 TMS 之间设置新的作业同步,请在 Strings UI 中执行以下步骤:

  1. 在集成页面中,选择作业同步集成旁边的配置。

    显示作业同步页面。

  2. 点击+ 新建作业同步。

    显示创建新作业同步窗口。

  3. 提供一个同步名称,并从已分配的 Strings 项目下拉菜单中选择要连接到 TMS 的 Strings 项目。

    只能包含具有相同语言组合的项目。

  4. (可选)选择要使用的 TMS 项目模板。所选的 TMS 项目模板必须与已分配的字符串项目中定义的语言集相匹配。

    同步的作业将被添加到从所选模板创建的 TMS 项目中。

    • 如果选择了 默认,则会根据所选的字符串项目自动创建一个 TMS 项目模板。

  5. 选择要在 TMS 中创建的项目 类型。

    • 持续项目

      默认选项。

    • 新项目

      每次检测到字符串作业中的更改时,都会创建一个新的 TMS 项目。

  6. 在导回 Strings部分,指定 Strings 导出设置,以控制如何将 TMS 中的翻译导回 Strings。

    • 覆盖现有翻译

      更新 Strings 中现有的目标翻译。

    • 将作业标记为已完成

      自动将 Strings 中的作业标记为已完成。

    • 验证字符串中未更改的翻译

      如果目标翻译未更改,标记为未验证的键将在 Strings 中自动验证。

  7. 如果需要,点击 高级选项 以显示其他导出选项。

    • 将区域设置标记为已完成

      一旦特定区域设置的翻译同步回后,系统会自动将该区域设置标记为已完成。

    • 创建新键并更新现有键

      确保从 TMS 获取的新键在 Strings 中创建,并更新现有键。

    • 仅在源与存储版本匹配时应用翻译

      防止在导出后源文本在 Strings 中发生更改时覆盖翻译。

  8. 点击 保存。

    新的作业同步配置将以未激活状态添加到 TMS Job Syncs 列表中。使用 Active 列下的开关来启用作业同步。

提示

如需更高级的配置,请使用 Phrase TMS 设置来配置连接器。

无论何时使用自定义映射,如果需要进行任何更改,都必须在 TMS 的连接器中应用。

在 Phrase TMS 中创建 Strings 连接器不会自动为自动作业导入/导出创建 APC。APC 必须在 TMS 中单独配置。

Phrase TMS 设置

某些组织已经使用其 Phrase 平台身份自动创建了 Phrase Strings 连接器。在手动创建连接器之前,请检查 连接器 页面上的连接器列表。自动创建的连接器使用登录身份在服务器端进行 身份验证,而不是使用手动输入的访问令牌。

连接器在创建后完成初始同步时显示 待处理 状态,随后变为 活动。每当对连接器配置进行任何更改或保存连接器设置页面时,即使没有实质性更改,也会触发 待处理 状态。当连接器显示 待处理 时,它不能用作 Phrase TMS 中作业创建的源。请等待状态变为 Active 后,再使用该连接器创建作业。

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

  2. 点击 Connectors。

    Connectors 页面随即打开。

  3. 点击 New connector。

    Create connector 页面随即打开。

  4. 将 Type 更改为 Phrase Strings 并为连接器提供名称。

  5. 输入从 Strings 获取的账户 ID 和 access token。

  6. 点击 Test connection。

    • 如果成功,Test connection 按钮旁边会出现一个小勾号。

  7. 选择要导入到 TMS 的项目。

    如果未导入目标键,且在 XLIFF 2.0 文件的 File import settings 中选择了 Segment XLIFF,则可以进一步对 XLIFF 2.0 文件进行分段。

    • 根据需要启用或禁用高级导入选项:

      • 在导入时应用 TMS 项目的源语言

        无论 Strings 项目中的 default 语言为何,都会应用 TMS 项目的源语言。

      • 为每种语言创建一个 TMS 作业

        启用此选项可防止为已在进行中的区域设置创建重复的 TMS 作业。启用后,在原始作业完成之前,不会重新导入已属于活动 TMS 作业的键的更改。建议用于对包含多种语言的作业进行更多控制。

      • 将 HTML 内容包裹在 CDATA 中

        • 此选项可确保 HTML 实体被包裹在 CDATA 中,以便在 Strings 和 TMS 之间的传输过程中得以保留。

        • 此选项允许导入结合了 ICU 语法和内联 HTML 元素的内容。

  8. 选择导出模式。

    • 根据需要启用或禁用以下导出选项:

      • 覆盖翻译

        禁用此项可防止现有翻译被文件内容更新。

      • 创建新键或更新现有键

        禁用此项可防止创建新键以及更新现有键。

      • 仅在源内容匹配时应用翻译

        在同步过程中,与最新源内容不一致的翻译将被排除。这有助于保持源文本与翻译之间的一致性,避免出现过时或错误的翻译。

      • 仅在翻译未更改时验证

        如果目标翻译未更改,标记为 未验证 的键将在 Strings 中自动验证。启用后,无论文本是经过编辑还是仅原样返回,从 TMS 返回的每条翻译在 Strings 中都会被标记为 已验证。只有在作业打开期间源文本在 Strings 中发生更改的键才会被排除,并保持 未验证 状态。

      • 将语言标记为已完成

        一旦特定区域设置的翻译同步回后,系统会自动将该区域设置标记为已完成。

      • 将作业标记为已完成

        如果选中此项,则仅在上传最后一种语言区域设置时,作业才会被标记为已完成。

  9. 如果指定了此项,请选择一个默认文件夹(仅在保存后才可操作)。

  10. 语言映射 会显示出来,并可根据需要进行自定义。请确保在连接器配置中,每个 Strings 语言区域设置仅有一个映射条目对应单个 TMS 语言区域设置。语言映射的更改不会影响现有作业。

    该列表每次分页显示五个项目,项目按字母顺序排序;首先是 A-Z(大写),然后是 a-z(小写)。

  11. 点击 保存。

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

删除连接器

要删除连接器:

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

  2. 点击 删除。

    删除连接器 窗口打开。

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

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

注意

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

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

集成中支持:

  • TMS 项目模板

  • TMS 工作流

  • 作业 简报(使用项目级同步时不适用)

  • 作业 截止日期(使用项目级同步时不适用)

    在 Strings 中设置的截止日期将更新 TMS 中的项目截止日期。如果存在多个不同的截止日期,最晚的一个将应用于 TMS 项目。

作为项目 参考 从 Strings 传输到 TMS:

  • 键描述

    从 Strings 传输,并在 TMS CAT 编辑器的 上下文注释 面板中显示其上下文注释。

  • 键的最大字符长度

    从 Strings 传输并显示在 TMS CAT 编辑器的 上下文注释 面板中。

  • 屏幕截图

    要在 TMS CAT 编辑器的 上下文注释 面板中显示来自 Strings 的屏幕截图:

    • 在 TMS 项目设置的 访问与安全 部分下启用 允许在 Phrase CAT 编辑器中加载外部内容 选项。

    • 在 上下文注释 面板中选择 富 文本格式。

  • 支持的文件格式中的 自定义元数据:

    • .XLSX

    • .CSV

    • .XLIFF 2.0

通过 APC 监控在 Strings 中进行的目标更新

要通过 APC 监控在 Strings 中所做的目标更新,请按照以下步骤操作:

  1. 设置 APC 时,请选择 每次创建新项目。

    这使得能够监控在线存储库中通过 Strings 进行的目标更新。

  2. 在 APC 设置的 自动化 部分中,选择 远程实体中所做的目标更新会自动保存到 TM 中。

当触发 APC 监控时,在 Strings 中对目标语言内容所做的更改将自动保存到 Phrase TMS 翻译记忆库中。

可以通过在 Phrase TMS 编辑器中修改目标片段来覆盖翻译记忆库更新。当 Phrase TMS 作业完成后,这些更新将导回 Strings。

使用 APC 时的键删除行为

在 Strings 中删除一个已包含在作业中的键,不会影响通过一次性手动导入创建的 Phrase TMS 作业。该作业保持不变,直到手动重新导入为止。

当 APC 监控处于活动状态时,Phrase 会在每次轮询或 Webhook 触发时比较内容哈希值,并将任何更改(包括键删除)视为触发重新同步的更新。

  • 在 持续项目 模式下,重新同步会更新现有的 Phrase TMS 项目或作业以匹配 Strings 中的当前内容,因此已删除键的内容将从该作业中移除。

  • 在 每次创建新项目 模式下,重新同步会创建一个反映删除后内容的新 Phrase TMS 作业版本,而之前创建的作业版本保持不变。

作业同步故障排除

下表概述了用户在使用 Strings 集成时可能遇到的常见问题。它提供了用于故障排除的可能原因和解决方案。

问题

原因

解决方案

与 TMS 作业中 NMTOKEN 相关的警告消息

键名包含不需要的字符(例如空格)

尽管有警告消息,用户仍然可以处理翻译内容并将其导回 Strings。

TMS 中的键为空

作业包含源语言中没有源文本的键

或者:

  • 忽略这些片段。

  • 从 Strings 作业中删除这些键,并从在线存储库重新导入源文件。

APC 未创建项目/处理新作业

语言代码不匹配

确保 Strings 中的语言代码与 TMS 项目中的语言代码匹配。

当 APC 设置为持续项目时,项目创建后对项目模板所做的任何更改都不会应用于现有项目。因此,必须直接对持续项目进行更改。

APC 将作业/区域设置视为已处理

如果在开始作业后修改了项目模板/APC 设置,它可能会在 APC 历史记录中被视为已处理。因此,可能需要更新作业以使其符合下一次迭代的条件。

或者:

  • 向作业添加新键,或更新作业的现有键

  • 在 Strings 中更改作业的截止日期

429 请求过多 错误(Strings API 限制)

减少 APC 的数量并降低监控频率。

Strings 项目中的现有键在 TMS 作业中缺失

该特定键未添加到 Strings 作业中

将键添加到 Strings 作业中,并从 TMS 中的在线存储库重新导入作业。

尝试导入/导出作业时出现“Could not authenticate”错误。

自动创建的“created by Phrase Strings”连接器上的访问令牌已过期或被撤销。

在 TMS 中创建一个新的 Phrase Strings 连接器,将现有的 APC 重新链接到新连接器,并触发监视器。

即使 Strings 作业未显示为已完成,也无法通过 APC 或手动方式找到该作业进行导入或重新导入。

该作业已被导入到一个TMS项目中,该项目后来被移至回收站,且未完成或清除。因为该项目在技术上仍处于进行中状态,所以该作业无法释放以供重新导入。

在进一步排查故障之前,请检查 Strings 中该作业所对应区域设置旁边的 Annotations,以确认其是否已导入到 TMS 中。如果能在回收站中找到关联的项目,请恢复该项目并直接继续处理;或者,如果不需要该项目,请取消作业和项目,或者使用 purge=true 参数通过 API 永久删除该项目,以便 APC 不再将其视为活动版本。

作业同步保存失败,出现“Locales are not supported by Phrase TMS: x”错误,即使 TMS 连接器已配置了自定义区域设置映射。

作业同步在保存时,直接根据 locales natively supported by TMS 列表验证 Strings 项目中的目标区域设置。此验证未考虑自定义连接器区域设置映射。

对于目标区域设置不受 TMS 原生支持的 Strings 项目,请直接在 TMS 中使用 Strings 连接器,而不是从 Strings 端使用,并配置自定义语言映射。

即使作业在 TMS 中显示为 delivered 状态,翻译也无法导回 Strings。

项目或模板具有项目状态自动化设置,该设置会在所有作业预翻译完成后(而不是交付完成后)将项目(及其作业)标记为已完成/已交付。这会强制将作业置为已交付状态,而不运行导出到 Strings 的步骤,因此自动化服务永远不会调度导出,也不会有翻译发送回 Strings。

在项目模板的Project status automation设置中,将Mark project as 'completed' once all jobs are设置为"delivered in all their workflow steps",而不是completed in all their workflow steps。

对于手动创建的作业,请手动将作业导回 Strings 并手动将作业状态更改为 delivered,因为手动导出不会自动更新作业状态。一旦项目中的所有作业都设置为delivered,项目将自动标记为completed。

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

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.