Version 0.7.0 – The future of translation interface!

The next major version release of Transposh is here, and to celebrate the occasion we have created a short video (about 11 minutes) . Introducing the new features available in the new version. You are more than welcomed to watch the video and nominate it to the next academy award prize for translation plugin update movies.

The first thing you will notice in the newer version is the major update to the user interface, we have added a couple of highly requested features to the interface such as next/previous buttons, approval of automated translations and finding phrases that are translated. Another interesting feature that we added is the ability for a translator to see the original phrase in a different language if it was already translated to said language manually, so assuming you have a Hebrew blog which you translated to English, a translator may be able to translate your site from English to another language, which might be easier for him. I want to thank Hanan for originally asking for this feature. It is also possible now to remove translations from the history dialog, which is a step in the direction of working on stricter control on translation quality.

The interface is also sleeker, with nicer ui that is also localizable and themable, you can set the theme in the widget settings, and a good place to get a grip on how it will look is themeroller. If you want to help us by translating the interface to your language and getting the credits for it, please let us know by using the contact us option above.

Topping this revision up is a virtual keyboard support using code from, which is still broken on IE, but will work on other browsers.

The arms race is still in progress, and Transposh is the first plugin (that we know of) to support (really support, working support) for 60 languages by adding Esperanto support using Apertium engine, for now it only works for English and Spanish blogs, but will add more languages upon demand.
Many more fixed are included, database updates, the long sought after meta keys translation, and more – closing ~15 tickets on our trac.
Last but not least – the credits for translators in this release go to: Amir for his translation to Hebrew and Ignacio for the Spanish translation, thanks guys!

, , , , , , ,


Version 0.6.7 – What’s next?

Image by

What's next for Transposh?

Yesterday we have released version 0.6.7. This version includes a few minor fixes, both for the ability to translate more phrases when google does not detect the source language correctly, and for the ability to include direct links to static files (those will cause a 301 redirect to occur).

However what is more important is that we have finally been able to cleanup our milestones, and set the gears in full motion for the next major version of Transposh – which will be 0.7. The focus of this version will be a major improvement to the translator frontend interface, and we have put the requirements for this online in our development site at Everyone that wants to influence the next version is welcomed to edit and comment on that wiki page or create a ticket for us. We will review each request and try to fit it into the schedule.

On some other news, we would like to thank Colnect, our new sponsor for contributing a new vps for Transposh which will hopefully make the site go a bit faster. We have also attempted to use cloudflare to improve our service, however we are having mixed results with that, so if you are having any problems accessing this site, please let us know.

Last on the agenda, an alpha version of our plugin for blogger is on the works, if you have a site on blogger and want to add translation to it, just contact us.

, , , , , , ,


Version 0.6.6 – Finally! a security release

By Dmitry Baranovskiy -

Cross Site Scripting -> XSS

We would like to thank Joshua Hansen and Scott Caveza for their help in identifying and helping us debug two XSS vulnerabilities that had the potential to effect users using internet explorer browser with versions lower than 8, or when xss protection was explicitly off. We avoided the urge to call this version and resumed the regular naming policies. Those vulnerabilities don’t pose any risk to webmasters or hosters using Transposh, but to users that might trust scripts from these sites by using the sneaky XSS method.

This release also bundles two other changes that were already committed and would have probably waited for a later release otherwise, the first being a small improvement to the parser, enabling support for some more html “breaker entities” such as ’ which were created by software trying to outsmart the user, we would like to thank archon810 on his help in this bug report.

Last but not least is a change in the support for Google Sitemaps XML generator, the patch has one letter removed in order to have proper support for php5.3, and on other good news, the coming version 4 of this plugin has support already built in, this version also helps in breaking the 50k url limits that some users had. So we would to thank Arne Brachhold on his great work on this project.

So everybody, go and upgrade! just because finding an image to match this post was such a difficult fit.

, , , ,


Version 0.6.5 – Now features less bugs

By fastjack -

Bugs - gotta love them

Version 0.6.5 has focused on squashing some bugs (and a few regressions too). It is by far the most stable and best software that we have released today. It also adds support to some header magic for search engines.

