集成

Adobe Experience Manager - AEM (TMS)

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

适用于

  • 企业版

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

适用于

  • 企业版(旧版)

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

支持的版本

适用于 Adobe Experience Manager 的 Phrase 翻译插件遵循与 Adobe Experience Manager 相同的支持周期。有关支持周期的信息,请参阅 https://helpx.adobe.com/support/programs/eol-matrix.html。

一旦 Adobe Experience Manager 版本结束核心支持,Phrase 将不再维护该插件。安装程序将保持可用,但不会再进行任何改进或修复。

  • 插件 2.x 版本支持 6.5。

  • 插件 3.x 版本支持 AEM as a Cloud Service。

插件发行说明

Phrase 配置

配置上下文预览

上下文预览功能可在 CAT Web 编辑器和 CAT 桌面编辑器中实时预览原文或译文。

支持表格、列、各种图形、格式和字体(如果由用户安装)。此功能旨在提供翻译时的上下文,并非原文或完成文档的完美呈现;可能会出现一些视觉差异。它也可能受到“访问和安全”设置中启用/禁用 允许在编辑器中加载外部内容 选项的影响。

Phrase 要求:

  • 穿过企业防火墙以访问本地安装。

  • 对创作环境进行身份验证。

本地安装的防火墙配置:

  • 必须能够从 Phrase 服务器 IP 地址访问该安装。请参阅 Phrase 服务器 IP 地址 以获取当前列表。

  • 域名必须能够从外部解析。

注意

某些 HTML 标签存在风险,CAT 编辑器在显示预览时会从该 HTML 中移除它们。这是为了确保用户的数据隐私和安全。

被移除标签的示例包括 FORM、IFRAME、SCRIPT、SVG、VIDEO、EMBED、OBJECT 或 background-image CSS 属性。

Phrase TMS 设置

先决条件:创建一个 Adobe Experience Manager 用户,并赋予其查看未发布页面所需的最低权限。

提示

