QT Linguist


*Extension .ts
Smartling Identifier qt
Example File  
Resources QT Linguist Docs

Smartling natively supports the plural forms of QT Linguist files.

Managing Untranslated Strings

If using File API to download Custom QT Linguist files from Smartling, the parameter includeOriginalStrings=false can be set to return an empty string if no translation is available. By default, Smartling returns the original source string if no translation is available, meaning the parameter is set to includeOriginalStrings=true

XML Characters

The following XML character are always escaped. You can control this by using the entity_escaping directive.

Character (character name) Escape sequence

< (less-than)


> (greater-than)


& (ampersand)


' (apostrophe or single quote)


" (double-quote)



File directives are supported, both inline and via our APIDirectives are specified in comments within the files, in the following format:

Inline File Format

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

API Parameter

smartling.[directive_name] = [value] 

Here are examples of supported directives for QT Linguist:

Directive name Values Description Example


  • auto (default) 
  • true
  • yes 
  • false
  • no


Controls whether base characters ( > < & " ) are "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.

For example, your translation might look like this:
This is an <hr> & " example string4

By default, using the "auto" setting, we will assume this is HTML from the <hr> tag.

When the translated file is downloaded, the translated string will be escaped as:
This is an <hr> &amp; &quot; example string4

Using <!-- smartling.entity_escaping = false --> will allow is above string to appear unescaped.


  • html4 (default)
  • html5


By default, all html4 entities are unescaped, except the basic set: &lt; &gt; &amp; &quot;.

When this directive is set to html5, all html5 entities will be unescaped as well.

<!-- smartling.entity_escaping_type = html5 -->


  • NONE
  • C
  • IOS
  • JAVA
  • YAML
  • QT
  • RESX

Used to specify a standard placeholder format.

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

Specifies iOS-style placeholders for the file.


  • Custom (Java Regex)
  • NONE - disables any current custom placeholders.

Specifies a custom placeholder format. Any text in your file matching the regular expression you provide will be captured as a placeholder.

See Placeholders in Resource Files for more on placeholders.

<!-- smartling.placeholder_format_custom=\{([^}]+)\} -->

Any characters surrounded by curly brackets, e.g., {first name}, will be treated as a placeholder.


  • on (default)
  • yes
  • true
  • off
  • no
  • false
  • leading
  • trailing


A whitespace is any character or series of characters that represent horizontal or vertical space in typography. When rendered, a whitespace character is not a visible mark, but does occupy an area or space on a page.

Although whitespaces are necessary within a string (typically to separate words), unnecessary whitespaces can be found at the start of a string (leading) and at the end of a string (trailing).

With this directive, you can manage whitespace trimming.

By default, the leading and trailing whitespaces are trimmed.

You can choose to disable trimming or specify trimming for leading or trailing whitespaces.

The directive can be used inline or as the API request parameter.


<!-- smartling.whitespace_trim=on-->

Smartling will trim leading and trailing whitespaces (default)


<!-- smartling.whitespace_trim=off -->

Smartling will not trim leading or trailing whitespaces


<!-- smartling.whitespace_trim=leading -->

Smartling will trim only leading whitespaces


<!-- smartling.whitespace_trim=trailing -->

Smartling will trim only trailing whitespaces


Was this article helpful?