Scalable Vector Graphics (SVG)

Extension .svg
Smartling Identifier svg
Example sample.svg
Resources Official SVG Standards


SVG is an XML-based markup language for describing two-dimensional graphics applications and images, and a set of related graphics script interfaces.

File directives for inline and API Service configuration parameters are listed below.

Default Parsing

Each <text> element is parsed as a string. 

Preparing Content for Translation

Smartling recognizes text in SVG files that use the <text> element to signify text to be translated.  Only content in the <text> element will be ingested for translation. 

Before uploading the SVG into Smartling, it's best to open the file in a Text Editor application to view exactly what content is within the <text> element.

Unsupported Functions

  • HTML Parsing
  • Key/Variants
  • Plurals
  • Instructions
  • Excluding content within the<text> element


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 SVG:

Directive name Values Description Example


  • 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.


A comma-separated list of paths to be captured as strings for translation. 

When included in this list, all plain text within the specified tag will be considered a translatable string. Optionally, you can append a “.” and a relevant attribute name to the path to translate tag attributes with the file. You can end the path with a trailing slash, “/” and it will treat all child nodes as translatable (content must still be text within a tag). 

* wildcards are supported

This directive is optional, as any content in the <text> element will be ingested for translation. 
This directive does not override or exclude content in the <text> element from being translated.


<!-- smartling.translate_paths = data/localize/string, data/*/root/,data/localize.title, --> 

Smartling will translate content in the data/localize/string & data/any/root nodes. The title attribute of the data/localize node will also be translated.



  • 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?