HTML
Extension | .html |
Smartling Identifier | html |
Example File | Example HTML file with common directives |
Resources | HTML5 Standards |
By default, Smartling will create a single String for each block element in the HTML document. Additionally, the value of alt and title attributes are captured as a single string. Smartling does not capture the values of any other attributes.
HTML-like template files, such as those used by Angular, Ember, Backbone, EJS, Handlebars, etc., are not officially supported by Smartling and should not be uploaded as HTML files. See Localizing Template Applications for more information.
Variants
HTML files uploaded via our API supports the data-sl-variant attribute, similar to our Global Delivery Network (GDN). See an example here.
Exclude Content from Translation
Content inline in an HTML file can be marked as not translatable through attributes on tags:
<a href="" class="notranslate">
<a href="" translate="no"">
<a href="" translate="no"">
<a href="" data-sl-notranslate="no">
<a href="" class="notranslate">
<a href="" translate="no"">
<a href="" translate="no"">
<a href="" data-sl-notranslate="no">
Standard Placeholder Format
See Placeholders in Resource Files for more on placeholders.
Directive
File directives are supported, both inline and via our API. Directives 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 some examples of [directive_name], along with example values or paths.
placeholder_format
Values | NONE; C; IOS; PYTHON; JAVA; YAML; QT; RESX; standalone_html |
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 Java 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 curly brackets, e.g., {first name}, will be treated as a placeholder. |
See Placeholders in Resource Files for more on placeholders.
force_inline_for_tags
Values | Comma-separated html tag list |
Description | This parameter forces the html parser to treat the listed tags as inline. The difference between block and inline tags is that block tags are used to split html into strings, whereas inline tags are included in strings. |
Examples | <!-- smartling.force_inline_for_tags = external_link,reference -->
Any <external_link> or <reference> tags will be parsed as inline tags. Smartling will not create separate strings for content in these tags. |
force_block_for_tags
Values | Comma-separated html tag list |
Description |
This parameter forces the html parser to treat the listed tags as string separators. The difference between block and inline tags is that block tags are used to split html into strings, whereas inline tags are included in strings. Note: If any tag is pointed in both smartling.force_block_for_tags and smartling.force_inline_for_tags, the force_block_for_tags directive prevails. |
Examples | <!-- smartling.force_block_for_tags=br -->
Enables string separation by <br> tags |
include_translatable_attributes
Values | Comma-separated list of HTML attributes |
Description |
By default, HTML tag attributes are captured as part of the tag itself and therefore are not translatable. This directive instructs Smartling to capture the text of a list of HTML attributes for translation. For example, this can be used to capture the title attribute of a button. |
Examples | <!-- smartling.include_translatable_attributes = title, alt, class, description -->
Will capture text in title, description, class, and alt attributes of any element as a translatable string |
exclude_translatable_attributes
Values | Comma-separated list of HTML attributes |
Description |
Instructs Smartling to exclude the text of a list of HTML attributes for translation. For example, this can be used to exclude the title attribute of a button. This directive takes precedence over the include_translatable_attributes directive. |
Examples |
<!-- smartling.exclude_translatable_attributes = title, alt --> Will exclude text in title and alt attributes of any element as a translatable string |
collapse_html_whitespace
Values | on|yes|true|off|no|false (case-insensitive) |
Description |
Disables or enables the HTML whitespace collapsing. By default, this is enabled, so the HTML parser turns all new lines into spaces and collapses a sequence of spaces into one space. |
Examples |
<!-- smartling.collapse_html_whitespace = off --> Disables whitespace collapsing |
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. |
whitespace_trim
Values |
on|yes|true or off|no|false or leading|trailing The default value is on |
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 manipulate it during translation. 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. |
Examples |
Smartling will trim leading and trailing whitespaces (default)
Smartling will not trim leading or trailing whitespaces
Smartling will trim only leading whitespaces
Smartling will trim only trailing whitespaces |
entity_escaping_type
Exact delivery depends on file type.
Values |
html4 (default)|html5 (case-insensitive) |
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. |
Examples |
|
entity_escaping_strategy
Values | propagate | none |
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 directive can be placed inline, in the API or in a template (consult your SA about configuring directive templates). 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 |
To use inline: |