Skip to content

groupdocs-translation-cloud/groupdocs-translation-cloud-java

Repository files navigation

Java SDK for Translating Cloud Documents

GitHub license

Product Page | Docs | Demos | Swagger UI | Examples | Blog | Search | Free Support | Free Trial

GroupDocs.Translation Cloud is Cloud API to translate Word (including RTF and TXT files), Excel (including CSV / TSV files), PowerPoint, PDF, HTML, Markdown (including Markdown with Hugo syntax), OpenDocument, RESX, SRT files, images of JPG, PNG, SVG, BMP and GIF formats, scanned PDFs, audio and video files as well as plain text.

For convenience of our Java customers, we introduce a simple SDK that assists to add translation of all document, image and media file formats mentioned above and plain text to your app with merely a few lines of code.

In detail, it's a set of SDKs for document and plain text translation in our Cloud. It supports translation of .doc, .docx, .docm, .xls, .xlsx, .xlsm, .ppt, .pptx, .pptm, .pdf, .html, .md, .odt, .ods, .odp, .csv, .tsv, .rtf, .txt, .resx, .srt, .png, .jpg, .svg, .bmp and .gif files. Just pass a specific file or text to the GroupDocs.Translation Cloud API, and it will translate and save translated file in S3 or will return translated text.

It is easy to get started with GroupDocs.Translation Cloud and there is nothing to install. Create an account at GroupDocs Cloud and get your application information, then you are ready to use SDKs.

Cloud Document Translation Features

  • Translation of Microsoft Word®, Microsoft Excel®, and Microsoft PowerPoint® documents
  • 46 languages and 140 languages pairs support
  • Translation of tables, headers, footers, footnotes/endnotes, image captions in Word documents and ODT files
  • Translation of cells, charts, tables, pivot tables in Excel documents and ODS files
  • Translation of text frames, tables, headers, footers, charts, comments in PowerPoint presentations and ODP filesAA
  • Translation of PDF files
  • Translation of Markdown files
  • Translation of Hugo syntax in Markdown files
  • Translation of plain text
  • Translation of .NET resources of RESX format
  • Translation of subtitles in SRT format
  • Translation of images and scanned PDFs getting plain text or PDF as a result
  • Translation of scanned tables getting Excel workbook as a result
  • Translation of handwritten text
  • Translation of audio files, including translation by providing a link
  • Translation of video files, including translation by providing a link

Supported Translation Formats

You shoukd specify format of document to translate putting in the request’s body the appropriate enum value.

Additionally, user could obtain translated file in any other format available for conversion. Just specify output format of translated document by putting file extension in the request’s body:

  • doc, docx, odt, rtf — docx, rtf, html, odt, txt, md, pdf, tiff, svg, xps
  • xls, xlsx, ods, csv, tsv — xlsx, xlsb, html, pdf, xps, ods, md, docx, pptx, tiff
  • ppt, pptx, odp — pptx, pdf, tiff, html, xps, odp
  • pdf — docx, pptx, html, svg, xps
  • md — html, pdf, docx, tiff, xps
  • html — md, pdf, docx, tiff, xps

Please visit Supported Formats for details.

