Integrations

Adobe Experience Manager - AEM (TMS)

Available for

  • Enterprise plan

Get in touch with Sales for licensing questions.

Supported Versions

The Phrase Translation Plugin for Adobe Experience Manager follows the same product support periods as Adobe Experience Manager. See https://helpx.adobe.com/support/programs/eol-matrix.html for information on support periods.

Once an Adobe Experience Manager version reaches end of core support, Phrase no longer maintains the plugin. The installer will be available but no further improvements or fixes will be implemented.

  • Plugin version 2.x supports 6.5.

  • Plugin version 3.x supports AEM as a Cloud Service.

Integration Release Notes

The Phrase Translation Plugin for TMGMT (Translation Management Tool) supports both Drupal 7 and Drupal 8/9. It can be used to translate all Drupal text elements supported by the TMGMT module.

Joomla 3.7 or higher.

  • Magento CE 2.3 and 2.4

  • Adobe Commerce 2.3 and 2.4 (including on cloud version)

Sitecore - XP (Experience Platform): 8.2 and higher

  • Version: 8.7 or higher

  • PHP Version: 7.0 or higher

Content from TYPO3 is always imported as HTML files.

Custom content blocs are not supported.

  • WordPress Version: 4.9 or higher, including multi-site installations (Phrase plugin and WPML need to be installed to all sites)

  • PHP Version: 7.0 or higher

  • WPML Plugin: version 3.7 or higher

  • Multilingual Press Plugin: version 3.7.0 or higher

  • Bitbucket Server - 5.8 and higher

Phrase Configuration

Configure In-Context Preview

The In-context Preview feature offers a real-time preview of original or translated text in both the CAT web editor and CAT desktop editor.

In order to offer the real-time preview, Phrase it must have access to unpublished pages in an on-premise author node.

Phrase Requirements:

  • Pass through the enterprise firewall to access the on-premise installation.

  • Authenticate into the authoring environment.

Firewall Configuration for On-premise installation:

  • Installation must be accessible from the following IP addresses:

    34.243.87.13, 34.248.197.209, 108.129.22.31, 3.248.158.93

  • Domain name must be able to be resolved externally.

Note

Some HTML tags present a risk and the CAT editor removes them from this HTML when displaying the preview. This is to ensure user's data privacy and security.

Examples of removed tags include FORM, IFRAME, SCRIPT, SVG, VIDEO, EMBED, OBJECT or background-image CSS properties.

Phrase Settings

Pre-requisite: Create an Adobe Experience Manager user with minimum permissions required to view unpublished pages.

Tip

Create a new user called phrase-preview and add the user to the Authors group.

Important

