Preparing Content for Translation

XLIFF

 

Extension .xml, .xlf, .xliff
Smartling Identifier xliff
Example File (see example below)
Resources Background on XLIFF
OASIS specification

 

String Instructions

Smartling automatically captures XLIFF notes and makes them translator instructions.

XLIFF Note -> Smartling Instruction

<trans-unit>
   <source>string1 from an xliff file</source>
   <note>instruction for this string</note>
</trans-unit>

xliff.xml file example:

<xliff version="1.0">
   <file original="global" source-language="en" datatype="plaintext">
      <header/>
      <body>
         <!-- Actions -->
         <trans-unit>
            <source>New</source>
         </trans-unit>
         <trans-unit>
            <source>Edit</source>
         </trans-unit>
         <trans-unit>
            <source>Delete</source>
         </trans-unit>
         <!-- List -->
         <trans-unit>
            <source>No result</source>
         </trans-unit>
         <!-- Footer -->
         <trans-unit>
            <source>© 2012 All Rights Reserved.</source>
         </trans-unit>
      </body>
   </file>
</xliff>

Smartling supports .xlf, .xliff, and .xml files that use the XML Localization Interchange File Format (XLIFF).

Excluding Strings

XLIFF does not support using the sltrans directive for marking excluded content. However, for files uploaded from October 2015 onwards, you can use XLIFF’s translate attribute. To exclude a string from translation, set translate=no. See the XLIFF Documentation for details on the translate attribute.

Standard Placeholder Format

See Placeholders in Resource Files for more on placeholders.

Directives

Format

<!-- smartling.[directive_name] = [value] -->

 

entity_escaping

Exact delivery depends on file type.

Values auto (default)
true (or yes)
false (or no)
Description Can control whether or not characters will be "escaped" into entities when delivering translations. This can be set universally for the whole file via API, or by setting the directive at the top/start of the file. The directive can also be placed inline to control the behavior of specific strings.
Examples  

To use inline:
<!-- smartling.entity_escaping = false -->

String:
<!-- smartling.entity_escaping = auto -->

For example, your translation might look like this:
Smartling HTML escaping < > & " example string4

By default, using the "auto" setting, we would assume this is HTML from the <hr> tag and it would be converted to:
Smartling HTML escaping &lt; &gt; &amp; &quot; example string4

Using smartling.entity_escaping = false would allow Smartling HTML escaping < > & " example string4 to appear as it should.

 

placeholder_format

Values  NONE; C; IOS; PYTHON; JAVA; YAML; QT, RESX 
Description  Used to specify a standard placeholder format. 
Examples 

<!-- smartling.placeholder_format = IOS -->

Specifies iOS-style placeholders for the file.

 

placeholder_format_custom

Values  1) Custom Perl compatible regular expression.
2) NONE - disables any current custom placeholders 
Description Specifies a custom placeholder format. Any text in your file matching the regular expression you provide will be captured as a placeholder. 
Examples 

<!-- smartling.placeholder_format_custom = \[.+?\] -->

Any characters surrounded by square brackets will be treated as a placeholder.

 

pseudo_inflation

Values  integer - Accepted values are 0 - 100 
Description  Sets the percentage by which original strings are inflated when downloading pseudo translations. If this directive is not set, pseudo translations are 30 percent longer than the original strings. 
Examples 

<!-- smartling.pseudo_inflation = 80 -->

Downloaded pseudo translations will increase the length of original strings by 80 percent.

 

 

xliff_tags_to_placeholders

Values  Comma-separated list of custom XLIFF tags 
Description  Content inside the listed custom tags will be captured as a placeholder. 
Examples 

<!-- smartling.xliff_tags_to_placeholders = g, mrk -->

Content inside g and mrk tags will be captured as placeholders.

Was this article helpful?