INFO : 13.07.2009. From now source is hosted on http://code.google.com/p/extjsdyntran/
There is also client only version.It must be deployed to server also, but does not require serverside support (PHP or Java). Translations will be made directly from Google Translation Service. This is limited version with less features but it is zero configuraiton. Use it for testing and previewing this add-on.
Screencast can be found also on project download page.
I have created additional override to Ext.Component to implement translation functions to all GUI Ext components through Google Translation API.
These translation functions will call server side through ajax calls to translate field labels, titles, messages and other standard text properties of Ext GUI components.
Server side is written as Java Servlet and PHP using Google Translation API (Java and PHP version). So you can use which one you prefere.
I have noticed one problem with PHP. When server runs on intranet and use proxy to exit to Internet, PHP does not work?!?! I am not PHP developer so I am not using original PHP but Quercus PHP Java library so maybe the problem is in this library?!
Next version will contain server side cached translation to minimize calls to Google Translation Service. Automatic translation will be cached (saved to text file ) so admin can additionaly translate words that are not translated or quality of translation is not good enough.
Never the less this will help developers to add some degre of automatic translation of their projects.
There is only one line of code to call to start automatic translation.
See more in Ext.translate.js and attatched project.
Project is not finished yet but working example with sources you can find in the attachment.
After new version is finnished I will post new sources here.
Any ideas and suggestions are wery wellcome.
In the attatchement one will find ziped Eclipse project that can be rebuilt and deployed on the Tomcat or any other java web server.
When you start the Tomcat and install the war file go to
Server side is written in Java but also the PHP version is available.
Caching is added (Java only) so already translated text is no longer sent to GT API.
For PHP version I'm using Resin Quercus java library (PHP engine 100% written in Java).
There is no need for PHP instalation.
For more info go to http://www.caucho.com/ and http://quercus.caucho.com/
Requirements : java jdk 1.5 ; Tomcat 5/6 ; Eclipse ; ExtJs 3.0
1. Unzip project in Eclipse workspace folder and import it.
2. Download resinn from http://www.caucho.com/download/resin-4.0.0.zip and copy all jar files from lib folder to project subfolder WebContent\WEB-INF\lib
3. Fix paths to libraries. (included in project subfolder WebContent\WEB-INF\lib).
4. Create new Server project; create server instance in Eclipse; add this project to Server instance
5. Create new empty Dynamic Web Project and copy EXTJS3 library inside WebContent folder. Deploy it to server instance also.
6. Start Tomcat in Eclipse and right click to index.html -> Run As -> Run on Server. File is in WebContent of this project.
IMPORTANT NOTE : Resin class com.caucho.vfs.HttpStream has a bug so you need to remove it from resin.jar (open with winzip or winrar).
When project is rebuilt, new replacement class will be used.
Source is included inside project. For more details see header in included HttpStream.java file.
Added server side caching
Added autotranslate on component create
Added ExtJs Web Desktop demo with Google Translation
(for Web Desktop Demo , go to Start and Window 6 where you can change language)
Source code optimization and smaller fixes.
Ext.MessageBox auto translation added.
Added client side caching object Ext.translate.Cache (not implemented yet).
Fixed bug in Web Desktop demo with Google Translation.
Fixed minor bugs and implemented client side caching.
New version with rewritten code and improved speed, now on Google code.
Version 1.4 available for download.
Video demoes added under download section on project page.
Version 1.5 BETA available. For more info visit link on top of this post.
Version 1.6 available. For more info visit link on top of this post.