Outdated and Untranslated Translation Files

Use the Outdated and untranslated file to translate labels or data that need translation. The file includes labels or data changed since the last translation and labels that haven't been translated. One Outdated and untranslated file is generated for each language. When multiple files are generated, they're exported to a .zip file containing a file for each translation language.

Required Editions

Metadata translation available in: Salesforce Classic and Lightning Experience
Data translation available in: Lightning Experience
Available in: Professional, Enterprise, Performance, Unlimited, and Developer Editions
Data translation applies to: B2B Commerce
Note
Note Salesforce recommends the XML Localization Interchange File Format (.xlf) for translation files. See Considerations for Working with Translation Files for tips on editing translation files and how to translate rich text field content.

When working with the Outdated and untranslated translation file, each entry needs a new translated value. Special values are used to delete an existing translation and revert the label to its original value.

XML Localization Interchange File Format (.xlf) Outdated and Untranslated Translation Files

Outdated and untranslated .xlf translation file content is organized into translation units. Translation units for translated labels contain a target tag with the translated value. Untranslated labels have a source tag, but no target tag.

Tell your translators:

  • For untranslated labels, add a target tag containing the translated value after each source tag.
  • If the label’s translation is out of date, replace the text in the target tag. Outdated labels have a value of outOfDate="true" within the trans-unit tag. Don’t update the outOfDate value.
  • To delete a translation, replace the value in the label's target tag with <>. When the Bilingual file is imported, the label reverts to its original value.
  • A translated value for the data in the record’s Name field is required to translate data in other fields for that record. For example, you must provide a German translation for the name of a Product before you can translate its description into German.
  • Deleting the data translated value for a record’s Name field can delete all of that record’s other translated values for that language. See Considerations for Working with Translation Files for more information.
  • When translating text in a rich text area field, don’t delete HTML tags such as <p></p> and <b></b>. If you remove those tags, the translated text can be truncated.
Tag Description Edit Options
trans-unit Translation unit. Contains unique identifiers for the label, including the label’s id, maximum width, and out-of-date indicator. Do not edit.
source Label or text in the org’s default language. Do not edit.
target The current translation that is visible to end users selecting the target language as their personal language. Enter the translated value. Add a target tag if needed.
note Description of the metadata label, if defined, in the source language. Do not edit. Translatable field descriptions each have a separate trans-unit tag.

For example, an existing Nickname field on the Account object has a Spanish translated value of “Apodo.” You change the primary label on the Nickname field from “Nickname” to “Preferred Name.” That label is now outdated. You also build a new custom Business Hours field on the Account object. The exported Outdated and untranslated .xlf translation file contains the following trans-unit tags.

<trans-unit id="CustomField.Account.Nickname.FieldLabel" maxwidth="40" size-unit="char" outOfDate="true">
    <source>Preferred Name</source>
    <target>Apodo</target>
    <note>The name preferred by this person.</note>
</trans-unit>
<trans-unit id="CustomField.Account.Business_Hours.FieldLabel" maxwidth="40" size-unit="char" outOfDate="false">
    <source>Business Hours</source>
</trans-unit>

To update the outdated label, update the text in the corresponding target tag. To translate the new field’s label, add a target tag containing the translated value to the corresponding trans-unit tag after the source tag. Don’t change the outOfDate tag values. When you import the translated file, labels with updated translations are marked as up to date.

<trans-unit id="CustomField.Account.Nickname.FieldLabel" maxwidth="40" size-unit="char" outOfDate="true">
    <source>Preferred Name</source>
    <target>Nombre preferido</target>
    <note>The name preferred by this person.</note>
</trans-unit>
<trans-unit id="CustomField.Account.Business_Hours.FieldLabel" maxwidth="40" size-unit="char" outOfDate="false">
    <source>Business Hours</source>
    <target>Horario de oficina</target>
</trans-unit>

To delete the Preferred Name label’s translation, update the translation value in the target tag with &lt;&gt;. When the file is imported, the label reverts to its original value.

<trans-unit id="CustomField.Account.Nickname.FieldLabel" maxwidth="40" size-unit="char" outOfDate="true">
    <source>Preferred Name</source>
    <target>&lt;&gt;</target>
    <note>The name preferred by this person.</note>
</trans-unit>

Salesforce Translation Format (.stf) Outdated and Untranslated Translation Files

Note
Note Salesforce doesn’t recommend the STF format for translation files. If you choose to use this format, we don’t recommend editing the file with Microsoft Excel. For more information and restrictions, see Considerations for Working with Translation Files.

Tell your translators to replace the values in the LABEL column with updated translated values.

  • To delete a translation, replace the desired value in the TRANSLATION column with a left and right angle bracket pair (<>). When the file is imported, the label reverts to its original value.
  • A translated value for the data in the record’s Name field is required to translate data in other fields for that record. For example, you must provide a German translation for the name of a Product before you can translate its description into German.
  • Deleting the data translated value for a record’s Name field can delete all of that record’s other translated values for that language. See Considerations for Working with Translation Files for more information.
Column Description Edit Options
KEY Unique identifier for the label. Do not edit.
LABEL Label or text in the org’s default language. Replace untranslated values with translated values.

For example, an existing custom Nickname field on the Account object has a Spanish translated value of “Apodo.” You change the primary label on the Nickname field from “Nickname” to “Preferred Name.” That label is now outdated. You also build a new custom Business Hours field on the Account object. The exported Outdated and untranslated .stf translation file contains these rows.

# KEY LABEL
CustomField.Account.Nickname.FieldLabel Preferred Name
CustomField.Account.Business_Hours.FieldLabel Business Hours

To translate the new field’s label and update the existing label, replace the LABEL text in each row.

# KEY LABEL
CustomField.Account.Nickname.FieldLabel Nombre preferido
CustomField.Account.Business_Hours.FieldLabel Horario de oficina

To delete the Nickname field’s outdated translation of “Apodo,” replace the translation value in the LABEL column with <>. When the file is imported, the label reverts to its primary label value of “Preferred Name.”

# KEY LABEL
CustomField.Account.Nickname.FieldLabel <>