Translate Toolkit 2.4.0

Released on 24 June 2019

This release contains improvements and bug fixes.


Formats and Converters

  • PO

    • Allow unicode in PO headers (issue 3896).

    • Improve finding out newline format for a file.

    • Strip UTF-8 BOM from input (issue 1640).


    • Adjustments on how output is indented (issue 3424).

  • Properties

    • Do not fail when parsing empty file.

  • Android resources

    • Multiple adjustments so output is closer to Android Studio’s.

  • YAML

    • Switched to ruamel.yaml to simplify codebase and support YAML 1.2.

    • Added support for Ruby plurals.

    • Fixed handling dict in list (issue 3895).

    • Fixed parsing of empty YAML file.

  • JSON

    • Fixed serialization of JSON arrays.

    • Placeholders are now kept in WebExtension dialect round trip conversion.

  • RESX

    • Several improvements on formatting to align with Visual Studio’s output.

  • TS

    • Improved tags indentation.

    • Added support for new vanished type.

  • Flat XML

    • Added support for this new format including flatxml2po and po2flatxml converters (issue 3776).

  • CSV

    • No longer hardcode escape character (issue 3246).

    • Rewrote default dialect to make it more flexible.

  • web2py

    • Updated converters code.

  • Subtitles

    • Initialize duration on subtitle unit __init__.


  • Tmserver: Fixed execution of unit API on Python 3.


  • Updated plural definitions to CLDR 35.0.

  • Removed trailing semicolon in Romanian plural definition.


  • Allow any character for Python mapping keys in PythonFormattingPlaceable.

API changes

  • Altered storage code to have a consistent API for removenotes.

  • Removed dependency on diff-match-patch.

  • Removed embedded CherryPy wsgi server.

  • Removed deprecated has_key implementation.


  • Dropped no longer supported Python 3.3 and Python 3.4.

  • Minor docs improvements.

  • Updated requirements.

  • Added and updated tests.


This release was made possible by the following people:

Michal Čihař, Leandro Regueiro, Vinyl Darkscratch, Vitaly Novichkov, Stuart Prescott, Alex Tomkins, Darío Hereñú, BhaaL.

And to all our bug finders and testers, a Very BIG Thank You.