Welcome to Transifex 1.1, codenamed Sabretooth!
Transifex 1.1 ‘Sabretooth‘ is a new major release. Transifex 1.0 ‘Proteus’ brought a number of big changes. This release introduces a ton of improvements and bugfixes and a small number of yet important new features.
Here’s the gist:
400 changesets recorded 415 files changed, 76407 insertions(+), 48711 deletions(-)
A much wanted improvement comes in the form of denormalized statistics. Transifex 1.1 boosts performance between 4x-10x on various pages on the interface, especially the ones showing statistics, which should now load in milliseconds.
The various statistics for each resource or release are available in real time, no matter how large your project is. Together with smarter statistics update algorithms, the performance gain should be obvious.
Joomla extensions and themes are managed using special INI files, which can now be loaded in Transifex and handled natively. This means that these resources behave exactly like any other, with full support of all features, including the web-based editor, Transifex client, etc. No need to convert to PO or another intermediate format.
Additionally, Java .property files are now supported natively as well.
Just create a new resource by uploading the INI or .property file and a resource should be created right away. Support or even more file formats is on the way.
A new feature that was added in this version is the fuzzy matching of source strings when importing new source files. This enables Transifex to identify similar source strings and use the existing translations as suggestions for newly added source strings. This is especially useful when updating the source strings of a resource and most of the changes are minor corrections since you can still use your existing translations with minor tweaking.
The similarity threshold is configurable in the settings files, although we expect most projects to keep the default value.
Another new feature that the new Transifex version offers is the ability to define a URL containing L10n instructions for a project. This will be linked from the Project Details page and can include documentation for translators, packagers, other developers etc. Useful to link against wiki pages of a project.
Several languages available in Transifex with aliases pointing to countries, as for example ‘es’ pointing to ‘es_ES’ now were split into two different languages. It allows the projects registered on Transifex to choose whenever they want to use only general language code (‘es’) or language code plus country info (‘es_ES’), depending on the code style used by the system.
The new revised API is a simpler, more elegant and more consistent version of the Transifex API.
The most important feature is the merge between the StorageHandler, the ProjectResourceHandler and the ResourceHandler into one unified ResourceHandler. This gives you the ability to create a resource and push its content with a single request. Furthermore, the Translation Handler now also accepts json-encoded strings, empowering you to send the translations along with other information in one request.
The URLs of the new API are under /api/2 while the old API still resides in /api. The old API can also be accessed under /api/1. This way full backwards compatibility is ensured.
More technical details at Version 2 API docs.
Main article at Transifex Client-0.5
Parallel to the release of Transifex-1.1, the release of the Transifex client v0.5 took place. The gist of the new introduced features is:
A number of important bug-fixes have been incorporated into this release as well. Many thanks go to our vibrant community for helping us point out and implement them. Following is an overview of the fixes the Transifex 1.1 release incorporates:
You can experience Transifex live at http://www.transifex.com/. This upstream instance is hosted by Transifex, the company behind the development of Transifex.
Project and community managers who want to deploy Transifex for their own community may refer to the Installation documentation.
To upgrade the code, update your package distribution as usual:
The following extra dependencies was added since the last major version:
One dependency is no longer required starting from this version:
Instructions on how to install the dependencies can be found at the Installation docs. You’ll need to complete this step before actually doing the database migration.
Transifex 1.1 has undergone some changes in its database schema. However it’s very easy to migrate to the new database using the python commands included in the main directory. To do this, you need to run:
python manage.py syncdb --noinput python manage.py migrate --ignore-ghost-migrations --noinput
Then, you only need to create new notice types and new languages by executing the following commands:
python manage.py txcreatenoticetypes python manage.py txlanguages
Also, our new extra-powerful RLStats feature needs to be initialized with the following command:
python manage.py txstatsupdate
Depending on the size of the database and the number or projects and resources that you have, this process may take up to several hours.
A sample run for a migration from Transifex version 01.1 to Transifex 1.1 follows (all stdout/sterr output are omitted):
git clone email@example.com:transifex/transifex.git git checkout 1.1 python manage.py syncdb --noinput python manage.py migrate --ignore-ghost-migrations --noinput python manage.py txcreatenoticetypes python manage.py txlanguages python manage.py txstatsupdate
The following people have contributed to this release, with one way or another:
For a list of our awesome translators, refer to the `Translations`_ section.
Please refer to the full `Transifex 1.1 changelog`_ for more information on what has changed between the development releases and final one.
Why the name ‘Sabretooth’?
Sabretooth (Victor Creed) is a fictional character, a Marvel Comics supervillain. The character first appeared in Iron Fist #14 (August 1977). Originally portrayed as a non-powered serial killer, Sabretooth is later written as a mutant who possesses bestial superhuman abilities, most notably a rapid healing factor, razor-sharp fangs and claws, and superhuman senses. He is a vicious assassin responsible for numerous deaths both as a paid mercenary and for his personal pleasure.
Sabretooth has appeared in several X-Men animated series, movies and video games, just like all the codenames of our releases. The character Wolverine is depicted as his long-time enemy.
All the above match perfectly with the characteristics of Transifex 1.1 ifself. The best is yet to come.