Extension | .txt |
Smartling Identifier | plainText |
The plain text document format is a simple way to quickly translate text.
Default Parsing
Smartling considers each line of text in the document a single translation string. Each string is considered unique by file - which means if two files have the same line of text - they will be captured as two separate strings.
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) |
" |
Directives
File directives are supported via our API (inline is not supported). Directives are specified in the following format:
API Parameter
smartling.[directive_name] = [value]
Here are examples of supported directives for plain text files:
Escape Characters the Same as Source
Directive | entity_escaping_strategy |
Values | propagate | none |
Smartling Translate Supported | Yes |
Description |
Used to retain entity escaping for all non-base entities. For example, normally we turn © into © but if we use this new directive the translation will automatically update to use escaping from the source. For each entity character, we'll check to see if it was escaped in the source and try to match (propagate) it in the target. The default is none which is the current behavior, which recognizes HTML4 entities only - if HTML5 entities are required as well, you must use the entity_escaping_type=propagate directive.
This does not affect source content at all - so using it will not result in new strings. Numerical entities are not considered at all with this directive, and are treated normally. |
Examples |
smartling.entity_escaping_strategy = propagate If the same character is both escaped and unescaped in the same string, propagate will return the characters in the translation escaped in the same order as they were in the source. However, if there are a different number of characters in the translation where the translation process removed or added some and the escaping is inconsistent among them, propagate will escape all entities for that character. This does not affect source content at all - so using it will not result in new strings. propagate will only affect non-base entities - all named entities except & , ", <, >. Base entities continue to be controlled by HTML detection and the entity_escaping directive. |
Unescape HTML5
Directive |
entity_escaping_type |
Values |
html4 (default)|html5 (case-insensitive) |
Smartling Translate Supported | Yes |
Description |
By default, all html4 entities are unescaped, except the basic set: < > & ". When this directive is set to html5, all html5 entities will be unescaped as well. If you choose to set this directive to html5, you must also use the entity_escaping_strategy=propagate directive |
Examples |
smartling.entity_escaping_type = html |
Control Line Breaks
Directive |
text_break_method |
Values |
|
Smartling Translate Supported | Yes |
Description |
This directive control line breaks in HTML files:
|
Examples |
smartling.text_break_method=DO_NOT_BREAK |
Standard Placeholder Format
Directive |
placeholder_format |
Values | NONE; C; IOS; PYTHON; JAVA; YAML; QT, RESX |
Smartling Translate Supported | Yes |
Description | Used to specify a standard placeholder format. |
Examples | smartling.placeholder_format = IOS
Specifies iOS-style placeholders for the file. |
Custom Placeholder Format
Directive | placeholder_format_custom |
Values | 1) Custom Java regular expression. 2) NONE - disables any current custom placeholders |
Smartling Translate Supported | Yes |
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 = REGEX smartling.placeholder_format_custom=\{([^}]+)\} Any characters surrounded by curly brackets, e.g., {first name}, will be treated as a placeholder. |
See Placeholders in Resource Files for more on placeholders.
Pseudo Translation
Directives | 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. |
Trim Whitespace
Directive |
whitespace_trim |
Values |
on|yes|true or off|no|false or leading|trailing The default value is on. |
Smartling Translate Supported | Yes |
Description |
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 trim whitespaces, as it enables or disables whitespace trim management for the ingested strings. Whitespace is optionally trimmed from content then re-inserted on download for convenience so that translators do not have to manage the extra spaces. However, content owners may want to retain surrounding whitespace so that translators can 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 only be used as the API request parameter. |
Examples |
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 |