SimulTrans Localization Blog: SimulTips

YAML – Ain't Markup Language

[fa icon="calendar"] December 11, 2017 / by David Quilligan


With the emergence of CMS and the move towards cloud based technologies, we are seeing a change in the type of file formats we work with for software localization: SCON, JSON and YML to name just a few are becoming increasingly popular.

What are YAML files?

YAML (YAML Ain't Markup Language) is a human-readable data serialization language. "It is commonly used for configuration files, but could be used in many applications where data is being stored (e.g. debugging output) or transmitted (e.g. document headers)." 

Both Customers and indeed developers prefer to work with files that offer simplistic syntax and that can store lots of important data and this is very true of the YML file. YAML (Ain't Markup Language) and the YML file extension (.yml or .yaml).

Advantages of YAML

At SimulTrans, we love YAML and the YML file and it’s also fun to work it!  The reason why we like working with YAML is because it is optimized for data serialization, formatted dumping, configuration files, log files, Internet messaging and filtering.

There are many advantages of localizing files in YML file format:

  • Files are easy to work in a text editor
  • Files are portable between programming languages
  • Files are expressive and also extensible
  • Files support the Unicode character set

Localization of YML files

The key when working with YML files is preserving the file's structure while ensuring the correct strings gets localised.

We can divide the process into 3 distinct steps:

Parse and Prep:

The YML is made up of a number of elements, tags, block sequences ( “- ”) and mappings (“: ”).

A question mark and space (“? ”) indicate a complex mapping key. We ensure that we preserve the key: and translate the value node pairs.


Before we send files for translation we do a pseudo check to compare source with target and perform a linguistic review afterwards.


The YML file should have a well formed character stream, by taking advantage of PYYAML (YAML parser and emitter for the Python programming language) we ensure that the file is fully validated. We do not use online validation tools to validate the content of our client’s files. We can also take advantage of Ruby on Rails Validation schema that we use in-house. 

Your own project

For your own project, we can talk directly with your engineers and tailor to their specific needs when it comes to working with YML for localization.

For instance you can send us a sample set of YML files and we can provide a generated sample back in very quick time in any language variant for you to test.

We can also do additional automated editing services within the files to suit your specific needs like changing the language reference id, encoding, correct line endings etc.

If you are interested in software localization, you might like to get our free software localization checklist.

Download your Software Localization Checklist

Topics: Software Localization

David Quilligan

Written by David Quilligan

David works as a member of the Engineering team in SimulTrans and has been working in the Localization Industry for almost 15 years. He holds a Graduate Diploma in Software Localization from the University of Limerick along with a B.A in Business Administration from John Moores University. David has a keen interest in the areas of Automation, Cloud computing, Translation Management Systems and Programming.