#microsoft-translator-java-api
Provides a Java wrapper around the Microsoft Translator API aka Bing Translator.
Created in an attempt to fill the void left by the deprecation of the Google Translate API announced on May 26, 2011 and scheduled for permanent shutdown on December 1, 2011.
In an effort to lessen the impact on Java developers that have previously integrated the Google Translate API into their applications, it is my goal to mimic the code structure, naming conventions, functionality, and usage patterns of the excellent and widely used google-api-translate-java by Rich Midwinter.
- Java 1.5 or greater
- A Windows Azure Marketplace Client ID and Client Secret - Documentation
Please note: If you signed up for a Bing Developer Key after March 31, 2012, you will not be able to use your App Id with this API. Please visit the aforementioned documentation link
Download the latest JAR with Dependencies
import com.memetix.mst.language.Language;
import com.memetix.mst.translate.Translate;
public class Main {
public static void main(String[] args) throws Exception {
// Set your Windows Azure Marketplace client info - See http://msdn.microsoft.com/en-us/library/hh454950.aspx
Translate.setClientId(/* Enter your Windows Azure Client Id here */);
Translate.setClientSecret(/* Enter your Windows Azure Client Secret here */);
String translatedText = Translate.execute("Bonjour le monde", Language.FRENCH, Language.ENGLISH);
System.out.println(translatedText);
}
}
I've posted some examples to the SVN repository on Google Code. The examples include:
- Translating text between two languages
- Detecting the native language of given text
- Getting a list of supported languages, with localized language names
- Generating and playing a WAV of given text spoken in a chosen dialect
- Bulk translation using the TranslateArray service
For those using Maven 2 to manage their project dependencies, the microsoft-translator-java-api is distributed via the Maven Central repository. Simply include the following in your POM.xml to use the Microsoft Translator Java API:
<dependency>
<groupId>com.memetix</groupId>
<artifactId>microsoft-translator-java-api</artifactId>
<version>0.6.2</version>
<type>jar</type>
</dependency>
Or, if you're feeling adventurous, help us test the next version by adding the latest SNAPSHOT to your POM.xml:
<dependency>
<groupId>com.memetix</groupId>
<artifactId>microsoft-translator-java-api</artifactId>
<version>0.7-SNAPSHOT</version>
<type>jar</type>
</dependency>
The SNAPSHOT is hosted at the Sonatype OSS Snapshot repository, so if you do not already have it in your repository list, you will need to add this also
<repository>
<id>sonatype-oss-repo</id>
<name>Sonatype Open Source maven snapshot repo</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
The microsoft-translator-java-api is licensed under the Apache License, Version 2.0
/*
* Copyright 2013 Jonathan Griggs.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Please note that while this license does not distinguish between personal, internal or commercial use, the Microsoft Translator API itself does in fact make this distinction.
If you intend to use the Microsoft Translator API for commercial or high volume purposes, you would need to sign a commercial license agreement and provide your appID to the Microsoft Translator team. For more details contact [email protected]. This allows the Microsoft Translator team to better tune the service to the needs of our many partners, and avoid abuse.