Supported Translation Languages

  • en-fr / fr-en — to translate from English to French or from French to English.
  • en-de / de-en — to translate from English to German or from German to English.
  • en-es / es-en — to translate from English to Spanish or from Spanish to English.
  • en-it / it-en — to translate from English to Italian or from Italian to English.
  • en-zh / zh-en — to translate from English to Chinese or from Chinese to English.
  • en-ru / ru-en — to translate from English to Russian or from Russian to English
  • en-ar / ar-en — to translate from English to Arabic or from Arabic to English
  • en-pt / pt-en — to translate from English to Portuguese or from Portuguese to English
  • en-pl / pl-en — to translate from English to Polish or from Polish to English
  • en-uk / uk-en — to translate from English to Ukrainian or from Ukrainian to English
  • en-vi / vi-en — to translate from English to Vietnamese or from Vietnamese to English
  • en-id / id-en — to translate from English to Indonesian or from Indonesian to English
  • en-hi / hi-en — to translate from English to Hindi or from Hindi to English
  • en-el / el-en — to translate from English to Greek or from Greek to English
  • en-nl / nl-en— to translate from English to Dutch or from Dutch to English
  • en-hu / hu-en — to translate from English to Hunngarian or from Hungarian to English
  • en-sv / sv-en — to translate from English to Swedish or from Swedish to English
  • en-tr / tr-en — to translate from English to Turkish or from Turkish to English
  • en-ja / ja-en — to translate from English to Japanese or from Japanese to English
  • en-ko / ko-en — to translate from English to Korean or from Korean to English
  • en-cs / cs-en — to translate from English to Czech or from Czech to English
  • en-fi / fi-en — to translate from English to Finnish or from Finnish to English
  • en-ga / ga-en — to translate from English to Irish or from Irish to English
  • en-fa / fa-en — to translate from English to Farsi or from Farsi to English
  • en-az / az-en — to translate from English to Azerbaijani or from Azerbaijani to English
  • en-he / he-en — to translate from English to Hebrew or from Hebrew to English
  • en-sk / sk-en — to translate from English to Slovak or from Slovak to English
  • en-th / th-en — to translate from English to Thai or from Thai to English
  • en-ro / ro-en — to translate from English to Romanian or from Romanian to English
  • en-ms / ms-en — to translate from English to Malay or from Malay to English
  • en-bg / bg-en — to translate from English to Bulgarian or from Bulgarian to English
  • en-bn / bn-en — to translate from English to Bengali or from Bengali to English
  • en-da / da-en — to translate from English to Danish or from Danish to English
  • en-lt / lt-en — to translate from English to Lithuanian or from Lithuanian to English
  • en-lv / lv-en — to translate from English to Latvian or from Latvian to English
  • en-no / no-en — to translate from English to Norwegian or from Norwegian to English
  • en-et / et-en — to translate from English to Estonian or from Estonian to English
  • en-hy / hy-en — to translate from English to Armenian or from Armenian to English
  • en-ca / ca-en — to translate from English to Catalan or from Catalan to English
  • en-hr / hr-en — to translate from English to Croatian or from Croatian to English
  • en-sr / sr-en — to translate from English to Serbian or from Serbian to English
  • en-af / af-en — to translate from English to Afrikaans or from Afrikaans to English
  • en-ur / ur-en — to translate from English to Urdu or from Urdu to English
  • en-tl / tl-en — to translate from English to Tagalog or from Tagalog to English
  • en-ka / ka-en — to translate from English to Georgian or from Georgian to English
  • fr-de / de-fr — to translate from French to German or from German to French
  • fr-it / it-fr — to translate from French to Italian or from Italian to French
  • fr-ar / ar-fr — to translate from French to Arabic or from Arabic to French
  • fr-es / es-fr — to translate from French to Spanish or from Spanish to French
  • fr-id / id-fr — to translate from French to Indonesian or from Indonesian to French
  • fr-ms / ms-fr — to translate from French to Malay or from Malay to French
  • fr-pl / pl-fr — to translate from French to Polish or from Polish to French
  • fr-ru / ru-fr — to translate from French to Russian or from Russian to French
  • fr-ar / ar-fr — to translate from French to Arabic or from Arabic to French
  • de-it / it-de — to translate from German to Italian or from Italian to German
  • de-pl / pl-de — to translate from German to Polish or from Polish to German
  • de-ar / ar-de — to translate from German to Arabic or from Arabic to German
  • de-zh / zh-de — to translate from German to Chinese or from Chinese to German
  • de-es / es-de — to translate from German to Spanish or from Spanish to German
  • de-ms / ms-de — to translate from German to Malay or from Malay to German
  • de-uk / uk-de — to translate from German to Ukrainian or from Ukrainian to German
  • it-es / es-it — to translate from Italian to Spanish or from Spanish to Italian
  • it-ar / ar-it — to translate from Italian to Arabic or from Arabic to Italian
  • it-uk / uk-it — to translate from Italian to Ukrainian or from Ukrainian to Italian
  • it-ms / ms-it — to translate from Italian to Malay or from Malay to Italian
  • sv-zh / zh-sv — to translate from Swedish to Chinese or from Chinese to Swedish
  • ar-es / es-ar — to translate from Arabic to Spanish or from Spaish to Arabic
  • ar-tr / tr-ar — to translate from Arabic to Turkish or from Turkish to Arabic
  • ar-pl / pl-ar — to translate from Arabic to Polish or from Polish to Arabic
  • ru-es / es-ru — to translate from Russian to Spanish or from Spaish to Russian

