Preparing Content for Translation




Extension .md, .markdown
Smartling Identifier MARKDOWN
Example File (see examples below)
Resources GitHub Flavored Markdown Spec


Markdown comes in many flavors. The one that is supported by Smartling is the GitHub flavor of markdown. If you’re unsure which flavor of Markdown you are using, someone on your technical team should know.


Before uploading your Markdown file to Smartling, be aware of the following:


Markdown translation is accomplished by transforming content into HTML so that it can be manipulated in translation tools and viewed in context with ease. Once translation is complete, the content is converted from HTML back into Markdown while the translated content is downloaded. As a result, your original Markdown document may differ in some ways from what is downloaded in the translated documents.


During the translation process, Smartling will try to maintain the same visual layout of your file but can’t guarantee that there won’t be some noticeable differences. Some post processing may be required to return the same formatting as the original document. See below for more details about the markdown formatting.




Parsing of strings in markdown files can also be further customized with Smartling directives.  For this file format directives can only be specified for the entire file via the API.




See custom placeholder format article for more information.


smartling-cli files push "" --type markdown --directive placeholder_format_custom="\{\{.+?\}\}"


Markdown Formatting


Below are some examples of known differences for markdown formatting in the translated file returned by Smartling.


Alternate Codes


Most Markdown styling can be represented by different Markdown code sequences (or character sequences). One code sequence will be consistently returned for any given style. For example:


H1 and H2 headers:


Original  Downloaded
# Header 1
## Header2
Header 1
Header 2


Italic and bold:


Original  Downloaded
Text with _Italic_, __bold__, *Italic* , **bold**
Text with *Italic*, **bold**, *Italic* , **bold**


Formatting of code blocks is returned with an indentation style:


Original Downloaded
public void main()
// body
public void main()
// body




The following characters are escaped with a backslash '\' in the downloaded file if they’re in the translated text:


\ backslash
* asterisk
_ underscore
{} curly braces
() parentheses
# hash mark
+ plus sign
- minus sign (hyphen)
! exclamation mark


. dot sign is escaped when it is placed after a number (123\.)
The greater sign (>) is escaped when it is placed on the new line, or after the beginning of a
paragraph (if it is not a blockquote).


Script Tags


Literal (HTML markup inside markdown) script tags are removed.


Original Downloaded
<script type="text/javascript">
// JavaScript example

document.getElementById("demo").innerHTML = "Hello JavaScript!";






Original Downloaded
</script>1. *bar*
1\. \*bar\*


Style Tags


Literal (HTML markup inside markdown) style tags are removed.


Original Downloaded
h1 {color:red;}

p {color:blue;}




Blockquotes can be merged.


Original Downloaded
> foo

> bar
> foo
> bar


Bullets With Headings


Extra line breaks can sometimes be returned. 


Original Downloaded
- # Foo
- Bar








An extra line break is added between lists. 


Original Downloaded
- [x] foo
- [ ] bar
- [x] baz
- [ ] bim
* [x] foo
  * [ ] bar
  * [x] baz

* [ ] bim


Custom start position in numeric list currently is not supported.


Original Downloaded
123. Item 1
124. Item 2
125. Item 3
1. Item 1
2. Item 2
3. Item 3


Extra spacing can be added around certain styles.


Original Downloaded
 5 *6* 78



Was this article helpful?