Apply DNL and UICONTROL to interface strings
You can help train the localization engine and improve the translation quality by applying DNL (do not localize) and UICONTROL (interface control) tags to terms in the Markdown source.
Apply DNL and UICONTROL before submitting a repo to the localization team. Using these tags does not require you to know whether your product is localized. However, understanding when and where to apply these tags is not always obvious. This page helps you understand how ExL uses these tags.
Special usage circumstances
All translatable content can accommodate localization tags, including:
- Badges
- Alt-text
- Metadata
- Link text
- TOC entries
However, you cannot apply tags to certain metadata values that otherwise must adhere to explicit syntax (in their corresponding YAML files). These metadata include role, type, level, solution, and so on (the ExL search filter tags).
Title and description metadata can use DNL and UICONTROL. However, for description metadata, you must place quotation marks around the entire description when it begins with a product name treated with DNL. Title metadata typically does not require DNL because product names (and the pipe shown in Google results) are added automatically.
For a table of contents file (TOC.md
), no special guidelines exist. You can place DNL or UICONTROL in the link text of a TOC entry. For example [Configure Workfront with LDAP](administration-and-setup/add-users/configure-workfront-ldap.md)
.
You can use shortcuts to apply DNL and UICONTROL.
DNL guidelines
DNL is intended for branded product names (Adobe and third-party names) that always remain in English. It is not for interface controls and features (use UICONTROL for those).
Think of DNL when using names of applications that are advertised, purchased (have SKUs), and are installed.
DNL Syntax examples:
Adobe Campaign
Workfront
Target
Experience Platform
Do not use DNL on:
- URLs
- File and directory names
- Code
Use Code syntax for these information types.
Prepending Adobe to these names preserves English if these terms are in the DNT list.
The localization team is working on automating DNL. In the future, you will only need to verify that DNL was correctly applied.
UICONTROL
UICONTROL indicates an interface control (such as an option, field, tab, page, group of options, menu, or feature name in the UI).
Syntax examples
Apply UICONTROL only to explicit, exact references to interface elements (page names, options, fields, tabs, and so on). Most important, you should use bold with UICONTROL in navigation and procedures, where readers scan for instructions to make selections.
Note that you use bold only when user interaction action is required:
-
From the File menu, click **Print**.
-
Select **Project**, then click **Save**.
-
Select **File** > **Print**.
-
In Adobe Analytics, you can use a Freeform table in Analysis Workspace to build an interactive analysis project.
Do not include “>” or punctuation in UICONTROL. Wrap this element around the interface element name exactly as it displays in the product.
Markdown examples in steps:
1. On the Components page, select **Metrics** > **Page View**.
1. Select **Day** and drag it to the **Fallout** panel.
Markdown examples for using UICONTROL
in paragraphs (where bold is not necessary):
The Components menu includes Calculated Metrics, Segments, and Projects. These features are available if you....
In conceptual text, there’s no requirement for bold. However, you must capitalize the interface element and refer to them exactly how they display in the product.
Apply UICONTROL to features and clickable UI elements, especially in navigation and procedures.
How UICONTROL improves content
UICONTROL trains machine translation and helps human translators understand your documentation. The tag also conditionally preserves English so that documentation automatically localized on Experience League matches an interface available only in English.
You do not need UICONTROL in every situation in which you conceptually mention a feature name. For example, common terms like segment, trait, campaign, metric, or third-party cookie do not require UICONTROL when you are not explicitly referring to the interface.
Additional information about DNL and UICONTROL
What follows is additional information about these settings (if you’re interested)
-
Normally, product names are automatically left in English if the strings exist in the product’s DNT database. However, applying DNL ensures more precision in authored content.
-
A tool is being developed that automatically adds DNL and UICONTROL based on its ability to learn from previously treated content. You will hear more about this tool as it rolls out.
-
If an application or core product name is in the DNT list, you do not need to apply DNL (do not localize). Work with Amy Grace O’Brien to update the DNT.
-
You can add DNL to code blocks (inline or fenced), but it isn’t necessary. Code blocks are not localized. The DNL (and UICONTROL) syntax is stripped out of code blocks before the repo is packaged for publication.
-
You can add DNL tags to HTML tables. The DNL/UICONTROL syntax is passed through to the localization repos but stripped out before packaging for publication.
-
If you’ve used DNL too liberally (tagged words in DNL that should be UICONTROL), contact
#sccm-assistance
for a regular expression that lets you easily search and replace DNL with UICONTROL. SCCM can help you retrofit these as well, and more. Get help here because it’s preferable that you continue writing instead of retrofitting content. -
Apply DNL to Boolean terms like AND or OR, as such terms would confuse the MT engine.
-
Apply to third-party products like
Mozilla Firefox
.
HTML Example:
<span class="dnl">Target</span>
Using UICONTROL for an English UI
Whenever you refer to a feature or interface control name (for example, 1. Click Save
), applying UICONTROL (with bold) to the specific feature/option/field name benefits the reader. UICONTROL preserves English if the product is not available in the language in which the documentation was translated.
In the following example, the Analytics interface is not available in Italian. However, all the documentation is translated:
In this scenario, the customer cannot follow the Italian interface instructions because UICONTROL was not applied to interface elements in Markdown.
Here’s the UICONTROL syntax, bolded in procedures:
1. Click **File** > **Print**.
That syntax serves two purposes:
-
Bolds the interface element for readability (so readers easily spot the path).
-
Instructs the machine (or human) translator to either leave the feature or interface name in English if the product has not been localized in the customer’s language. Or, translate the word if the product is translated.
-
You can add UICONTROL to code blocks (inline or fenced), but it isn’t necessary. Code blocks are not localized. The UICONTROL (and DNL) syntax is stripped out of code blocks before the repo is packaged for publication.
-
You can add UICONTROL tags to HTML tables. The UICONTROL/DNL syntax is passed through to the localization repos but stripped out before packaging for publication.
-
Your references to the interface element names and features must be exact matches.
-
At a minimum, use UICONTROL in procedures where you document how to use the interface.
-
Apply bold to the UICONTROL in procedures when telling readers to “click” a specific option. This applies to a tab or to complete a certain field.
-
Leave out extra characters like punctuation or angle brackets (as part of navigation).
-
Do not apply UICONTROL to long sentences unless the UI element name is a long phrase or sentence. In that case, you can discuss the interface name with Engineering and change it to something manageable.
Usage examples:
Correct:
1. Select **Open Editor**.
1. Select **File** > **Print** > **Paper Size**.
Incorrect:
1. Select the **Open Editor button.**
1. Select **File > Print > Paper Size.**
More syntax examples are shown below. There are technical exceptions described in When not to use DNL or UICONTROL.
Examples of UICONTROL syntax in procedures UICONTROL-examples
The following example shows isolated steps and multiple steps. It shows various syntax situations for applying UICONTROL. They include when to use bold, how to use UICONTROL when referring to tabs, fields, navigation, and clickable options.
[Editor’s note: If you’re new to technical writing, the following example also shows various ways to correctly write a typical command step or series of steps. It shows when to use on versus in, and how to refer to a product, page, or tab. Use sign-in instead of log-in, and learn how to document a menu, fields, and options.]
1. Sign in to Experience Cloud, then click **System Status**.
1. In Admin Console, on the Users page, click **Export CSV**.
1. Click the **Setup** tab, then complete the Email field.
1. On the Setup tab, click **Run**.
1. Sign in to Experience Cloud, then click **Analytics**.
1. In Workspace, click **Components** > **Segments**.
1. On the Segments page, click **Add**.
1. On the New Segment page, complete the following fields:
* **Title**: Here you'd describe the Title field and apply !UICONTROL whenever you refer to it.
* **Tags**: Here you'd describe the Tags field.
1. Enable **Publish this segment to Experience Cloud**.
This field publishes this segment to the Audience Library in Experience Cloud, where you can use it in marketing activities in Target and other Experience Cloud applications.
1. Click **Save**.
1. On Report Suite Manager, click **Edit Settings** > **General** > **General Account Settings**.
1. Complete the following fields:
* **Site title**: Here you'd describe the Site title field and apply !UICONTROL whenever you refer to it.
* **Base URL**: Here you'd describe Base URL.
1. Click **Save**.
DNL and UICONTROL in metadata
You can add these tags to description and title metadata. If you begin a metadata field with a tag, you must encase the full description in quotation marks, or validation fails.
For example:
description: "Components in Analtyics enable you to create segments...."
- Acronyms: Do not apply UICONTROL (or DNL). (These are automatically left in English.)
- Capitalization: Capitalize words in UICONTROL as you see them in the interface (interface elements are proper nouns and should be capitalized).
- Generic icons: Use the name of the icon if it’s available (in hover text or tooltip). If no name is available, you might not know which term, if any, is specified in the translation database. The term remains in English in a machine translation if no name is found. If your only option is pencil icon or edit icon, do not tag it. (Insert the icon as an inline image, then create a ticket for the developer to name the icon.)
Keep in mind that machine-translated content doesn’t need to be perfect.
Which Markdown content types can be tagged?
You can apply !UICONTROL
and !DNL
tags in nearly any component, including:
- Paragraphs and lists
- Headings
- Links
- Tables (both Markdown and HTML)
- Metadata (in title and description)
When not to use DNL or UICONTROL no-tags
Do not add !UICONTROL
and !DNL
tags to the following components:
- Code blocks - Everything in a code block remains in English, so there’s no reason to add
[!UICONTROL]
or[!DNL]
unless you want that syntax to appear in the code block. - HTML tables -
[!UICONTROL]
and[!DNL]
in HTML tables don’t work properly. Instead, use the<span class="uicontrol">term</span>
format. - Acronyms
Available UI languages
If you don’t know what languages are available for your product UI, you can ask the IEM. Here are the current solutions and available languages:
- Analytics - FR, DE, JP, ES, BR, zh-Hans (Simplified Chinese), zh-Hant (T Chinese), KR
- Target - FR, DE, JP, IT, ES, BR, zh-Hans, zh-Hant, KR
- AEM - FR, DE, JP, IT, ES, BR, zh-Hans, zh-Hant, KR
- Platform - FR, DE, JP
- Campaign Classic - FR, DE, JP
- Campaign Standard - FR, DE
- Core Services - FR, DE, JP, IT, ES, BR, zh-Hans, zh-Hant, KR
- Audience Manager - FR, DE, JP, IT, ES, BR, zh-Hans, zh-Hant, KR
Localization tags in headings and links
Headings:
The syntax works as expected.
Links:
For links, the syntax does not work as expected. It’s necessary to remove the tag brackets within the link text to prevent the brackets from appearing in the link. (Note that this behavior might change at some point.)
Heading test case heading-test-case
Link test cases:
- See
[Adobe](https://www.adobe.com)
- See the Adobe website
Source:
Update the Do not Translate (DNT) file
We have a DNT file that you can update with words you want to leave in English by default. Formal, long solution names like Adobe Analytics, Adobe Campaign, and Adobe Target are on the list.
Follow the instructions on updating the DNT list to get started.
When to use DONOTLOCALIZE
This element is not often used. Sometimes, we need to flag certain sections of content within an article to be English only. For sections of text that should not be localized, use the [!DONOTLOCALIZE]
extension and use block quotes ( > ) to mark the entire English-only section. The content after the DONOTLOCALIZE block is localized when the file is submitted.
code
) are not localized by default. There is no need to apply the DONOTLOCALIZE tag to either fenced or inline code blocks.Example:
Keyboard shortcuts
If you need to tag lots of content for localization, consider creating keyboard shortcuts and using advanced find/change techniques.
Localization resources and glossaries
If you really want to dive into research to determine which terms are used in the database, the following localization resources are available:
- Adobe Localization Resources home: https://adobe.sharepoint.com/sites/LocRes
- General terminology page: https://adobe.sharepoint.com/sites/LocRes/SitePages/Terminology-Management.aspx
- Place to see terminology: https://adobe.sharepoint.com/sites/LocRes/SitePages/Offline-TD-Export.aspx
NOTE: At the bottom of this page are the actual offline exports. Each folder contains the Term Database, and the DNT list. - Place for change requests: https://adobe.sharepoint.com/sites/LocRes/SitePages/TermChangeRequest.aspx
Images and localization
For images that should not be localized, create a separate do-not-localize
folder in the assets folder. Typically, images without text or images containing only sample content would be placed there. This removes any “noise” from the assets folder and reduces the number of questions.
We also recommend that you remove any assets that you’re not referencing and don’t plan to reference. Maintaining clean asset folders helps the Localization team avoid unnecessary work.
Product terminology
Use this table to help determine whether a term is localized or remains in English.
Core products & features by application
The following features and products were previously translated and now are to be left in English.
- No UICONTROL required
- Most are automatic in English, DNL tag not required
- Some might need DNL tag where confusing (on functional, generic names). Use capitalization when referring to features or products.
- Can leverage Acrolinx (coming soon)