Setup & Configuration
Is there a configuration on the AEM customer side around the billions of User Groups that get created per AEM Translation Project?
We haven't seen such configuration. So, it is assumed creating groups is hard-coded or hidden.
Can I configure which users are added to the groups, and who has control over the AEM Translation Projects that are created?
You can configure that in AEM UI /security/groups.html or can open Project Summary tile and manage Users
Can the user groups be automatically deleted when the AEM Translation Project is completed (launches promoted & deleted)?
Groups can be automatically deleted by deleting a project. There are no other configuration found.
Is there a standard workflow, or a workflow the AEM customer can configure, to delete AEM Translation Projects that have been completed?
There is a built-in AEM feature to purge projects. It is a part of Maintenance. You must add a purge project task here, for example:
/libs/granite/operations/content/maintenanceWindow.html/conf/global/settings/granite/operations/maintenance/granite_weekly
- Click on Add and select Purge Project type
- Don't forget to configure them, click the checkmark
- You will be redirected to configuration console
Why is the Test Connection for the Smartling Translator Provider failing?
Test Connection can fail for a number of reasons:
-
Smartling - Context Preview Settings not configured: Test connection will fail if context is not configured correctly. Ask the client to check that the Server URL, User and password configured are all correct under: <aem-instance>/system/console/configMgr
- This is the most common cause for Test Connection failure and does not prevent content from being submitted for translation.
- Client firewall blocking traffic: Ensure api.smartling.com and cms.smartling.com (Port 443) are allowed by the client's network configuration.
- Incorrect API credentials: Test the client credentials using Smartling's API Authentication endpoint. Example cURL: curl -X POST https://api.smartling.com/auth-api/v2/authenticate -H 'content-type: application/json' -d '{"userIdentifier": "{USER_IDENTIFIER}", "userSecret": "{TOKEN_SECRET}"}'
Content
How do I exclude certain strings from a file?
When a single page is submitted, the Smartling connector may upload more than one file. This is a result of tags/dictionaries/assets being included. If you wish to exclude these types of strings from files such as these:
070b0946-9ca3-447b-8f2b-405553141cd0:ASSETMETADATA
f74a06e0-e211-4fc8-ab89-a757c43835e0:TAGMETADATA
ac2ddc50-2fa4-4cd1-b4c5-acc10ea02c4c:/apps/i18n/en.json
The type of translatable content and scope should be configured for the AEM translation framework.
Go to Tools > Cloud Configuration - Translation Configuration and adjust your settings.
For more details, consult Adobe AEM documentation.
Can custom placeholders be implemented through the connector?
Yes, this can be done in the Web Console Configuration (<aem-instance>/system/console/configMgr)
Search for Smartling - Translatable Content Configuration (Touch)
And add your regex:
Why do I see the same strings in multiple different files? / Why is there a large queue of strings awaiting authorization that are not in a job?
AEM submits one file per language for translation. This results in the creation of one file per locale in Smartling, which is why you will see multiple files with the same source text. For example, if you submit one AEM page for translation into four languages, you will see four different files in the Smartling job. Each file name contains a reference to the target locale code. A file with “fr” in the filename is for translating into French, a file with “es” in the filename is for translating into Spanish, etc. You can ignore all other strings in the awaiting authorization queue that are not in a job. There is no way to remove them, as they are the result of the unique nature of AEM and Smartling TMS.
Example:
Does Smartling support content in Adobe AEM Guides?
Yes, Smartling supports translating content in Adobe AEM Guides as part of the localization framework.
Jobs & Requesting Translation
I submitted content for translation, but the Smartling job shows "No Content". What does this mean?
In general, there are three possible reasons why your job has "No Content". Please see Troubleshooting "No Content" in Jobs.
For AEM connector projects, the most common reason for "No Content" is that the content is already in another Smartling job. The status "No Content" essentially means "no new content detected for translation." You can ignore these empty jobs, as they will be automatically canceled after 7 days. You can also cancel and delete them manually if you prefer.
Why do I receive this error "Translation Provider Doesn't Support Translation for the Selected Language Pair" when I start a job?
The AEM Touch Connector is delivered with predefined language mappings between Smartling and AEM language codes. This error means that the AEM site language code does not match a Smartling language code. For example, an AEM site uses the code "fr" for French, but Smartling project uses "fr-FR" for French (France). To correct the problem, update the mapping and restart your job.
AEM site language code:
Incorrect mapping:
Smartling language code:
Correct mapping:
You can adjust language mappings in /apps/granite/translation/connector/config/smartling/languageMapping
. Generally, you should only need to edit this file when you add a new language in AEM.
Why does the popup not work when I try to submit a page?
When creating a Smartling configuration, make sure that you set the configuration for the page that is the parent to your sites (original and localized).
Can I localize the page URL's?
Yes, as outlined here. You will need to add an alias for the pages and ensure that sling:alias
is added to the translation rules. You may also need to update some AEM settings as outlined in the answer to the question "Why is the title not translated?".
Why is submitting an AEM page failing because the URL is encoded?
This is a known issue in AEM, special characters in the URL are "double escaped" and cause a 404 error. Apache should be configured to allow encoded slashes in URLs: AllowEncodedSlashes On
For example:
<VirtualHost *:80>
ServerName www.geometrixx-outdoors.com
AllowEncodedSlashes On
<Directory />
<IfModule disp_apache2.c>
SetHandler dispatcher-handler
</IfModule>
Options FollowSymLinks
AllowOverride None
</Directory>
</VirtualHost>
I have specific sub-pages I want to submit for translation. Can I do a 'selected' submission with these pages or do I have to submit them all separately?
If you need specific sub-pages submitted, you will need to complete page submissions separately. There is no way to do a bulk submission for specific subpages.
I named my Experience Fragment a specific job name, but in Smartling it shows up as a page. How can I fix it?
Two ways:
- Submit the translation request via the 'Translate' button - not via the reference panel. The job should show up with the correct name then.
- Change the job name in Smartling as you would any other job
How does the AEM Forms translation process differ from the Sites / Fragments process?
In multiple ways, the main ones being:
- You request a translation via 'Add to Dictionary' option, not the Smartling connector button.
- You need to create separate locales under a different CRX DE location i.e. /libs/granite/ui/content/userproperties/preferences/form/items/language/items
- Translated content is returned to the same asset as a dictionary, not as a separate asset
How to include a Content Fragment for translation when submitting from a Sites page?
In CRX/DE, find the content fragment under the page tree and locate the sling:resourceType:
Go to the Translation Rules UI and click on /content, then under References, add the CF path, like so:
assetNode with resource type weretail/components/content/contentfragment referenced as fragmentPath
Translations & Translation Delivery
How can I edit published translations and have the updated translations delivered back to AEM?
You can make edits to translations in Smartling, then use the Force resubmission option (Required if page is unchanged) to create a new AEM Translation Project to pull back updated translations.
Please note this will generate an empty job in Smartling showing “No Content”. If you have configured callbacks, AEM will automatically download the updated translations. Otherwise, AEM will download the updated translations in accordance with the Scheduler cron.
If changes were made to non-translatable content on a page (e.g., page properties) and the page is re-requested for translation, will the changes be reflected in the target language copy?
Yes. If a page is re-requested for translation after changes are made to non-translatable content, it will result in an empty job in Smartling showing “No Content” (since there are no changes to the translatable content). AEM will create a new launch from the source page which will include all changes. The connector will deliver existing translations and the launch will be promoted to the existing language version. The updates made to non-translatable content will be reflected in AEM.
How do I apply tags to my translated content?
Tags are not applied on a target page by default. If you want to copy tags from the source page (original) to the target page (translated), you should add/change excluded property for `cq:tags`. For example, the appropriate value is:
cq:(?!(designPath|template|translationStatus|lastTranslationUpdate|tags)$).*
Why is the title not translated?
Although you may have submitted a page and translated all content, including the title of the page, ("jcr:title" property), you may notice that the title didn't translate properly. This is because the Smartling Touch Connector is responsible for submitting original content to Smartling, and it pulls translations back. However, applying translations to page properties is handled by AEM.
For example, you wish to translate three properties: title, description, and alias.
- Go to CRX DE and browse to the
/libs/msm/launches/rolloutconfigs/launch/contentUpdate
node.
- Replace:
jcr:.*
with:
jcr:(?!(title|description)$).*
- Replace:
sling:(?!(resourceType|resourceSuperType)$).*
with:sling:(?!(resourceType|resourceSuperType|alias)$).*
- Save this configuration and resubmit the page. For more information, consult the AEM Touch Connector documentation.
If AEM fails to approve and promote a translated page automatically, how can I manually approve and promote the launch?
- Navigate to the Translation Project in AEM.
- Under Translation Job, click the 3 dots:
- This will show the pages/assets in the Job.
- Select the pages/assets and click Accept Translation:
- A modal window will pop up, click Accept:
- This will accept the translations, but the launch containing translations still needs to be promoted to the target page.
- Click the page/asset again and click Preview in Sites:
- Once the page opens, select Promote Launch from the middle menu:
- Select Promote full launch, you can also select Delete launch after promotion to delete the launch.
- Finally, on the Review step, click Promote.