Google Translator - User Exit, used in Translation Map

Creating User Exit for Google Translator
Steps to do:
- Download java api (package) for google translation
- Install google translation package in SI system
- Write user exit code
- Compile and pack user exit code
- Install user exit in SI system
- Write the map that will use the user exit
1. Download google-api-translate-java-0.92.jar or newer that can be found at
Note: Be careful with google translator API version and java version used by SI. I think for GIS/SI versions that uses java 1.5 we should use Google Translator 0.92 and SI system that uses java 1.6, we should take Google Translator 0.95!
2. Install the jar with install3rdParty.sh/cmd script in SI system
SI_Install_Folder/bin/install3rdParty.cmd GoogleTranslator 0_92 -j /path_To_Jar/google-api-translate-java-0.92.jar
You will be able to find the jar file in
- SI_Install_Folder/jar/GoogleTranslator/0_92/
- Also, you will see the following line in the end of dynamicclasspath.cfg file:

3. Java code for user exit (GoogleTranslation.java)
package google.translation;
import com.google.api.GoogleAPI;
import com.google.api.translate.Language;
import com.google.api.translate.Translate;
public class GoogleTranslation {
public String trans(String str, String sourceLanguage, String targetLanguage) {
String translatedText = new String();
GoogleAPI.setHttpReferrer("http://code.google.com/p/google-api-translate-java/");
try {
translatedText = Translate.execute(str, Language.valueOf(sourceLanguage), Language.valueOf(targetLanguage));
System.out.println(translatedText);
} catch (Exception ex) {
ex.printStackTrace();
}
return translatedText;
}
}
4. Compile GoogleTranslation.java into GoogleTranslation.class
Compilation can be done with a proper version of java in eclipse or in the command line.
SI_Install_Folder/jdk/bin/javac /path_To_Java_Code/GoogleTranslation.java
… or …
C:\temp>c:\SterlingCommerce\MEFG_43\jdk\bin\javac -classpath c:\temp\google-api-translate-java-0.92.jar GoogleTranslation.java
GoogleTranslation.class should be created in the folder in which you have run the command.
5. Pack the class file into jar
- Place the class file under package folder (google/translation)
- Change directory to parent folder of ‘google’
- SI_Install_Folder/install/jdk/bin/jar cvf GoogleTranslation.jar google
GoogleTranslation.class, in package (jar), must be under google\translation path, that means in the package defined in code.

6. Install GoogleTranslation.jar at SI system
SI_Install_Folder/bin/install3rdParty.cmd UserExit 1_0 -j /path_To_Jar/GoogleTranslation.jar

After installing google translate api (google-api-translate-java-0.92.jar) and GoogleTranslator.jar package as a User Exit, you can also find the following lines in dynamicclasspath.cfg (SI_Install_Folder/properties folder):
VENDOR_JAR=C:\SterlingCommerce\MEFG_43\jar\GoogleTranslator\0_92\google-api-translate-java-0.92.jar
VENDOR_JAR=C:\SterlingCommerce\MEFG_43\jar\UserExit\1_0\GoogleTranslation.jar
- Restart GIS/SI system!!!
7. Google translation in Translation map
- Extended rule in a #field:
///////////////////////////////////
object obj;
String[50] sourceLanguage;
String[50] targetLanguage;
obj = new("google.translation.GoogleTranslation");
sourceLanguage = "ENGLISH";
targetLanguage = "CROATIAN";
#word = obj.trans(#word,sourceLanguage,targetLanguage);
///////////////////////////////////

- Input file:
Welcome to the World of Integration.
Wish you a nice day!
Different results for translation to CROATIAN, SPANISH and GERMAN languages:
- Result of translation (from ENGLISH to CROATIAN langugae):
Dobro došli u svijet integracije.
Želimo vam lijep dan!
(For specific Croatian characters I added 0x00 – 0xFF range in X Syntax Token and also set Encodings at both sides of the map to Cp1250 - Windows Eastern European)
- Result of translation (from ENGLISH to SPANISH language):
////////////////////////////////
...
sourceLanguage = "ENGLISH";
targetLanguage = "SPANISH";
...
////////////////////////////////
Bienvenido al mundo de la integración.
Deseamos un buen día!
- Result of translation (from ENGLISH to GERMAN language):
////////////////////////////////
...
sourceLanguage = "ENGLISH";
targetLanguage = "GERMAN";
...
////////////////////////////////
Willkommen in der Welt von Integration.
Wünsche dir einen schönen Tag!
8. Uninstall/Remove User Exit
- Remove GoogleTranslation.jar from SI_Install_Folder/jar/User Exit/1_0, or remove the whole UserExit folder if there is nothing you need from it any more
- Remove google-api-translate-java-0.92.jar SI_Install_Folder/jar/GoogleTranslator/0_92 or remove the whole GoogleTranslator folder if you do not need it any more
- Remove the lines from dynamicclasspath.cfg file that reference to these packages, mentioned in the previous steps