Skip to main content

AEM Touch Connector Configuration 5.0x

Important: This connector is a paid product. For pricing information, please reach out to your Smartling Customer Success Manager.

Note: If you are still using AEM Touch Connector version 4.0x for AEM 6.3 and lower, consult the configuration procedures here.

Info: Get the latest version of the connector from the Downloads page.

The following AEM Touch Connector version 5.0 configuration procedures are for AEM 6.4 and higher. If you would like to migrate to AEM 6.4 and be able to use AEM Touch Connector version 5.0, you'll need to follow the procedures below.

In AEM 6.4, Adobe restructured the repository, and moved the Translation Cloud Services configuration to a new location.

Adobe also changed the way that the translation configuration is assigned to sites\pages. We recommend deleting existing Smartling configuration(s) for AEM version 6.3 and below, and create a new one according to the steps outlined in the following sections. Highlighted in the screenshot below is where you can find legacy and new translation configurations.

image1.png

Tip: If you decide to upgrade from AEM 6.3 or lower, you first need to delete Smartling's existing configuration. If you are installing the AEM Connector for the first time, skip to creating a new configuration.

Delete Smartling's Legacy Configuration

  1. Open Tools from the AEM Classic UI, and select the following Cloud Service Configuration -> Smartling item miscadmin#/etc/cloudservices/smartling-translation.

  2. Delete all of your Smartling configurations.

    image2.png
  3. Ensure that all configurations were deleted via Tools > Cloud Services > Legacy Cloud Services /libs/cq/core/content/tools/cloudservices.html. There should no longer be any configurations.

    salesforce.png

You're now all set to create a new Smartling configuration.
​

Create a New Configuration

You'll be creating two configurations:

  1. Translation Integration

  2. Smartling Translation Provider
    ​

Create a Translation Integration Configuration

You can create a new configuration (folder). To do this, open Configuration Browser.

config_browser.png


Now you can create a configuration folder where you will add two translation configurations.

  1. Open the new Translation Cloud Services (/mnt/overlay/cq/translation/gui/content/cloudservices.html)

  2. Select conf - global and click Create.

  3. From the dropdown, select Translation Integration.

    trans_int_config.png
  4. Check your configuration, and set it to the following:

    edit_config.png
    edit_config2.png


To learn more about available options, see the official AEM documentation.

Note: Make sure that the Auto-execute Translation option is enabled for both the Sites and Assets tabs.

