Metadata Deploy of Prompt Translation doesn't update the Prompt
Metadata , User Interface , Lightning
Last updated 17 days ago ·Reference W-8894012 ·Reported By 1 users
In Review
Summary
Cannot update PromptVersionLocalization from translation string of 1000 characters or more to 1000 characters or less via Metadata API.
If a Prompt Version body translation has 1000+ characters. And, if the updated translation text(including HTML TAGS) are less than 1000 characters are deployed, the changes will not reflect.
Repro
- Create In-App Guidance (Setup-> User Engagement-> In-App Guidance-> Click [Add])
- Select [Single Prompt] - Add Header, Title and BODY.
- Enable Translation Workbench and Add [French] (Setup-> Translation Workbench-> Translation Language Settings)
- Translate Prompt Version(Setup-> Translation Workbench-> Translate)
Language:[French] (Any Language)
Setup Component: [Prompt Version]
Aspect: [Body]
<p>This is test Body</p> Translation -- <p>This is translated text in Body</p>
Retrieve using the following retrieve.xml in Workbench
-----retrieve.xml------
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>Prompt</name>
</types>
<types>
<members>*</members>
<name>Translations</name>
</types>
<version>49.0</version>
</Package>
-----
- Retrived Translated File:
-----
<?xml version="1.0" encoding="UTF-8"?>
<Translations xmlns="http://soap.sforce.com/2006/04/metadata">
<prompts>
<name>testAccount1</name>
<promptVersions>
<body>This is translated text in body</body>
<name>testAccount1</name>
</promptVersions>
</prompts>
</Translations>
-----
- Update the retrieved file to (Point: 1000 characters or more in the <body>).
-----
<?xml version="1.0" encoding="UTF-8"?>
<Translations xmlns="http://soap.sforce.com/2006/04/metadata">
<prompts>
<name>testAccount1</name>
<promptVersions>
<body>addmorethan1000charactersinthisbody.....9991000</body>
<name>testAccount1</name>
</promptVersions>
</prompts>
</Translations>
-----
- Deploy it via Metadata API
- Update "en_fr.translation" (Point: set "Update the translated body to less than 1000 characters").
-----
<?xml version="1.0" encoding="UTF-8"?>
<Translations xmlns="http://soap.sforce.com/2006/04/metadata">
<prompts>
<name>testAccount1</name>
<promptVersions>
<body>Updated the translated body to less than 1000 characters</body>
<name>testAccount1</name>
</promptVersions>
</prompts>
</Translations>
-----
- Deploy it via Metadata API
- Retrieve using the following retrieve.xml in Workbench (the same as step5)
- You will get "addmorethan1000charactersinthisbody.....9991000" instead of "Update the translated body to less than 1000 characters" you set in previous step.
Workaround
- Update the Translation text directly in the target org using Translation Workbench UI
- First Clear up the translation field in the Target org and then deploy the updated data using Metadata API.
OR
- Use TranslationWorkbench UI
OR
- Update Value using SOQL (PromptVersionLocalization)
Reported By (1)
Is it Fixed?
Any unreleased services, features, statuses, or dates referenced in this or other public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make their purchase decisions based upon features that are currently available.
