Translate Toolkit 1.12.0¶
Released on 12 August 2014
This release contains many improvements and bug fixes. While it contains many general improvements, it also specifically contains needed changes and optimizations for the upcoming Pootle 2.6.0 and Virtaal releases.
It is just over 6 months since the last release and there are many improvements across the board. A number of people contributed to this release and we’ve tried to credit them wherever possible (sorry if somehow we missed you).
Highlighted improvements¶
Major changes¶
Properties and DTD formats fix a number of issues
Massive code cleanup looking forward Python 3 compatibility
Important changes in development process to ease testing
Formats and Converters¶
Mozilla properties
If a unit has an associated access key entry then these are combined into a single unit
Encoding errors are now reported early to prevent them being masked by subsequent errors
Leading and trailing spaces are escaped in order to avoid losing them when using the converters
The
\uNN
characters are now properly handledpo2prop Now uses the source language accesskey if translation is missing
Fixed conversion of successive Gaia plural units in prop2po
DTD
The
&
entity is automatically expanded when reading DTD files, and escaped back when writing themUnderscore character is now a valid character in entity names
Nonentities at end of string are now correctly handled
po2dtd:
Now uses the source language accesskey if target accesskey is missing
Doesn’t remove stray
&
as they probably&
HTML
The HTML5
figcaption
tag is now localizableThe
title
attribute is now localizablepo2html now retains the untranslated attributes
Accesskeys
Now accesskeys are combined using the correct case
Added support for accesskey after ampersand and space
PHP
Fall back to default dialect after adding every new unit
Added support for empty array declaration when it is filled later
Android
Added support for plurals
Text is now properly escaped when using markup
Qt Linguist (.ts)
The message id attribute is added to contextname
Files now output the XML declaration (issue 3198)
RC
RC format received some bugfixes and now ignores
TEXTINCLUDE
sections and one line comments (//
)
XLIFF
xliff2po
now supports files with.xliff
extension
OS X .strings
Added support for UTF-8 encoded OS X strings
Testing
Added new tests for the UTF-8 encoded OS X strings, Qt linguist and RC formats and the
rc2po
converter
Version Control improvements¶
Added support for Subversion
.svn
directories
Checks¶
Added specific checks for LibreOffice
Tools¶
The
pocount
tool has now a better counting algorithm for things that look like XML
Mozilla tooling fixes¶
Added support to check for bad accesskeys in .properties files
Now the Mozilla roundtrip script can be silently run
Added a new Gaia roundtrip script
The
buildxpi
--disable-compile-environment
option has been restored, resulting in huge speed improvements
General¶
Extensive cleanup of setup script
Some bugfixes for placeables
Misc docs cleanups
Recovered diff-match-patch to provide support for old third party consumers
Minor change in placeables to correctly insert at an existing parent if appropriate
Code cleanups:
Applied tons of PEP8 and style guide cleanups
Python 2.6 is our new minimum:
Removed lots of code used to support old Python versions
Dropped custom code in favor of Python standard libraries
Updated codebase to use newer libraries
Changed code to use newer syntax seeking Python 3 compatibility
Updated some third party bundled software: CherryPy, BeautifulSoup4
Added document to track licenses used by third party bundled code
Removed TODO items. Some of them were moved to the bug tracker
Development process:
Added a functional test framework
Added dozens of new unit and functional tests
Expanded the tasks performed in Travis: pep8, pytest-xdist, compile all files, coveralls.io, …
…and loads of general code cleanups and of course many many bugfixes.
Contributors¶
This release was made possible by the following people:
Dwayne Bailey, Jerome Leclanche, Leandro Regueiro, Khaled Hosny, Javier Alfonso, Friedel Wolff, Michal Čihař, Heiki Ojasild, Julen Ruiz Aizpuru, Florian Preinstorfer, damian.golda, Zolnai Tamás, Vladimir Rusinov, Stuart Prescott, Luca De Petrillo, Kevin KIN-FOO, Henrik Saari, Dominic König.
And to all our bug finders and testers, a Very BIG Thank You.