I'm a software developer and my company has a product with a documentation system composed by a (big) number of documents. These pages need to be periodically translated in english or other languages. I'm looking for a translation/management tool that can handle the following:

  • Allow to store a number of "translation" items, which usually are full documentation pages or documentation paragraphs (not single lines). The content is usually a subset of HTML.
  • Allow to translate manually (or automatically) these items in one or more languages.

Periodically (on each release) we need to syncronize the translations with the original documents language. So:

  • Allow to re-translate only the updated contents and new documents.
  • Have a storage system friendly to revision control, or allow to store status snapshots of the contents and the translations.

  • Finally, it should be easy to import/contents from text files or any other easily parseable format, so we can integrate with our documentaton build system.

A plus would be if such a system allows for documentation authoring too (i.e. edit original contents, help indexs, generate PDFs, etc...)

The system will be managed by multiple users, but residing in the same office with a small number of clients (4/5). Translators may be external persons though.

Does something like that exists? I'm totally new to translation/documentation management, so I don't even know the standards, etc... Any hint would be appreciated!

Thanks Qb

  • 1
    Can we assume this will be a multi-user project, since your writing 'we'? Then add that to the question.
    – user416
    Sep 5, 2014 at 13:25

2 Answers 2


I would suggest taking a look at a couple of different things: Sphinx and Pandoc that between them will give you a good workflow.

Sphinx Documentation Generator

Your documentation would normally be stored as ReStructured Text, (good news rst works well with version control systems) and the documentation for a given output format generated from that with the appropriate language set. Sphinx can produce output documents in any of HTML (including Windows HTML Help), LaTeX (for printable PDF versions), ePub, Texinfo, manual pages or plain text.

As the section on internationalisation explains Sphinx can be used to generate from both your code and your source documents a set of .pot gettext files these can be used to generate a set of .po files to give to the translators for the differing languages.

The diagram from that section makes things clearer: The Picture

The .po files are then compiled into locale specific .mo files which are then picked up by another run of Sphinx to generate your final document in the selected language(s). Any text fragments that do not have translations will appear in the original language.

(N.B. These same .mo files can be used by your programs to use gettext internationalisation of your programs with the translations coming "free" from the documentation project.)

Some of the text will be output directly from Sphinx but as you can see here Sphinx internally generated text can be set to any of:

  • bn – Bengali
  • ca – Catalan
  • cs – Czech
  • da – Danish
  • de – German
  • en – English
  • es – Spanish
  • et – Estonian
  • eu – Basque
  • fa – Iranian
  • fi – Finnish
  • fr – French
  • he – Hebrew
  • hr – Croatian
  • hu – Hungarian
  • id – Indonesian
  • it – Italian
  • ja – Japanese
  • ko – Korean
  • lt – Lithuanian
  • lv – Latvian
  • mk – Macedonian
  • nb_NO – Norwegian Bokmal
  • ne – Nepali
  • nl – Dutch
  • pl – Polish
  • pt_BR – Brazilian Portuguese
  • pt_PT – European Portuguese
  • ru – Russian
  • si – Sinhala
  • sk – Slovak
  • sl – Slovenian
  • sv – Swedish
  • tr – Turkish
  • uk_UA – Ukrainian
  • vi – Vietnamese
  • zh_CN – Simplified Chinese
  • zh_TW – Traditional Chinese
  • the list is growing all of the time.

Also, Sphinx will try to substitute individual paragraphs from your documents with the translation sets obtained from locale_dirs. In the LaTeX builder, a suitable language will be selected as an option for the Babel package.

Pandoc - Document Conversion.

You may need a way to translate your original documents to ReStructured Text to prepare them as your inputs and you may also need additional output formats for this I would suggest Pandoc.

Pandoc can convert documents in markdown, reStructuredText, textile, HTML, DocBook, LaTeX, MediaWiki markup, OPML, Emacs Org-Mode, Txt2Tags, Microsoft Word docx, EPUB, or Haddock markup to:

  • HTML formats: XHTML, HTML5, and HTML slide shows using Slidy, reveal.js, Slideous, S5, or DZSlides.
  • Word processor formats: Microsoft Word docx, OpenOffice/LibreOffice ODT, OpenDocument XML
  • Ebooks: EPUB version 2 or 3, FictionBook2
  • Documentation formats: DocBook, GNU TexInfo, Groff man pages, Haddock markup
  • Page layout formats: InDesign ICML
  • Outline formats: OPML
  • TeX formats: LaTeX, ConTeXt, LaTeX Beamer slides
  • PDF via LaTeX
  • Lightweight markup formats: Markdown, reStructuredText, AsciiDoc, MediaWiki markup, DokuWiki markup, Emacs Org-Mode, Textile.


Both the above packages rely on python but it and both the above package are Free, Open Source packages that are released under the Python Licence/GPL/BSD so should be fine if you are using them in a commercial environment but not selling them.


SDL make translation software including collaboration tools so Groupshare might suit your purposes. It allows for terminology management, so that translations are aligned across multiple documents.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.