创建一个名为 phrase-preview 的新用户,并将该用户添加到 Authors 组中。

  1. 在“设置”Setup_gear.png 页面中,向下滚动至 集成 部分。

  2. 点击 连接器。

    连接器 页面随即打开。

  3. 点击 新建连接器。

    创建连接器 页面随即打开。

  4. 将 类型 更改为 Adobe Experience Manager Live Preview,并为连接器提供一个名称。

  5. 输入 主机。

    使用 Adobe Experience Manager 安装的主机地址(例如:https://aem-author.example.org/ 或 https://author-X-Y.adobeaemcloud.com/)。

    域名必须可在外部解析(不能是内网域名)。

  6. 输入用户名和密码。

    不支持单点登录(SSO)和双重身份验证(2FA)。如果 Drupal 账户强制要求 SSO 或 2FA,请使用不受两者限制的专用服务账户。

  7. 若要修改页面 HTML 中包含的链接,请提供 URL 重写规则,格式为 正则表达式。

    示例:

    若要将 https://example.org/en-us/images/sample.jpg 中的完整区域设置代码替换为仅语言代码,请查找 /([a-z]{2})-[a-z]{2}/ 并将其替换为 /$1/。

    <img src="" data-lazy-src=""、<link href="", <script src=""、<iframe src="" 标签中的链接,以及 CSS 样式和引用的 CSS 文件(url: (''))中的链接都将被重写。

  8. 点击 保存。

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

删除连接器

若要删除连接器:

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

  2. 点击 删除。

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

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

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

注意

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

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

注意

某些 HTML 标签存在风险,CAT 编辑器在显示预览时会从该 HTML 中移除它们。这是为了确保用户的数据隐私和安全。

被移除标签的示例包括:FORM、IFRAME、SCRIPT、SVG、VIDEO、EMBED、OBJECT,或 background-image CSS 属性。

配置翻译工作流

要配置 Adobe Experience Manager 作业处理,请创建一个根据您的需求配置的项目模板:

  • 在 访问和安全 下,激活 允许在 Phrase CAT 编辑器中加载外部内容 选项。

如果使用旧版本,则需要创建并验证 服务 和 提交者门户。要验证配置,请按照以下步骤操作:

  1. 打开一个未完成的翻译项目。

  2. 从 作业 磁贴菜单中选择 导出。

  3. 在下载的 zip 文件中找到包含源文本的 .XML 文件。

  4. 在 Phrase 中,导航至用于集成的 提交者门户 并打开列出的 URL。

  5. 填写 SP 表单,上传 .XML 文件,验证电子邮件并提交。

  6. 验证新项目是否已按照配置从项目模板创建。

AEM 配置

安装插件

在 Phrase 中的 Phrase 生态系统 页面,使用 下载 按钮下载最新的插件包。该插件仅适用于已购买该插件的组织。

本地部署版 AEM

  1. 如果从 6.2 或 6.3 版本迁移到 6.4 及更高版本,请从经典 UI 管理工具中删除所有旧版云服务配置 (/miscadmin#/etc/cloudservices/memsource-translation)

    所有配置将从“旧版云服务 > 用于 AEM 的 Memsource 翻译插件”中消失。

  2. 在 工具、部署 中,转到 包。

  3. 如果适用,请卸载插件的先前版本。

  4. 选择 上传包 并上传安装文件。

  5. 勾选 强制上传 并提交。

AEM 作为云服务

如果已安装插件,请跳转至第 4 步。

  1. 将基于本地文件系统的 maven 存储库添加到 AEM 云服务项目根目录的 pom.xml 中:

    <repositories>
    ...
      <repository>
        <id>project.local</id>
        <name>project</name>
        <url>file:${maven.multiModuleProjectDirectory}/repository</url>
      </repository>
    ...
    </repositories>
  2. 将插件依赖项添加到 all/pom.xml 中:

    <dependency>
      <groupId>com.memsource</groupId>
      <artifactId>aem-memsource-plugin.all</artifactId>
      <version>X.X.X</version>
      <type>zip</type>
    </dependency>
  3. 将嵌入式块添加到 all/pom.xml -> filevault-package-maven-plugin 配置中:

    ...
    <plugin>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>filevault-package-maven-plugin</artifactId>
      <extensions>true</extensions>
      <configuration>
      <group>my_packages</group>
      <embeddeds>
       <embedded>
         <groupId>com.memsource</groupId>
         <artifactId>aem-memsource-plugin.all</artifactId>
         <type>zip</type>
         <target>/apps/aem-memsource-plugin-packages/application/install</target>
       </embedded>
    ...
  4. 将插件添加到本地 Maven 仓库。在 AEM 云服务项目根目录下运行以下命令,将 {memsource.plugin.path} 占位符替换为插件路径(例如 /tmp/aem-memsource-plugin.all-3.0.1.zip):

    mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile={memsource.plugin.path} -DlocalRepositoryPath=./repository/ -Dpackaging=zip
    
  5. 在 all/pom.xml 中设置正确的插件版本(例如 3.0.1):

    <dependency>
      <groupId>com.memsource</groupId>
      <artifactId>aem-memsource-plugin.all</artifactId>
      <version>3.0.1</version>
      <type>zip</type>
    </dependency>
    

配置插件

需要进行两项配置:

  • 通过将 Phrase 添加为翻译服务提供商并指定如何连接到 TMS,告知系统 Phrase 的存在。

  • 通过配置翻译集成配置,告知 Adobe Experience Manager 何时以及如何使用 Phrase。

    示例:

    对高可见度内容使用 Phrase,而对社区内容使用机器翻译供应商。

添加 Phrase 作为翻译服务提供商

请遵循以下步骤:

  1. 在 工具 中,选择 常规,然后转到 配置浏览器。

  2. 为每个 Phrase 服务创建一个配置容器(例如,一个用于人工翻译的配置,另一个用于纯机器翻译的配置)。

  3. 在 云服务 中,转到 翻译云服务。

  4. 展开 conf 目录。

  5. 创建一个新配置并输入以下信息:

    • 主机名:默认 URL 为 https://cloud.memsource.com/web/,但如果您或语言服务提供商 (LSP) 使用自定义 URL,则可能会有所不同。

    • 用户名 和 密码(必须具有 项目经理 角色,并在用户权限中启用了 修改全局服务器设置 选项)。

    点击 连接。

  6. 选择其他选项并关闭配置。

    • 将所有翻译作业归入同一个 Phrase 项目 

      同一个 AEM 项目中的所有翻译作业也将被创建在同一个 Phrase 项目中。

      重要

      如果同时在 Phrase 项目模板设置中启用了 预翻译后将作业设置为已完成 和 所有作业完成后将项目设置为已完成,则此选项无法正常工作。

    • 导入 AEM 后将 Phrase 作业状态设置为已交付 

    • 生成分析 

      如果处于活动状态,一旦发送翻译作业,就会在导入文件时自动生成分析。无论项目模板设置如何,分析始终按语言生成。 

    • 生成报价 

      如果启用了自动生成分析,则可以根据这些分析生成报价。

如果使用旧版本,还需要服务和提交者门户信息。

设置翻译集成

使用适用于 AEM 的 Phrase 翻译插件时,翻译作业中的所有文件都会被提交进行翻译,并因此从 Phrase 返回。使用项目翻译集成配置,以防止不可翻译的资产或参考资料被包含在项目中。

  1. 在“工具”中,转到云服务,点击翻译云服务。

  2. 专门为翻译创建一个新配置。

    • 确保翻译组件字符串和翻译标签未被勾选。

    • 将翻译页面资产设置为不翻译。

    • 在资产选项卡上,将翻译工作流设置为不翻译。

  3. 如果项目仍包含不可翻译的资产或参考资料,请直接在 Phrase 中标记并删除它们。

将翻译集成应用于站点

使用站点分类的不同部分配置默认的 Phrase 翻译提供程序。在站点的根节点配置提供程序。所有子页面都将继承此设置。在需要使用不同提供程序配置的节点覆盖该设置(例如,整个站点使用人工翻译,但社区部分使用机器翻译)。

要应用翻译集成:

  • 在高级选项卡上,选择新创建的配置作为云配置。

从这些页面添加内容时,只会添加可翻译的内容。如果项目是从参考面板创建的,它将自动设置为使用与根页面关联的云配置。

提交内容以进行翻译

要提交内容(站点、资产)以进行翻译,请在 Adobe Experience Manager 中创建一个翻译项目。项目可以在“项目”部分手动创建,也可以使用内置工作流来最大限度地减少工作量。

要准备通过内置工作流提交的项目,请按照以下步骤操作:

  1. 在站点视图中,导航到该页面,选中它,然后打开参考面板。

  2. 点击 语言副本 并展开侧边栏底部的 创建和翻译 部分。

  3. 选择目标语言,可选择取消勾选 选择所有子页面。

  4. 选择 创建多语言翻译项目。

    如果有多种目标语言,将为每种语言创建一个单独的项目。

  5. 输入项目标题并点击 创建。

  6. 导航至 Projects 部分中的项目并将其打开。

  7. 点击第一个磁贴上的省略号以打开“高级项目设置”。

    如果配置正确,则会引用上述步骤中创建的配置。

  8. 要提交作业,请从作业磁贴菜单中选择 Start。

    几分钟内将创建一个新项目。

    • 导入后,将从项目模板分配提供程序,并将 AEM 作业项状态设置为 Committed for translation。

    • 一旦提供程序接受该作业,AEM 作业项状态将更改为 Translation in progress。

    • 如果作业被删除或取消,AEM 作业项状态将更改为 Cancelled。

    提示

    Adobe Experience Manager 会按照 Translation Platform Configuration(通过 Web Console 访问)中配置的时间表轮询作业状态更新。

    将 Scheduler Cron 属性设置为频繁运行(例如 0 0/5 * * * ? * 会每 5 分钟触发一次翻译作业状态刷新)。

    刷新项目详细信息页面会强制执行拉取操作。

  9. 在 Phrase 中,翻译项目作业并将其状态设置为 Completed。完成后,作业将被导回 AEM。

  10. 如果被拒绝,作业的第一个工作流步骤将设置为 Emailed,其余工作流步骤设置为 New。

  11. 一旦 AEM 作业项被接受,作业状态将更新为 Delivered(按照插件设置中的配置)。

有关使用“引用”面板创建翻译项目的更多详细信息,请参阅 Adobe documentation。

其他

自定义语言映射

本地部署版 AEM

要将 Adobe Experience Manager 语言映射到 Phrase 中的不同语言(例如 zh 到 zh_tw),请按照以下步骤操作。

该映射适用于源语言和目标语言。

  1. 打开 CRXDE (/crx/de/index.jsp)。

  2. 浏览至 /apps/memsource-connector/language-mapping/ 文件夹。

  3. 创建一个新节点。

  4. 使用 Adobe Experience Manager 语言代码作为 名称(例如 zh),保持 类型: nt:unstructured。

  5. 添加属性:

    • 名称:memsourceLanguage

    • 类型:字符串

    • 值:语言代码(例如 zh_tw)

  6. 点击 Save All。

未映射的语言代码将按原样发送。

AEM 作为云服务

要在 AEM Cloud Services 中添加语言映射,请按照以下步骤操作:

  1. 在 /conf/aem-memsource-plugin/language-mapping/ 文件夹中创建一个 .content.xml 文件。

  2. 打开创建的文件并将以下内容复制到其中:

    <?xml version="1.0" encoding="UTF-8"?>
    <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
        jcr:primaryType="sling:Folder"/>
  3. 在 /conf/aem-memsource-plugin/language-mapping/zh-cn 文件夹中创建一个 .content.xml 文件。

  4. 打开创建的文件并将以下内容复制到其中:

    <?xml version="1.0" encoding="UTF-8"?>
    <jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0"
              jcr:primaryType="nt:unstructured"
              memsourceLanguage="zh_cn">
    </jcr:root>
  5. 将之前步骤中创建的路径添加到位于 ui.content/src/main/content/META-INF/vault/filter.xml 的 filter.xml 文件中:

    <?xml version="1.0" encoding="UTF-8"?>
    <workspaceFilter version="1.0">
    ...
        <filter root="/conf/aem-memsource-plugin" mode="update"/>
        <filter root="/conf/aem-memsource-plugin/language-mapping" mode="update"/>
    </workspaceFilter>

项目 ID

提交翻译作业后,项目 ID 和 UID 将作为 PROPERTY_MEMSOURCE_PROJECT_ID 和 PROPERTY_MEMSOURCE_PROJECT_UID 属性存储在 /content/projects/project-name/jcr:content/dashboard/gadgets/translationjob 中。

使用这些 ID 在 AEM 环境中显示,或在 API 中使用以扩展插件功能。

AEM 故障排除

问题

原因

解决方案

Cloud Manager 针对 /content/projects 下的 translationObjectID 查询报告“无索引查询”(Query Without Index) 警报

Phrase AEM 连接器通过运行时分配的 translationObjectID 来定位翻译作业节点。此标识符并非预先存在的存储库属性,因此 AEM as a Cloud Service 无法提前对其建立索引,只能回退到全遍历,从而被 Cloud Manager 标记。

添加一个类型为 oak:QueryIndexDefinition 的自定义 Oak/Lucene 索引定义,范围限定为 /content/projects,并在 translationObjectID 上建立属性索引。通过代码流水线部署索引定义,而不是在运行时创建,并在部署到生产环境之前在非生产环境中进行验证。将索引范围限定为 AEM 实例中的项目文件夹结构,尽可能缩小到特定项目文件夹,而不是索引 /content/projects 的全部内容,因为范围过广的索引可能会产生自身的性能影响。部署完成后,AEM 会在重新索引完成后将索引定义的 reindex 属性设置为 false,这表明重新索引已无错误完成,无需进一步操作。

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

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.