Well ahead of the deadline posed by Google Translate API to stop working, we were finally able to compile this new release. This one followed a long period of problems that were presented by the older version, mainly because of the fact that Google decided to pose limitations on usage before their deadline which caused the previous versions support requests to surge to new heights. The Google change also triggered an API limit in the Bing translation API, since users were switching engines, which overloaded the Transposh hard coded API key for Bing.

However, we survived this period to provide you with our latest and greatest version. This version fixes these problems be providing a bypass (Proxy for Google and temp keys for MSN) and it also allows you to use your own key directly (thanks to Randy from spyware help center for providing us with his key for testing) which will take precedence over those other methods. While doing this we were able to dramatically improve the infrastructure of the plugin, changing the way AJAX calls were performed to a method that is native to WordPress (e.g. if your admin page works, it should probably work as well). While doing that we were able to reduce javascript code needed for the backend while allowing the translate all feature to work much faster (and supporting Apertium too!).

At this point we had a solid version, which seemed like a good thing to release, but no, we had to have some other features in, so we finally decided to tackle the issue of multiple widgets support (and title selection too, yippee!). Seems quite straight forward? but no, this caused a major rewrite of our widget infrastructure as well. Actually improving it quite drastically with changing the way css was added, and the way the widgets notified the servers of change in language (we now avoid a useless POST call to the server). While writing that we were lucky enough to stumble upon a PHP5.3 to PHP5.2 incompatibility issue with a set of other problems which held our release back another week. We want to thank the many users that have put up with our beta releases and helped us find problems that were hidden under layers of code and complexity.

We also took this opportunity to change our terms slightly, if you are displaying Google ads from AdSense on your translated pages, we will take 1/1000 of that space for use with our own adsense code, so if Transposh is helping you generate a revenue of $10K you will be buying us coffee! So thanks! To clarify things a bit, we don’t create additional ad space on your page, and we won’t insert any ads or change your layout, if you have no ads, we do nothing. If you think that this is asking too much, you may simply delete our plugin, whistle a soft tune, and be on your way. If you want a commercial license, we don’t sell them yet, but they’ll probably cost more.

Other changes to this version include:

Added Catalan and Hindi support for Bing – speaks for itself.

Dropdown widget improved css – it actually looks much better now.

Support for Memcached – if APC and other opcode caches were too much for you, now you may use memcached and have a lot of fun.

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 http://trac.transposh.org/wiki/UsingGetText.

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 wordpress.org, the plugin there is now fixed. Thanks Nicholas for reporting this.