Lets just review the change log here:

  • Fixed Slovenian flag bug reported by anphicle (It was Sierra Leon before that, thanks for the sharp eye!).
  • Fixed an issue with the way wordpress handles canonical redirects and url rewritings as reported by Marco, wordpress had no knowledge of the way we translated tag and category prefixed urls and therefore redirected them to the default language url. This fix also improved a canonical form of some URLs.
  • Fixed a bug with translate all and after post translation which hindered their ability to work – (thanks nightsurfer [ticket #122]) – we also took the time to improve the handling of passing information to the translate all to use a meta instead of a redirect.
  • Fixed json translation for buddypress stream issue – (thanks Inocima [ticket #121]).

We are now working on a cleanup in the our trac system, assigning open tickets to new milestones. Please try to make this effort hopeless by creating new tickets for us as fast as you can.

And as always – enjoy this version.

, , , , ,


Version 0.6.4 – The shoemaker is no longer barefoot

Image by Matt Mullenweg

Matt and Me

This time we are joined by nobody else than Matt Mullenweg, the creator of the WordPress platform.

In the following completely fake interview, Matt will help us all understand what is new in 0.6.4:

Ofer: Hello Matt, how are you today?
Matt: I have never been so excited about a point 0.01 release of a plugin before!
Ofer: Why is that?
Matt: I think that you are finally getting the spirit of wordpress in this release
Ofer: Am I?
Matt: Yes, you are finally integrating with the platform instead of hacking around it, I really like the fact that you finally took the time and made your plugin interface and administration pages translatable, and since you are that good, you get a free blog!
Ofer: Gee, thanks! now how will I get other people to make translations of my plugin?
Matt: Just ask your users to do that, I am sure you’ll give them credit.
Ofer: Tell them the whole thing about poedit and stuff?
Matt: Come on, as I am always saying, there’s a plugin for that! And you should probably know since you translated it yourself and contributed some minor fixes.
Ofer: You mean codestyling localization?
Matt: Yes, that’s the one, anyone can use it. But I have a question for you
Ofer: For me?
Matt: Yes, why didn’t you use Transposh for doing that?
Ofer: Didn’t really see the reason, as there’s already a great plugin for it, why replicate?
Matt: I see that you are finally getting it.
Ofer: Getting what?
Matt: The spirit of wordpress, sharing, caring, open source, and free love.
Ofer: I sure hope so, thank you so much for being with us.
Matt: Thank you, next time, please interview me on a major feature, if I had to do fake interviews for every minor plugin release in wordpress, I’ll never have free time to actually improve wordpress and come to wordcamps.
Ofer: Will take notice, thanks again!

Well, thanks Matt for joining us, some features also added to this version is the Latin translation added (with google translation support), three new languages added to Bing translate. The ability to disable the gettext integration where it causes problems, with some other fixes.

As always – we hope you will enjoy this version

, , , , , , ,


Version 0.6.3 – GetText Integration

By diongillard

GetText makes translation easier

This new version has two major changes and lots of bug fixes included.

The most important change is the integration of the plugin with the WordPress GetText system, which is the way WordPress (and some themes and plugins) provide localized versions of themselves. This is done with a couple of files (called .po/.mo files because of their extensions) that includes a list of translated strings that that software include.

What Transposh now does is to utilize said files, so if you have the files that translate WordPress to Spanish, they will take precedence and Transposh will use the files to make the translation of the interface to Spanish. Why is this better? there are a few reasons, one is that sometimes it enables translations where they were previously impossible, another is that the translation is human based and deemed more accurate, and the last is that it can clear ambiguity especially in short strings such as month names and day abbreviations.
How to get the .po/.mo files, and more information about how this work can be found at

This feature also includes a rewrite of the in-memory caching system of the plugin, which now supports xcache and eaccelarator in addition to the previous versions APC support. This version uses a more compact representation of the data which improves performance and reduce memory usage.

More fixes in this version:

  • Tags from the tag cloud will now be translated with mass translate
  • Fix for the sneaky “not a valid plugin header” issue, if you get “Default” listed twice in your widget selection settings, please delete the widgets/tpw_deafult.php file
  • Fix for MS translate tendency to add an extra space to translation result
  • Fixed bug with list with flags css widget preventing the view of flags

We have also changed this site layout a bit so you can see the development feed and changes in a more real time fashion.

Waiting for your feedbacks on this version.

Update: A bug was discovered when using the plugin without caching, if you have repeat translations, or you can’t see translations previously made, please reinstall the plugin from, the plugin there is now fixed. Thanks Nicholas for reporting this.

, , , , , , , ,


Version 0.6.2 – Lots of small candies


Good things come in small packages

This version includes a relatively large set of small changes, since 0.6.0 was a major release it was quite certain that there would be a few points that will need some ironing, and lots of options to improve the software, bit by bit.

Let’s start with the new stuff!

If you are writing a blog in a few languages, or have writers that prefer writing in one language and others preferring others, it is now possible to mark a complete post as using a different language (We originally thought to write this post in a different language, but decides against it). Marking a post is now done by adding the custom field of tp_language and set it to the language value. Take note that older themes might not be very fund of this and might need to be fixed.

Another feature is the ability to clean-up old automated translations from your database, either completely, or those older than two weeks (ever wanted to comply with google translation caching terms? now you can), This is done in a smart way, where human translations are not deleted, and also automated translations that were replaced by human translations are kept in the translation log for reference. User discretion is advised when using this, and a backup is never a bad idea.

A large change in the code was done to minimize collisions with other plugins, as now all functions and constants migrated into static classes, this type of problems were reported with a few plugins, and should be ok now.

We want to thank Jason, revonorway, Terence, Martin and anyone else who was involved with their help debugging and testing this release.

Now to the list of other changes:

  • Fixed typo in buddypress stream
  • Allow parser processing of nested lang tags
  • Treat the noscript tag as hidden, fixes bug with buddypress
  • Fixes to translation regression with non latin characters
  • Fixes to mass translate with bing translator for Chinese and Taiwanese
  • Shortened copyright notice in source files, and made it a bit more informative

We hope you’ll enjoy this version, if you do and if you don’t, just let us know about it!

, ,


Version 0.6.1 – Buddypress deeper integration

Buddypress, want to be buddies?

This version has a mix of new features and a couple of bug fixes for all the family, most notable is the addition of deeper buddypress support which introduces support for activity stream in different languages. This means that when a user comments on a post using a different version than the original one – the activity stream will be properly translated (given you set translate default language). The stream will also show translations made by logged in users. We now also have a group for the plugins users on the buddypress site at so if you use both and love them, you have the place to show this love, if you hate them and go there you will have our pity.

Another feature which we added thanks to Yoav’s presentation is the support for RTL themes which actually have RTL support built in (such as twenty ten, and the buddypress default theme). Your Hebrew, Arabic, Farsi, Urdu and Yiddish users will be so happy they will make world peace so fast and stop making nukes and gefiltes.

Other fixes include

  • Fix for ms translate and non latin characters (ooops)
  • Fix rewrite urls and url translation issue when using custom structure (eg. when suffixed with .html) (thanks claudio)
  • Auto translation will not work in edit mode if auto translation is set to off (another oops)

Hope you’ll enjoy this release as much as we do.

, , , ,


Version 0.6.0 – Going from fast to faster

Image by Nathan Eal Photography

was fast but now faster

This version is a major release, and there is lots of new stuff in this release. so lets get over the list of items

  • Now there is support for auto batch translations which makes translations faster and improves user experience, previously Transposh has to load scripts from the various auto translation backends and then it would iterate on the phrases one by one to get translations, now those are grouped together for reducing the numbers of requests made, the fact that no external scripts are loading reduces complexity and improves speed.
  • MSN (bing) translator does no longer require a key, as they have upgrades their API and switched to using an application key, you can now just select the default translation engine at will, if this engine is not available for that language – Transposh will resort to using the other one.
  • Transposh Google Proxy is now included to enable translation for Alpha level languages from Google (with 5 new languages supported – Armenian, Azerbaijani, Basque, Georgian and Urdu) – this proxy is located inside the plugin and redirects requests to google translate from your server allowing the script to use them. This process is slow – it increases the load on your server – and is generally not very recommended, and will be eliminated as soon as Google releases those languages to general consumption. But if you have the urgent need to translate your site to the Azeri people, at least you can do that.
  • The Transposh logo and backlink can now be removed from the widget, if you choose this option – Transposh will attempt to make some money of existing ad space on your translated pages only, this money will help us in our development effort, if you don’t want to lose any money from your ads, just keep the link. The terms are readable here.
  • The translate all button was also revamped, and should be much faster using batching.

The usual share of bug fixes is here, and I would like to thank Rogelio and Marko for their insightful comments and contribution to fixing those bugs. An attempt was made at the plugin header error, but as we can’t reproduce it we don’t know if it works, so crossing our fingers. If this release is badly broken for you, please report this at the comments here, create tickets for us in our trac. Bug us on our twitter account or our facebook page or by calling our cell phones, preferably at 3 am. You can always revert to the previous version, we are not offended.

We hope you’ll enjoy this version.

, , , , ,


Version 0.5.7 – Pluggable widgets

Octopus by Dr. Dwayne Meadows, NOAA/NMFS/OPR

Paul is being interviewed by Transposh team

We invited Paul the octopus to Transposh for a couple of beers following his latest success in the world cup. We asked him to make a few predictions for us regarding the coming version of Transposh, and since after drinking too much he was really cooperative we had the chance to make an exclusive interview with him.

We first asked him about the new version of Transposh, the one with support for writing your own language widget (want to know how? go to our widget writing guide). He said that as an octopus he really likes things with sockets or things that are pluggable anyhow, so he predicted this feature will be a great success (after seeing the javascript based widget sample). He also gave us a fair warning that if someone misses those ul tags (and know what they meant) they can quickly code their own widget.

After that part he became kinda silent, and reminded us by winking that octopuses can’t really talk. So we decided to go for the two boxes trickery, we put a box with a nice picture of a big, and another one with a picture of a feature (huh?), and we waited for him to open whichever box he saw fit. Naturally he opened the bug box, which we saw as a reason to write the normal warning that bugs might even slip through our testing (even with the help of an eight armed prophet working for us on QA). We also used the opportunity to write a quick guide on how to get a development version for debugging on our wiki.

And last note, whoever wants to give us a hand (or leg), or wants to share his widget creation with the world is more than welcomed to contact us.

Enjoy today’s match, any questions to Paul will be forwarded directly to him.

P.S – usual share of bug fixes are in, fixed a few languages in msn translate and added a few languages to the settings (still not auto translatable – but will soon be)

Update: thanks to a critical bug found in some situations, 0.5.6 was promptly replaced with 0.5.7 thanks for all those who reported this, with special thanks to dgrut.

, , , , ,