JSON Request Details

You can put the following information in the requests body to translate a document:

  • format — format of file for translation
  • outputFormat — format of translated file (e.g. pdf)
  • sourceLanguage — language of original document (e.g. en)
  • targetLanguages — languages of translation as list (e.g. [fr, de])
  • file — file to translate in form of array of bytes
  • url — link to file to translate, either file or url should be provided
  • originalFileName — original name of file to translate, if null or empty request id will be used
  • masters — if masters slides should be translated (only for presentations, pass true or false)
  • elements — slide pages to translate (only for presentations, pass empty list to translate whole presentation)
  • separator — delimiter for CSV files
  • ranges - dictionary of ranges in Excel workbook
  • shortcodedict — dictionary of short code syntax in Hugo to translate, where the key is zero based short code index, and value is a list of parameters names that require translation
  • frontmatterdict — dictionary of front matter syntax in Hugo to translate, where the key is zero based front matter index and value is list of paths to values that require translation, each path is also a list.

To translate plain text the following information should be put in the requests body:

  • sourceLanguage — language of original text (e.g. en)
  • targetLanguages — languages of translation as list (e.g. [fr, de])
  • texts — list of texts to translate (e.g. [hello world])
  • contains-markdown — true if text contains markdown syntax

How to use the SDK?

Our API is completely independent of your operating system, database system, or development language. You can use any language and platform that supports HTTP to interact with our API. However, manually writing client code can be difficult, error-prone, and time-consuming. Therefore, we have provided and support SDKs in many development languages to make it easier for your Cloud Apps to integrate with us.

Get API keys if you haven't

Make a personal account on GroupDocs Cloud Dashboard and click Get Keys. These keys are useful for all GroupDocs Cloud products. If you have any trouble, look at this detailed manual. Once your keys are received, please follow this article to try GroupDocs.Translation Cloud or familiarize with Developer guide for further details.

Requirements

Building the API client library requires:

  1. Java 1.8+
  2. Maven (3.8.3+)/Gradle (7.2+)

Installation

To install the API client library to your local Maven repository, simply execute:

mvn clean install

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

mvn clean deploy

Refer to the OSSRH Guide for more information.

Maven users

Add this dependency to your project's POM:

<dependency>
  <groupId>com.groupdocs</groupId>
  <artifactId>GroupDocs-translation-cloud</artifactId>
  <version>24.11</version>
  <scope>compile</scope>
</dependency>

Gradle users

Add this dependency to your project's build file:

  repositories {
    mavenCentral()     // Needed if the 'GroupDocs-translation-cloud' jar has been published to maven central.
    mavenLocal()       // Needed if the 'GroupDocs-translation-cloud' jar has been published to the local maven repo.
  }

  dependencies {
     implementation "com.groupdocs:GroupDocs-translation-cloud:24.11"
  }

Others

At first generate the JAR by executing:

mvn clean package