If accessing from a custom domain (ex. mydomain.phrase.jp), open an incognito browser window and log in via cloud.phrase.com or us.cloud.phrase.com to apply the authentication required for the creation or saving of the connector. After saving, the connector can be accessed via the custom domain.

  1. From the Settings Setup_gear.png page, scroll down to the Integrations section.

  2. Click on Connectors.

    The Connectors page opens.

  3. Click New.

    The Create Connector page opens.

  4. Provide a name for the connection and change the Type to Adobe Experience Manager Live Preview Bitbucket Cloud Bitbucket Server Box either Contentful (Entry-Level) or Contentful (Field-Level) Contentstack Dropbox FTP Git GitHub GitLab Google Drive Help Scout HubSpot Joomla Kentico Magento Marketo Microsoft Azure Microsoft OneDrive Salesforce Knowledge SFTP Microsoft SharePoint Online TYPO3 WordPress Sitecore Zendesk Amazon S3 Kentico KontentDrupal Live Preview.

  5. Select how the connector should import linked content items.

    Remote Kontent workflow steps are respected for linked items. If the selected content item is set to Translate, yet all linked items are in Draft they will not be imported. Selected items and their linked items both require the initial Translate workflow step to be imported by APC. This is ensure that only content that is explicitly intended to be localized by the content author is imported.

    • Selected content item only

      • Content that is explicitly selected when adding from the repository is imported.

      • Changes detected by APC are imported for translation.

    • Include linked content items

      • The connector traverses the entire hierarchy of linked content and imports all translatable fields for translation.

  6. Enter Project ID (Delivery API Key) obtained from the Kontent site.

  7. Enter Management API Key obtained from the Kontent site.

  8. Optionally select Export translations as pull requests and provide a Pull request branch.

  9. Optionally select Export translations as pull requests and provide a Merge request branch.

  10. Provide Access key ID.

  11. Provide Secret access key.

  12. Provide the name of the host.

  13. Optionally define when articles are to be translated based on field status.

  14. Optionally define field status on post-translation.

  15. Select what status translations should have.

  16. Provide Translate to languages specified in (APC).

    Automated Project Creation only creates jobs for languages specified in the custom field identified by its Field Name (e.g. Target_Languages__c). The field type should be the multi-value picklist, where the values use language codes as the API Names.

  17. Enter the Host prefix.

  18. In the Translate articles with label field, specify a label that flags an article to be processed by the connector. If specified, only articles with this label will be processed.

  19. Select how jobs will be created.

  20. Select how to save translations.

  21. Define article workflow.

  22. Click Connect to Zendesk.

    Zendesk login page opens.

  23. Log in to Zendesk.

    A checkmark will appear if the connection was successful. A red exclamation point will appear if it wasn't. Mouse over the icon to see additional details.

  24. Enter the Sitecore URL, including the protocol.

  25. Enter the WordPress site URL.

    Example: If your WordPress admin page URL was http://blog.phrase.com/wp-admin/index.php, the site URL would be http://blog.phrase.com/.

  26. Enter the Phrase WordPress plugin token with the token from Phrase plugin configuration.

  27. If the site is secured using basic HTTP authentication, provide Username and Password as set in WP admin.

  28. Enter the host of the TYPO3 CMS, including the protocol (e.g. http://phrasedemo.com/typo3-v8), in the Host field.

  29. Enter the Phrase Connector Token in the Token field.

  30. Provide SharePoint site URL.

    Depending on setup:

    • hostname (e.g. https://james007.sharepoint.com/)

    • includes /sites/<my-site-name>/ (e.g. https://james007.sharepoint.com/sites/skyfall/)

  31. Provide the connection string.

  32. Provide the following information:

    • Marketo API key

      Enter Marketo Client ID.

    • Marketo API secret

      Enter Marketo Client Secret.

    • Marketo API identity URL

      Enter the first part of the Marketo Identity URL

    • If requested by Technical Support team, select Log debug information.

    • Create translations options:

      • If not using language-specific segmentation to store target translations, select as separate documents.

      • If using language-specific segmentation, select as segmented dynamic content, and click Test connection.

        Provide Segmentation name and mapping requirements from the dropdown lists and indicate which segment contains the source content.

    • Select Translate tokens to include tokens in translation.

  33. Enter the Magento site URL (including the protocol) and the Phrase plugin token.

  34. Enter the Kentico URL.

  35. Enter the Username and Password.

  36. Select the Source Language.

    Source language must match the default language in Sitecore.

  37. Select the Sitecore Database to connect to. If not using the default database, provide the Custom Database Name.

  38. Select the Source Language.

  39. Enter the Host including the protocol (e.g. https://example.org/).

  40. Paste the token from Joomla into the Token field.

  41. Click Connect to HubSpot.

    HubSpot login page opens.

  42. Paste the API key into the Help Scout Docs API key field.

  43. In the Help Scout Target Collection field, type the name of an existing Help Scout collection or the name of a collection to be created.

    New collections appear in the collection list of the Help Scout account.

  44. Click Connect to Google Drive.

    A Google authentication screen will appear where you can select your account.

  45. Enter GitLab site URL (e.g https://gitlab.com/) and the GitLab personal access token you have obtained from the GitLab site.

    • In order to access the repository, it must be accessible from the Internet.

  46. Click Connect to GitHub. A popup window or a new tab will appear requesting authorization.

  47. Enter the repository address into the Repository URI field.

    • The repository address is the connection string used to clone the repository (e.g. git@gitlab.com:joe.doe/my-repo.git)

    • In order for to access the repository, it has to be reachable from the Internet.

  48. Provide the following information:

    • Host name. Does not include the protocol (e.g. files.example.com).

    • Port number (Default setting is 21).

    • FTP Username.

    • FTP Password.

    • Select an encryption preference.

  49. Provide the following information:

    • Host name. Does not include the protocol (e.g. files.example.com).

    • Port number (default setting is 22).

    • SFTP Username.

    • SFTP Password.

    • SSH key.

      Only legacy PEM private key format is supported when using the SSH key for authentication. Use the -m PEM option when generating the SSH key with ssh-keygen.

    • SSH passphrase.

  50. Select an Authentication method.

    • For Password access enter the Username and Password or Personal Access Token, if basic authentication is not supported (e.g. GitHub).

      • If using password access, the Repository URI starts with https:// (e.g. https://github.com/joe.doe/my-repo.git).

      • The personal access token needs to have appropriate read/write rights.

    • For Private key access load the Private key and optionally enter the Private key passphrase.

      • If using a private key, the Repository URI starts with git@.

      • Only legacy PEM private key format is supported when using the private key for authentication. Use the -m PEM option when generating the private key.

  51. Select Authentication method.

  52. Select Contentstack Region according to the location of the data centers where the organization's data resides.

  53. If using Management token authorization, enter Stack API key and Management token obtained from the Contentstack site. If using User's Authtoken, enter the Username, Password, and the API key.

  54. Apply Translate URL and Translate tags options if required.

  55. Provide Translate to languages specified in (APC).

    Automated Project Creation will only create jobs for languages specified by codes in the given field that is specified by a unique ID (e.g. target_languages). Codes can be followed by language names as long as they are separated by a comma (e.g. de-DE German (Germany)).

    Language codes are case insensitive and can use either _ or formatting - (e.g. de_de, de-de, de-DE).

    Note

    To select target languages on the content item level, create a new Taxonomy Group (Content Model > Taxonomies) within the selected Kontent Project ID. The newly created group (e.g. Target Languages) should contain the language codes of all localization languages configured in the selected project. Add the configured taxonomy group to all or selected content models as a supporting element. Once added, the codename can be obtained.

  56. Provide Non localizable block fields if required.

    Specified block fields UIDs will not be imported. Separate multiple UIDs by comma (e.g. UID1, UID2, UID3).

  57. Select Source language.

    This setting does not impact the default language in the project. The source language for the connector itself is language agnostic and any localization languages that are configured for a particular project can be used as the source language for the connector.

    If using Kontent with multiple source languages, set up multiple instances of the connector with different source languages configured in this field.

  58. Click Connect to Dropbox.

    A popup window or a new tab will appear requesting authorization.

    • If successful, a small checkmark appears next to the Connect to Dropbox button.

    • If the connector becomes invalid, a red exclamation mark will be displayed and the Dropbox connector’s edit dialog will show a Re-authenticate button that is used to re-establish the connection.

      Reasons for invalidation:

      • The authorization token expires after a long period of inactivity.

      • Users revoke access.

      • Users change their credentials.

  59. Click Test connection.

    • If successful, a small checkmark appears next to the Test connection button.

  60. Select how to process nested content. Content can use a reference field to reference other content allowing the creating a hierarchy of entities.

    • Contentful (Entry-Level)

      The entry-level connector automatically traverses the entire hierarchy of nested content.

    • Contentful (Field-Level)

      Select how the field-level connector should import nested content.

      • Selected entry only

        • Content that is explicitly selected when adding from the repository is imported.

        • Changes detected by APC are imported for translation.

      • Import referenced entries

        • The connector traverses the entire hierarchy of nested content and imports all translatable fields for translation.

  61. Select Use fallback Language if data is missing for a particular field in the source language.

    Select a Source Language fallback from the dropdown list if required. This language locale will be used in the case of missing data.

    Note

    There is no relationship between the Contentful fallback language and this setting.

  62. If logging of debug information is requested by Technical Support team, select Log debug information.

  63. Click Connect to Contentful.

    A checkmark will appear in the connector setup if the connection was successful. A red exclamation point will appear if it wasn't. Mouse over the icon to see additional details.

  64. Click Connect to OneDrive.

    If successful, a small checkmark appears next to the Connect to OneDrive button. A red exclamation point appears if it isn't. Mouse over the icon to see additional details.

  65. Click Connect to SharePoint.

    A popup window or a new tab will appear requesting SharePoint authorization.

  66. Click Connect to Salesforce.

    A checkmark will appear if the connection was successful. A red exclamation point will appear if it wasn't. Mouse over the icon to see additional details.

  67. Contentful (Entry-Level) only:

    Set the Source language.

    Note

    This language should match the Default locale of the Contentful space that's configured in Contentful's Locales settings.

  68. Click Connect to Bitbucket.

    A popup window or a new tab will appear requesting authorization.

  69. Click Connect to Box.

    A popup window or a new tab will appear requesting authorization.

  70. Enter the server host address into the Host field and the Bitbucket personal access token obtained from the Bitbucket server site.

  71. Click Test connection.

    A checkmark will appear if the connection was successful. A red exclamation point will appear if it wasn't. Mouse over the icon to see additional details.

    Contentstack workflows can be selected.

  72. Provide a Commit message if required.

  73. Click Test connection.

    A checkmark will appear if the connection was successful. A red exclamation point will appear if it wasn't. Mouse over the icon to see additional details.

  74. Select Contentstack workflows.

    • Translate articles from:

      The connector monitors articles in the selected stage (e.g. Translate). The author can apply this label to articles when ready for translation.

    Upon import from Contentstack:

    • Set source articles to

      The connector advances the workflow to the selected stage (e.g. Translation in Progress) when the source articles are downloaded.

    Upon export to Contentstack:

    • Set source articles to

      The connector sets the workflow stage of the source articles to the selected stage (e.g. Translations Completed) when the translation is exported.

    • Set translated articles to

      The connector sets the workflow stage of the article translations to the selected stage (e.g. Translation ready for Review) when the translation is exported.

  75. If not verified in the previous step, click Test connection.

    A checkmark will appear if the connection was successful. A red exclamation point will appear if it wasn't. Mouse over the icon to see additional details.

  76. Click Test connection.

    A list of configured languages will appear if the connection was successful. A red exclamation point will appear with an error message if it wasn't. Mouse over the icon to see additional details.

    If the source or target is changed, clicking Test connection will refresh the selection of configured languages.

  77. Enter the source language. TYPO3 will not store this information.

  78. Select the Website, Store, and Source store view.

  79. Log in to HubSpot and select an account.

    A checkmark will appear in the connector setup if the connection was successful. A red exclamation point will appear if it wasn't. Mouse over the icon to see additional details.

  80. Choose how the target files are to be organized in HubSpot:

    • As multi-language groups - the translated pages are linked to the master page and form a language group. This option is supported for only Landing and Website pages. For more information, see HubSpot documentation.

    • As separate documents - the translated pages are stored as siblings. Language code appended to their internal page name differentiates the individual translations (e.g., Homepage vs. Homepage [de]).

  81. Select publication status of translations.

  82. Click Test connection.

    • For a Basic or Standard Help Scout account, a message will appear to confirm the connection to the single site on Help Scout.

    • For a Plus Help Scout account, a list of multilingual sites will be displayed. Select the language of each site from the drop-down lists and which site will be the source for the translation.

  83. Click on Allow.

    A checkmark will appear in the connector setup if the connection was successful. A red exclamation point will appear if it wasn't. Mouse over the icon to see additional details.

  84. Click the Next button.

    If successful, the window/tab will disappear and a small checkmark appears next to the Connect to Sharepoint button. A red exclamation point will appear if it wasn't. Mouse over the icon to see additional details.

  85. Set the Source Language.

    • This language must match the Source language of the project and should match the Primary language of the HubSpot site that's configured in HubSpot Domains & URLs settings.

  86. Click the Authorize Phrase button.

    If successful, the window/tab will disappear and a small checkmark appears next to the Connect to Bitbucket Connect to GitHub button.

  87. Click on Grant access to Box.

    If successful, the window/tab will disappear and a small checkmark appears next to the Connect to Box button.

  88. Enter the Host.

    Use the host address of the Adobe Experience Manager installation (e.g., https://aem-author.example.org/ or https://author-X-Y.adobeaemcloud.com/).

    The domain name must be resolvable externally (not an intranet domain).

  89. Enter the Host.

    Use the host address of the Drupal installation (e.g., http://drupal-9.kos.phrase.com/).

    The domain name must be resolvable externally (not an intranet domain).

  90. Enter the Username and Password.

  91. To modify links contained in page HTML, provide URL rewrite rule in regexp.

    Example:

    To replace a full locale code with just the language code in https://example.org/en-us/images/sample.jpg, find /([a-z]{2})-[a-z]{2}/ and replace it with /$1/.

    Links in the tags <img src="" data-lazy-src="", <link href="", <script src="", <iframe src="" and links in CSS styles and referenced CSS files (url: ('')) will be rewritten.

  92. Select Kontent workflows.

    By configuring workflows for a Kontent Project, the workflow can be tuned to provide localization when needed. Kontent workflows are configured for each project individually. By setting the Delivery API Key (Project ID) in the connector configuration, only the remote workflow steps for the specified project ID are displayed.

    • Translate articles from:

      The connector monitors articles in the selected stage (e.g. Translate). The author can apply this label to articles when ready for translation.

    Upon import from Kontent:

    • Set source articles to

      The connector advances the workflow to the selected stage (e.g. Translation in Progress) when the source articles are downloaded.

    Upon export to Kontent:

    • Set source articles to

      The connector sets the workflow stage of the source articles to the selected stage (e.g. Translations Completed) when the translation is exported.

    • Set translated articles to

      The connector sets the workflow step of the article translations to the selected stage (e.g. Translation ready for Review) when the translation is exported.

  93. Click Save.

    The connector is added to the list on the Connectors page.

  94. Edit the connector to select Contentful workflows.

    • Translate articles from:

      The connector monitors articles in the selected stage (e.g. Translate). The author can apply this label to articles when ready for translation.

    Upon import from Contentful:

    • Set source articles to

      The connector advances the workflow to the selected stage (e.g. Translation in Progress) when the source articles are downloaded.

    Upon export to Contentful:

    • Set source articles to

      The connector sets the workflow stage of the source articles to the selected stage (e.g. Translations Completed) when the translation is exported.

Note

Some HTML tags present a risk and the CAT editor removes them from this HTML when displaying the preview. This is to ensure user's data privacy and security.

Examples of removed tags include FORM, IFRAME, SCRIPT, SVG, VIDEO, EMBED, OBJECT or background-image CSS properties.

Configure Translation Workflow

To configure Adobe Experience Manager job processing create a project template configured to your needs:

  • Under Access and Security set the Allow loading external content in editors.

    content of the image was changed.

If using legacy versions, a service and a portal will need to be created and validated. To validate the configuration, follow these steps:

  1. Open an incomplete Translation Project.

  2. Select Export from the Job tile menu.

  3. Find the XML file that contains the source text within the downloaded zip file.

  4. In Phrase, navigate to the Submitter portals used for the integration and open the listed URL.

  5. Complete the AW form, upload the XML file, validate the email and submit.

  6. Verify the new project was created from the project template as configured.

AEM Configuration

Install the Plugin

On-premise AEM

  1. If migrating from 6.2 or 6.3 to 6.4 and above, remove all Legacy Cloud Services configurations from the Classic UI Admin tool (/miscadmin#/etc/cloudservices/memsource-translation)

    All configurations disappear from Legacy Cloud Services > Memsource Translation Plugin for AEM.

  2. In Tools, Deployment, go to Packages.

  3. Uninstall previous version of the plugin, if applicable.

  4. Select Upload package and upload the installation file.

  5. Check Force Upload and submit.

AEM as a Cloud Service

If plugin is already installed, jump to Step 4.

  1. Add local filesystem based maven repository to the AEM cloud service project root pom.xml:

    <repositories>
    ...
      <repository>
        <id>project.local</id>
        <name>project</name>
        <url>file:${maven.multiModuleProjectDirectory}/repository</url>
      </repository>
    ...
    </repositories>
  2. Add plugin dependency to all/pom.xml:

    <dependency>
      <groupId>com.memsource</groupId>
      <artifactId>aem-memsource-plugin.all</artifactId>
      <version>X.X.X</version>
      <type>zip</type>
    </dependency>
  3. Add embedded block to all/pom.xml -> filevault-package-maven-plugin configuration:

    ...
    <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. Add the plugin to the local maven repository. Run the following command from AEM cloud service project root replacing {memsource.plugin.path} placeholder with the path to the plugin (e.g. /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. Set the correct plugin version in all/pom.xml (e.g. 3.0.1):

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

Configure the Plugin

Two configurations are required:

  • Tell the system that Phrase exists by adding it as a Translation Service Provider specifying how to connect to the TMS.

  • Tell Adobe Experience Manager when and how Phrase is to be used by configuring Translation Integration Configuration.

    Example:

    Use Phrase for high-visibility content, but a machine translation vendor for community content.

Add Phrase as a Translation Service Provider

Follow these steps:

  1. In Tools, General, go to Configuration Browser.

  2. Create a configuration container for each Phrase service (e.g. one configuration for human translation and a separate configuration for machine-only translation).

  3. In Cloud Services, go to Translation Cloud Services.

  4. Expand the conf directory.

  5. Create a new configuration and enter the following information:

    • Hostname: The default URL is https://cloud.memsource.com/web/ but can be different if you or the LSP is using a Custom URL.

    • Username and Password (must be in a PM role with Modify global server settings option enabled in user rights).

    Click Connect.

  6. Select other options and close the configuration.

    • Group all translation jobs in a single Phrase project

      All translation jobs within one AEM project will be also created within one Phrase project.

    • Set Phrase job status to Delivered after import to AEM

    • Generate analyses

      If active, once a translation job is sent, analyses are automatically generated when the files are imported.

    • Generate quotes

      If automatic generation of analyses is activat, quotes can be generated based these analyses.

If using legacy versions, service and portal information will also be required.

Set up Translation Integration

When using the Phrase Translation Plugin for AEM, all files in the translation jobs are submitted for translation and thus returned from Phrase. Use the project Translation Integration configuration to prevent non-translatable assets or reference materials from being included in the projects.

  1. In Tools, go to Cloud Services, click Translation Cloud Services.

  2. Create a new configuration specifically for translation.

    • Ensure Translate Component Strings and Translate Tags are unchecked.

    • Set Translate page assets to Do not translate.

    • On the Assets Tab, set the Translation Workflow to Do not translate.

  3. If a project still contains non-translatable assets or reference materials, mark and delete them directly in Phrase.

Apply Translation Integration to Sites

Configure default Phrase Translation Provider with different parts of the site taxonomy. Configure the provider at the root node of the site. All descendant pages will inherit the setting. Override the setting at the node that should use different provider configuration (e.g. entire site uses human translation but the community section uses machine translation).

To apply translation integration:

  • On the Advanced Tab, select the newly created configuration as the Cloud Configuration.

When adding content from these pages, only translatable content will be added. If a project is created from the References Panel, it will be automatically set up to use the cloud configuration associated with the root page.

Submit Content for Translation

To submit content (Sites, Assets) for translation, create a translation project in Adobe Experience Manager. Projects can be created manually in the Projects section or use built-in workflows to minimize the effort.

To prepare a project for submission through the built-in workflows, follow these steps:

  1. From the Sites view, navigate to the page, select it, and open the References Panel.

  2. Click Language Copies and expand the Create & Translate section at the bottom of the rail.

  3. Select target languages, optionally uncheck the Select all sub-pages.

  4. Select Create Multi-language Translation Project.

    If there are multiple target languages, a separate project will be created for each language.

  5. Enter project title and click Create.

  6. Navigate to the project in the Projects section and open it.

  7. Click the ellipsis on the first tile to open the Advanced project settings.

    If configured properly, configurations created in the steps above are referenced.

  8. To submit a job, select Start from the job tile menu.

    A new project will be created within a few minutes.

    • Upon import, providers are assigned from the project template and the AEM job item status is set to Committed for translation.

    • Once the job is accepted by a provider, the AEM job item status changes to Translation in progress.

    • AEM job item status changes to Cancelled if the job is deleted or cancelled.

    Tip

    Adobe Experience Manager polls for a job status update on a schedule that is configured in Translation Platform Configuration accessed via Web Console.

    Setting the Scheduler Cron property to run frequently (e.g. 0 0/5 * * * ? * triggers a translation job status refresh every 5 minutes).

    Refreshing the project detail page forces a pull.

  9. In Phrase, translate the project jobs and set their status to Completed. Upon completion, the jobs are imported back into AEM.

  10. If rejected, the first workflow step of the job is set to Emailed, and the remaining workflow steps to New.

  11. Once an AEM job item is accepted, the job status updates to Delivered as configured in the plugin settings.

For more details on creating translation projects using the References Panel, see Adobe documentation.

Miscellaneous

Custom Language Mapping

On-premise AEM

To map Adobe Experience Manager languages to different languages in Phrase (e.g. zh to zh_tw), follow these steps.

The mapping applies to both source and target languages.

  1. Open CRXDE (/crx/de/index.jsp).

  2. Browse to the /apps/memsource-connector/language-mapping/ folder.

  3. Create a new node.

  4. Use Adobe Experience Manager language code as the Name (e.g. zh), keep Type: nt:unstructured.

  5. Add property:

    • Name: memsourceLanguage

    • Type: String

    • Value: language code (e.g. zh_tw)

  6. Click Save All.

Un-mapped language codes are sent as they are.

AEM as a Cloud Service

To add language mapping in AEM Cloud Services, follow these steps:

  1. Create a .content.xml file in the /conf/aem-memsource-plugin/language-mapping/ folder.

  2. Open the created file and copy the following into it:

    <?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. Create a .content.xml file in the /conf/aem-memsource-plugin/language-mapping/zh-cn folder.

  4. Open the created file and copy the following into it:

    <?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. Add the paths created in previous steps to the filter.xml file found at ui.content/src/main/content/META-INF/vault/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>

Project IDs

Once a translation job is submitted, the project ID and UID are stored in the /content/projects/project-name/jcr:content/dashboard/gadgets/translationjob as PROPERTY_MEMSOURCE_PROJECT_ID and PROPERTY_MEMSOURCE_PROJECT_UID properties.

Use the IDs for display in the AEM environment or in APIs to extend plugin functionality.

Was this article helpful?

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.