Phrase Strings 集成(在 Strings 界面中称为 )连接了 Phrase TMS 和 Phrase Strings。该集成支持作业级和项目级同步。
先决条件
-
拥有 TMS 和 Strings 应用程序的访问权限
-
TMS 项目中使用的语言代码必须与 Strings 作业中的区域设置代码匹配。
-
Strings 项目的默认语言必须与 TMS 项目中定义的源语言相同。
不支持 Strings 键 翻译状态。在导入 TMS 之前,在 Strings 中标记为 的键,如果目标翻译未更改,则可以作为 返回到 Strings。
在导入 Strings 任务后,TMS 中创建的 segments 数量在以下情况下可能与原始键的数量不同:
-
键在 Strings 中被标记为 excluded。Excluded keys 不会被导入。
-
在 TMS 中创建任务时,已在 XLIFF 2.0 的文件导入设置中启用了 Segment XLIFF 选项。在这种情况下,TMS 中创建的 segments 数量可能高于 Strings 中的键数量。
Strings 键可以包含 HTML 实体。当 在 TMS 中设置连接器 时,请启用 选项,以保留 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 消息或复数形式的 Strings 作业发送到 TMS 进行翻译时,请在XLIFF 2.0文件导入设置或 TMS 项目模板中启用选项。
此连接器有多种用例:
-
TMS 项目经理可以直接从在线存储库将文件添加到 TMS 项目中。
-
设置 Phrase TMS 提交者门户,以允许提交者直接从 Phrase Strings 将文件添加到请求中。
-
使用 TMS 自动项目创建 (APC),以便在检测到受监控文件或文件夹的 最后修改日期 发生更改时,自动创建新项目。
-
对于作业级和项目级同步,必须将受监控的项目路径完整选择至作业文件夹(例如 space/project/main/jobs)。
-
对于作业同步,APC 由以下作业更新触发:
-
新添加的键或对现有键的更改
-
Strings 中作业截止日期的修改
注意
重新打开作业不计作 APC 的更新。
-
-
对于项目级同步,APC 由以下情况触发:
-
新添加的键
-
对现有键的更改
-
-
如果在设置 APC 时选择了 ,则不仅可以监控远程在线存储库的源更新,还可以监控目标更新。
如果选择监控目标更新,在在线存储库中对目标副本所做的任何更改都将自动更新 Phrase TMS 中的翻译记忆库。
-
如果选中,Strings 目标语言中的关键文本更改会自动更新相关 APC 项目中使用的 TMS 翻译记忆库。
-
-
TMS 连接器 API 可用于自动化原本需要通过 UI 手动执行的步骤。Webhooks 可用于通知第三方系统有关特定事件(例如,作业状态更改)的信息。
页面提供了使用 Phrase Strings 连接器的所有作业同步设置 (APC) 的集中视图。它包含直接在 Strings 中创建的同步以及在 TMS 中配置的同步,并提供相关信息。
在 页面中,Strings 的管理员和项目经理可以通过 来配置新的作业同步、编辑现有作业同步(包括其启用或禁用状态),或删除它们。
可以使用 菜单中的相关选项来编辑或删除现有的作业同步。所有更改都会在 Strings 和 TMS 之间同步。删除作业同步会移除 TMS 中相应的 APC。
页面可通过左侧导航菜单中的和访问。
注意
如果 TMS 中定义了必需的自定义字段,则不支持从 Strings 设置作业同步。
要通过基本配置在 Strings 和 TMS 之间设置新的作业同步,请在 Strings UI 中执行以下步骤:
-
在页面中,选择集成旁边的配置。
显示页面。
-
点击+ 新建作业同步。
显示窗口。
-
提供一个,并从下拉菜单中选择要连接到 TMS 的 Strings 项目。
只能包含具有相同语言组合的项目。
-
(可选)选择要使用的 。所选的 TMS 项目模板必须与已分配的字符串项目中定义的语言集相匹配。
同步的作业将被添加到从所选模板创建的 TMS 项目中。
-
如果选择了 ,则会根据所选的字符串项目自动创建一个 TMS 项目模板。
-
-
选择要在 TMS 中创建的项目 。
-
默认选项。
-
每次检测到字符串作业中的更改时,都会创建一个新的 TMS 项目。
-
-
在部分,指定 Strings 导出设置,以控制如何将 TMS 中的翻译导回 Strings。
-
更新 Strings 中现有的目标翻译。
-
自动将 Strings 中的作业标记为已完成。
-
如果目标翻译未更改,标记为未验证的键将在 Strings 中自动验证。
-
-
如果需要,点击 高级选项 以显示其他导出选项。
-
一旦特定区域设置的翻译同步回后,系统会自动将该区域设置标记为已完成。
-
确保从 TMS 获取的新键在 Strings 中创建,并更新现有键。
-
防止在导出后源文本在 Strings 中发生更改时覆盖翻译。
-
-
点击 保存。
新的作业同步配置将以未激活状态添加到 列表中。使用 列下的开关来启用作业同步。
提示
如需更高级的配置,请使用 Phrase TMS 设置来配置连接器。
无论何时使用自定义映射,如果需要进行任何更改,都必须在 TMS 的连接器中应用。
在 Phrase TMS 中创建 Strings 连接器不会自动为自动作业导入/导出创建 APC。APC 必须在 TMS 中单独配置。
某些组织已经使用其 Phrase 平台身份自动创建了 Phrase Strings 连接器。在手动创建连接器之前,请检查 页面上的连接器列表。自动创建的连接器使用登录身份在服务器端进行 身份验证,而不是使用手动输入的访问令牌。
连接器在创建后完成初始同步时显示 状态,随后变为 。每当对连接器配置进行任何更改或保存连接器设置页面时,即使没有实质性更改,也会触发 状态。当连接器显示 时,它不能用作 Phrase TMS 中作业创建的源。请等待状态变为 后,再使用该连接器创建作业。
-
在
设置页面中,向下滚动到 部分。
-
点击 Connectors。
页面随即打开。
-
点击 New connector。
页面随即打开。
-
将 Type 更改为 并为连接器提供名称。
-
输入从 Strings 获取的账户 ID 和 access token。
-
点击 Test connection。
-
如果成功, 按钮旁边会出现一个小勾号。
-
-
选择要导入到 TMS 的项目。
如果未导入目标键,且在 XLIFF 2.0 文件的 中选择了 Segment XLIFF,则可以进一步对 XLIFF 2.0 文件进行分段。
-
选择导出模式。
-
根据需要启用或禁用以下导出选项:
-
禁用此项可防止现有翻译被文件内容更新。
-
禁用此项可防止创建新键以及更新现有键。
-
在同步过程中,与最新源内容不一致的翻译将被排除。这有助于保持源文本与翻译之间的一致性,避免出现过时或错误的翻译。
-
如果目标翻译未更改,标记为 的键将在 Strings 中自动验证。启用后,无论文本是经过编辑还是仅原样返回,从 TMS 返回的每条翻译在 Strings 中都会被标记为 。只有在作业打开期间源文本在 Strings 中发生更改的键才会被排除,并保持 状态。
-
一旦特定区域设置的翻译同步回后,系统会自动将该区域设置标记为已完成。
-
如果选中此项,则仅在上传最后一种语言区域设置时,作业才会被标记为已完成。
-
-
-
如果指定了此项,请选择一个默认文件夹(仅在保存后才可操作)。
-
会显示出来,并可根据需要进行自定义。请确保在连接器配置中,每个 Strings 语言区域设置仅有一个映射条目对应单个 TMS 语言区域设置。语言映射的更改不会影响现有作业。
该列表每次分页显示五个项目,项目按字母顺序排序;首先是 A-Z(大写),然后是 a-z(小写)。
-
点击 保存。
连接器已添加到 页面上的列表中。
删除连接器
要删除连接器:
注意
如果连接器仍链接到项目中的未完成作业(包括回收站中的作业),则无法将其删除。尝试删除此类连接器会返回“无法删除连接器”错误。
解决方法:打开与该连接器关联的项目,并完成或删除所有剩余作业。转到 并清空它,以删除仍链接到该连接器的任何作业。重试删除连接器。
集成中支持:
作为项目 参考 从 Strings 传输到 TMS:
-
键描述
从 Strings 传输,并在 TMS CAT 编辑器的 上下文注释 面板中显示其上下文注释。
-
键的最大字符长度
从 Strings 传输并显示在 TMS CAT 编辑器的 上下文注释 面板中。
要通过 APC 监控在 Strings 中所做的目标更新,请按照以下步骤操作:
当触发 APC 监控时,在 Strings 中对目标语言内容所做的更改将自动保存到 Phrase TMS 翻译记忆库中。
可以通过在 Phrase TMS 编辑器中修改目标片段来覆盖翻译记忆库更新。当 Phrase TMS 作业完成后,这些更新将导回 Strings。
使用 APC 时的键删除行为
在 Strings 中删除一个已包含在作业中的键,不会影响通过一次性手动导入创建的 Phrase TMS 作业。该作业保持不变,直到手动重新导入为止。
当 APC 监控处于活动状态时,Phrase 会在每次轮询或 Webhook 触发时比较内容哈希值,并将任何更改(包括键删除)视为触发重新同步的更新。
-
在 模式下,重新同步会更新现有的 Phrase TMS 项目或作业以匹配 Strings 中的当前内容,因此已删除键的内容将从该作业中移除。
-
在 模式下,重新同步会创建一个反映删除后内容的新 Phrase TMS 作业版本,而之前创建的作业版本保持不变。
下表概述了用户在使用 Strings 集成时可能遇到的常见问题。它提供了用于故障排除的可能原因和解决方案。
|
问题 |
原因 |
解决方案 |
|---|---|---|
|
与 TMS 作业中 |
键名包含不需要的字符(例如空格) |
尽管有警告消息,用户仍然可以处理翻译内容并将其导回 Strings。 |
|
TMS 中的键为空 |
作业包含源语言中没有源文本的键 |
或者:
|
|
APC 未创建项目/处理新作业 |
语言代码不匹配 |
确保 Strings 中的语言代码与 TMS 项目中的语言代码匹配。 当 APC 设置为持续项目时,项目创建后对项目模板所做的任何更改都不会应用于现有项目。因此,必须直接对持续项目进行更改。 |
|
APC 将作业/区域设置视为已处理 |
如果在开始作业后修改了项目模板/APC 设置,它可能会在 APC 历史记录中被视为已处理。因此,可能需要更新作业以使其符合下一次迭代的条件。 或者:
|
|
|
|
减少 APC 的数量并降低监控频率。 |
|
|
Strings 项目中的现有键在 TMS 作业中缺失 |
该特定键未添加到 Strings 作业中 |
将键添加到 Strings 作业中,并从 TMS 中的在线存储库重新导入作业。 |
|
尝试导入/导出作业时出现“Could not authenticate”错误。 |
自动创建的“created by Phrase Strings”连接器上的访问令牌已过期或被撤销。 |
在 TMS 中创建一个新的 Phrase Strings 连接器,将现有的 APC 重新链接到新连接器,并触发监视器。 |
|
即使 Strings 作业未显示为已完成,也无法通过 APC 或手动方式找到该作业进行导入或重新导入。 |
该作业已被导入到一个TMS项目中,该项目后来被移至回收站,且未完成或清除。因为该项目在技术上仍处于进行中状态,所以该作业无法释放以供重新导入。 |
在进一步排查故障之前,请检查 Strings 中该作业所对应区域设置旁边的 ,以确认其是否已导入到 TMS 中。如果能在回收站中找到关联的项目,请恢复该项目并直接继续处理;或者,如果不需要该项目,请取消作业和项目,或者使用 |
|
作业同步保存失败,出现“ |
作业同步在保存时,直接根据 locales natively supported by TMS 列表验证 Strings 项目中的目标区域设置。此验证未考虑自定义连接器区域设置映射。 |
对于目标区域设置不受 TMS 原生支持的 Strings 项目,请直接在 TMS 中使用 Strings 连接器,而不是从 Strings 端使用,并配置自定义语言映射。 |
|
即使作业在 TMS 中显示为 delivered 状态,翻译也无法导回 Strings。 |
项目或模板具有项目状态自动化设置,该设置会在所有作业预翻译完成后(而不是交付完成后)将项目(及其作业)标记为已完成/已交付。这会强制将作业置为已交付状态,而不运行导出到 Strings 的步骤,因此自动化服务永远不会调度导出,也不会有翻译发送回 Strings。 |
在项目模板的Project status automation设置中,将,而不是。 对于手动创建的作业,请手动将作业导回 Strings 并手动将作业状态更改为 delivered,因为手动导出不会自动更新作业状态。一旦项目中的所有作业都设置为delivered,项目将自动标记为completed。 |