Then manually install the following JARs:

  • target/GroupDocs-translation-cloud-24.11.jar
  • target/lib/*.jar

Getting Started

Please follow the installation instruction and execute the following Java code:

// Import classes:
import com.groupdocs.ApiClient;
import com.groupdocs.ApiException;
import com.groupdocs.Configuration;
import com.groupdocs.auth.*;
import com.groupdocs.models.*;
import org.openapitools.client.api.TranslationApi;

public class Example {
    public static void main(String[] args) {
        String basePath = "https://api.groupdocs.cloud/v2.0/translation";
        String cliendId = "YOUR_CLIENT_ID";
        String clientSecret = "YOUR_CLIENT_SECRET";

        ApiClient defaultClient = new ApiClient(basePath, cliendId, clientSecret, null);

        TranslationApi apiInstance = new TranslationApi(defaultClient);
        TextRequest request = new TextRequest();
        request.setSourceLanguage("en");
        request.addTargetLanguagesItem("de");
        request.addTextsItem("Text to translate");

        try {
            CloudTextResponse cloudTextResponse = apiInstance.textRequestIdGet(apiInstance.textPost(request).getId());
            System.out.println(cloudTextResponse);
        } catch (ApiException e) {
            System.err.println("Exception when calling TranslationApi#autoPost");
            System.err.println("Status code: " + e.getCode());
            System.err.println("Reason: " + e.getResponseBody());
            System.err.println("Response headers: " + e.getResponseHeaders());
            e.printStackTrace();
        }
  }
}

Documentation for API Endpoints

All URIs are relative to https://api.groupdocs.cloud/v2.0/translation

Class Method HTTP request Description
FileApi fileUploadPost POST /file/upload
SwaggerApi swaggerSpecGet GET /swagger/spec
TranslationApi autoPost POST /auto Translate any supported file
TranslationApi csvPost POST /csv Translate CSV and TSV files
TranslationApi documentPost POST /document Translate Microsoft Word documents, rtf, txt, odt
TranslationApi documentRequestIdGet GET /document/{requestId} Return document translation status. Also return URLs for downloading of translated document if translation was successful
TranslationApi documentTrialGet GET /document/trial Return document translation status for trial request. Also return URLs for downloading of translated document if translation was successful
TranslationApi documentTrialPost POST /document/trial Trial translate Microsoft Word documents, rtf, txt, odt without conversation. Translate only first page or 1000 symbols.
TranslationApi hcGet GET /hc Health check for all services.
TranslationApi htmlPost POST /html Translate HTML files
TranslationApi hugoGet GET /hugo Get hugo syntax structure from markdown file
TranslationApi hugoPost POST /hugo Run hugo syntax structure analyzing from markdown file
TranslationApi imageToFilePost POST /image-to-file Translate image or scanned pdf and return file
TranslationApi imageToTextPost POST /image-to-text Translate text on image or scanned pdf
TranslationApi languagesGet GET /languages Return list of available language pairs
TranslationApi markdownPost POST /markdown Translate Markdown files
TranslationApi mediaToFilePost POST /media-to-file Translate audio or video and return file as a result
TranslationApi mediaToTextPost POST /media-to-text Translate audio or video and return text as a result
TranslationApi pdfPost POST /pdf Translate pdf files
TranslationApi pdfTrialPost POST /pdf/trial Trial pdf translation. Translate only first page without conversion to another format.
TranslationApi presentationPost POST /presentation Translate Microsoft PowerPoint presentations, odp
TranslationApi resxPost POST /resx Translate Resx files
TranslationApi spreadsheetPost POST /spreadsheet Translate Microsoft Excel workbooks, ods
TranslationApi srtPost POST /srt Translate Srt files
TranslationApi textPost POST /text Translate text
TranslationApi textRequestIdGet GET /text/{requestId} Return text translation status. Also return translated text if translation was successful
TranslationApi textTrialGet GET /text/trial Return text translation status for trial requests. Also return translated text if translation was successful
TranslationApi textTrialPost POST /text/trial Trial translate text. Translate only 1000 symbols.
TranslationApi xmlPost POST /xml Translate XML files

Documentation for Models

GroupDocs.Translation Cloud SDKs in Popular Languages

.NET Java Python Android
GitHub GitHub GitHub GitHub
NuGet Maven PIP Maven

Product Page | Docs | Demos | Swagger UI | Examples | Blog | Search | Free Support | Free Trial

About

Java library for communicating with the GroupDocs.Translation Cloud API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages