集成

Adobe Experience Manager - AEM (TMS)

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

可用于

  • Enterprise 套餐

关于许可问题,请联系销售团队

包含在

  • Enterprise 套餐(原)

关于许可问题,请联系销售团队

支持的版本

适用于 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 Editor 和 CAT Desktop Editor 中实时预览原文或译文。

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

Phrase 要求:

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

  • 验证进入创作环境。

本地安装的防火墙配置:

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

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

注释

某些 HTML 标记存在风险,CAT Editor 在显示预览时会从该 HTML 中移除这些标记。这是为了确保用户的隐私和安全。

已移除标记的示例包括 FORMIFRAMESCRIPTSVGVIDEOEMBEDOBJECT 或 background-image CSS 属性。

Phrase TMS 设置

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

提示

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

  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 Editor 在显示预览时会从该 HTML 中移除这些标记。这是为了确保用户的隐私和安全。

已移除标记的示例包括 FORMIFRAMESCRIPTSVGVIDEOEMBEDOBJECT 或 background-image CSS 属性。

配置翻译工作流

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

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

如果使用原版本,则需要创建并验证 服务Submitter portal。要验证配置,请按照以下步骤操作:

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

  2. 工作 磁贴菜单中选择 导出

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

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

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

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

AEM 配置

安装插件

本地部署 AEM

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

    所有配置将从原云服务 > Memsource Translation 插件 for AEM 中消失。

  2. 工具部署 中,转到

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

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

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

AEM as a Cloud Service

如果已安装插件,请跳转至步骤 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>
      <类型>zip</类型>
    </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>
         <类型>zip</类型>
         <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>
      <类型>zip</类型>
    </dependency>
    

配置插件

需要进行两项配置:

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

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

    示例:

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

添加 Phrase 作为翻译服务商

请遵循以下步骤:

  1. Tools 中,进入 General,前往 Configuration Browser

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

  3. Cloud Services 中,前往 Translation Cloud Services

  4. 展开 conf 目录。

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

    • Hostname:默认 URL 为 https://cloud.memsource.com/web/,但如果您或 LSP 使用了自定义 URL,则可能会有所不同。

    • UsernamePassword(必须是具有 Modify global server settings 选项权限的 项目经理 角色)。

    点击 Connect

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

如果使用原版本,则还需要 服务Submitter portal<2> 信息。

设置翻译集成

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

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

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

    • 确保 翻译组件 Strings翻译标记 未被勾选。

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

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

  3. 如果项目仍然包含非译元素资产或参考资料,请直接在 Phrase 中标记并删除它们。

将翻译集成应用于站点

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

要应用翻译集成:

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

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

提交内容进行翻译

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

要准备用于通过内置工作流提交的项目,请遵循以下步骤:

  1. Sites 视图中,导航到该页面,选择它,然后打开 References Panel

  2. 点击 Language Copies 并展开侧边栏底部的 Create & Translate 部分。

  3. 选择译文语言,可选择取消勾选 Select all sub-pages

  4. 选择 Create Multi-language Translation Project

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

  5. 输入项目标题并点击 Create

  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. 如果被拒绝,工作的第一步工作流步骤将设置为 已发邮件,其余工作流步骤设置为 新建

  11. 一旦 AEM 工作条目被接受,工作状态将更新为 已交付,具体取决于插件设置中的配置。

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

其他

自定义语言映射

本地部署 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. 点击 全部保存

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

AEM as a Cloud Service

要在 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.xmlfilter.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 就会存储在 /content/projects/project-name/jcr:content/dashboard/gadgets/translationjob 中,作为 PROPERTY_MEMSOURCE_PROJECT_IDPROPERTY_MEMSOURCE_PROJECT_UID 属性。

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

AEM 故障排除

问题

原因

解决方案

Cloud Manager 针对 /content/projectstranslationObjectID 的查询报告了“无索引查询”警报

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.