Create Configuration for Smartling Translation Provider

  1. Open the new Translation Cloud Services /mnt/overlay/cq/translation/gui/content/cloudservices.html.

  2. Select conf - global and click Create.

  3. From the dropdown, select Smartling.

    global.png
  4. Retrieve your Project ID, User Identifier, and Token Secret from the Smartling Dashboard > API page. (Make sure you've selected the v2.0 tab.)

    api.png
  5. Click Edit and enter your Project ID, User Identifier, and Token Secret.

    token.png
  6. After saving the configuration, you can verify it by clicking Test connection on the toolbar.

    test_connection.png

Configure Site for Translation

To configure the translation of your source pages into other languages, associate the pages with the following cloud configurations:

  • The cloud configuration that connects AEM with the Smartling provider.

  • The Smartling configuration that configures the details of the translation.

When you associate a page with a cloud configuration, the descendants of the page inherit the association.

Associate a Site with a Translation Provider

Associate a page with the Smartling provider that you are using to translate the page and its descendant pages.

1. In the Sites console, select the top page of your site to configure it, and click Properties.

page.png

Note: You should set the configuration for the page that is the parent of your sites (original and localized).

3. Select the Advanced tab.

4. Select the /conf/global configuration.

conf_global.png

If the locales configured in you AEM site need to be remapped to different Smartling locales, see the AEM Touch Connector FAQ page for the locale remapping guide.

Adding multiple source locales to a project

You can only have one Smartling project configuration in AEM. This project has source and target locales that are mapped to the source and target locales of the project in Smartling. Each project in Smartling can have only one source locale.

To translate AEM content in Smartling from multiple source locales, you can add a source locale override to the Smartling project configuration, and map that source locale to the appropriate AEM project in Smartling. This allows you to translate AEM content from multiple source languages, within a single AEM instance.

To add multiple source locales, do the following:

  1. Create an AEM Connector project in Smartling with the source locale you want to translate from

  2. Get the API credentials from Account Settings > API v2 > Project Tokens > Create Tokens

  3. In the Smartling project configuration in AEM, add source locale override (pictured)

  4. Insert credentials

Add as many source locales overrides as required. Ensure each override is mapped to a Smartling project with the AEM locale as the source locale.

Screenshot 2023-10-25 at 6.40.15 PM.png


AEM Touch Context Configuration

The AEM Touch Connector uses a Smartling Project ID and API Key for connecting to the Smartling Context service. Only one Adobe instance can provide context to each Smartling project. If you need to use context on multiple CQ instances (for example, development, quality assurance and/or staging servers), use a different Smartling Project ID and API Key for each. This only applies for providing context and doesn’t limit uploading content from different CQ instances into a single Smartling project.

The Smartling Context configuration includes the following settings:

  • Server URL: The domain name of your author server.

  • User: The AEM account name that should be used for capturing context. You can use an account with read-only or limited permissions.

Configure Context

  1. In the Web console, open Components (/system/console/configMgr).

    Screenshot_2021-03-16_at_14.24.42.png
  2. Find the context component “Smartling - Context Preview Settings”. No defaults are provided. An AEM Administrator must explicitly configure the Context Preview Settings.
    ​
    ​

Configure String Sharing

By default, Smartling will treat strings as being unique to each page - that is, if identical strings are included on multiple pages, Smartling will capture the string for translation each time. This gives you flexibility to translate a string differently for different context or space requirements.

To configure string sharing, open the Smartling - String Duplicates Processor.

To access the Smartling - String Duplicate Processor, open <aem_url>/system/console/configMgr, and click Smartling - String Duplicates Processor (Touch).

Alternatively, open <aem_url>/system/console/configMgr/com.smartling.aem.connector.core.impl.config.StringDuplicatesProcessor directly.
​

Send page content with variants

If you want your pages to share strings - to capture a string only once for your whole site and duplicate the translation wherever that string appears, you can enable string sharing by unchecking Send page content with variants.

Use Legacy namespaces

Shares duplicate strings across files of the same page.

Use unique namespaces for Experience and Content Fragments

Sends strings for AEM Experience Fragments and Content Fragments with unique namespace, meaning strings will not be shared. Pages with the same fragments strings can be translated independently and delivered separately.

This option overrides the use of legacy namespace option.

image__3_.png


Configure Fields for Custom Components

Create custom components and define these custom component fields as translatable within the Adobe translation framework.

  • Go to the Translation Configuration in AEM

Screen_Shot_2021-07-06_at_12.50.33_PM.png
  • From here, configure each property as translatable, inherit, and define how each property should be parsed by Smartling.

    • For example, HTML components should be parsed as HTML.

    • To avoid HTML entities, such as " (double quotes) appearing as such, &quot;, set the parsing to plain text.

Screen_Shot_2021-07-06_at_12.51.28_PM.png

Tip: For more information, read Content Parsing.

Add Character Limits

You can set a character limit for a property mapping. This feature was introduced in version 5.8.66. We recommend using it with plain text strings. The character limits will be visible to linguists working on translations in the CAT Tool.

character-limit.png


Configure Web Callbacks

When translation of a file is completed, Smartling sends an HTTP request to the AEM Touch Connector, and the Connector then asks AEM to sync the translation with Smartling.

To configure web callbacks, ensure that the proper URL is specified in Smartling - Callback URL (Touch) OSGi configuration.

Shared Secret

The connector can also validate the signature of an incoming callback request with a shared secret. To enable this feature, the customer should contact their Smartling Representative to enable signed callbacks for your account.

Then update AEM Smartling - Callback URL (Touch) OSGi configuration with the URL and Shared secret (that was used for account configuration).


​ Also, you need to allow anonymous access to Smartling AEM connector callback endpoint /services/smartling/sync-translation.
​

240581616-b8c1561d-a41b-437c-bbcf-2bda673d01fc.png


Additional Smartling Configuration

The Smartling Adobe Touch connector provides some additional configuration settings.
​

​

Configure Auto Authorize

When you create a translation Job in AEM, you must authorize the Job in Smartling to initiate translation. This can be automated with Auto Authorize.

The Auto Authorize setting can be found in the OSGi configuration, as shown:

move-strings.png


Enabling this setting will make it enabled by default when you create a translation Job in the Smartling Translate modal, as shown:

auto authoirize in the Smartling Translate modal.png


Move strings setting

You can control which strings are added to a job when you request content for translation. Three options are available:

  • None – only add new strings from the file

  • In Progress – also move existing untranslated strings from other jobs

  • All – move every string in the file, including already published ones

move-strings-setting.png


Configure Auto-Resubmission for Updated Translations

Once a file is fully published, the AEM connector delivers translations to AEM, but any subsequent edits to those published translations are not automatically sent back. With this setting enabled, the connector automatically resubmits content when published translations are edited and republished after the original AEM job completed, eliminating manual resubmission when translators fix content post-delivery.

The feature is managed in the OSGi configuration.

aem-touch-auto-publish.png

The connector runs a background job on a configurable schedule. At each interval, it checks whether any translation updates have been made to previously submitted content, using metadata saved at the time of the original upload. If updates are detected, the connector automatically resubmits the content to the same Smartling job using the original request parameters: job, target language, and custom fields. If the original job no longer exists, the connector creates a new job.

Limitations

  • Applies to pages, Experience Fragments (XFs), and Content Fragments (CFs) only.

  • Automatic resubmission only applies to content that was originally requested after this setting was enabled.

Control Access to the Translate Button

Requires AEM Touch Connector version 5.8.85 or later.
​

By default, every user with access to the connector sees the Translate button. You can use the smartling:translationButton permission to control which users and groups can see it. This is useful when only certain teams, such as project owners or localization managers, should submit content for translation.
​

The permission only controls the visibility of the Translate button. Users who don’t have the permission can still request translations through the References panel.


This feature is optional and is turned off by default. The connector grants the permission by default to the Smartling Projects Owners group (smartling-projects-owners), with allow on the path /content.
​

aem-touch-access-control-list


​How to use this feature

An AEM administrator must first enable the feature in the OSGi configuration. It is off by default.
​

OSGi-configuration

After that, an administrator can assign the permission to a specific user or group.

For example, to hide the Translate button for the Experience and Products sections of your site, set the permission to deny for the relevant user or group on those paths. An explicit deny on a path hides the button there, even if the user has broader access elsewhere.
​

example-permissions-hide-button


In this example, the Translate button is not available on the Experience and Products pages.
​

This feature works for Sites, DAM, Forms, and Page Editor UIs.


Configure Custom Placeholders

By default, the connector captures and masks any placeholders used by the Java MessageFormat, to Translators.

If you want to mask other blocks of your content, you can use a Java Regular Expression to define content that should be captured as a placeholder. Add your Regular Expression in the web console in the Smartling - Translatable Content Configuration (Touch) component.

Note: It's best to do this as you do your initial setup. If you change this setting once you have started translating, it may change how your strings are captured and cause you to need to redo translations.

Screenshot_2021-03-16_at_14.25.12.png


Configure Automatic Approval, Promotions and Deletion in the Translation Project

Approving, promoting, and deleting an AEM Translation project can be automated.

Go to the translation project settings to configure these settings, as shown:

AEM translation porject settings.png


The configuration is applied to any translation project created by Smartling dialog accordingly, as shown:

AEM translation project settings.png


Configure socket timeout

The connector makes HTTP connection to Smartling with socket timeout set to 40000 milliseconds by default. If you experience errors related to SocketTimeoutException, you can adjust this value in the OSGi settings.

socket-timeout.png


Configure the number of jobs displayed in the "Add to Job" tab

By default, the "Add to Job" tab displays up to 100 jobs. This limit can be adjusted in the OSGi configuration.

max-jobs-config.png


Upgrading the Connector

Please follow these steps after upgrading to a new version of the connector.

After connector installation, cache for these UI files should be invalidated:

  • /libs/cq/gui/components/authoring/editors/clientlibs/sites/page (js/css)

  • /apps/smartling-connector/clientlibs/configuration (js/css)

  • /apps/smartling-connector/clientlibs/touch-ui-smartling-job-assets-view (js/css)

  • /apps/smartling-connector/clientlibs/touch-ui-smartling-job-xf-view (js/css)

  • /apps/smartling-connector/components/language-selector/clientlib (js/css)

  • /apps/smartling-connector/clientlibs/touch-ui-smartling-job (js/css)

  • /libs/cq/translation/translationrules/clientlibs/contextproperty (js/css)

Use these tools to clear UI cache:

  1. Invalidate/Rebuild UI libraries via /libs/granite/ui/content/dumplibs.rebuild.html

  2. Remove cache for the files in Dispatcher, see info linked here.

  3. Clear browser's cache

Did this answer your question?