/* * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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. */ package com.amazonaws.services.translate; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.translate.model.*; /** * Interface for accessing Amazon Translate *

* Provides translation of the input content from the source language to the * target language. *

**/ public interface AmazonTranslate { /** * Overrides the default endpoint for this client * ("https://translate.us-east-1.amazonaws.com"). Callers can use this * method to control which AWS region they want to work with. *

* Callers can pass in just the endpoint (ex: * "translate.us-east-1.amazonaws.com") or a full URL, including the * protocol (ex: "https://translate.us-east-1.amazonaws.com"). If the * protocol is not specified here, the default protocol from this client's * {@link ClientConfiguration} will be used, which by default is HTTPS. *

* For more information on using AWS regions with the AWS SDK for Java, and * a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID= * 3912 *

* This method is not threadsafe. An endpoint should be configured when * the client is created and before any service requests are made. Changing * it afterwards creates inevitable race conditions for any service requests * in transit or retrying. * * @param endpoint The endpoint (ex: "translate.us-east-1.amazonaws.com") or * a full URL, including the protocol (ex: * "https://translate.us-east-1.amazonaws.com") of the region * specific AWS endpoint this client will communicate with. * @throws IllegalArgumentException If any problems are detected with the * specified endpoint. */ public void setEndpoint(String endpoint) throws java.lang.IllegalArgumentException; /** * An alternative to {@link AmazonTranslate#setEndpoint(String)}, sets the * regional endpoint for this client's service calls. Callers can use this * method to control which AWS region they want to work with. *

* By default, all service endpoints in all regions use the https protocol. * To use http instead, specify it in the {@link ClientConfiguration} * supplied at construction. *

* This method is not threadsafe. A region should be configured when the * client is created and before any service requests are made. Changing it * afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param region The region this client will communicate with. See * {@link Region#getRegion(com.amazonaws.regions.Regions)} for * accessing a given region. * @throws java.lang.IllegalArgumentException If the given region is null, * or if this service isn't available in the given region. See * {@link Region#isServiceSupported(String)} * @see Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, * com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) */ public void setRegion(Region region) throws java.lang.IllegalArgumentException; /** *

* Creates a parallel data resource in Amazon Translate by importing an * input file from Amazon S3. Parallel data files contain examples that show * how you want segments of text to be translated. By adding parallel data, * you can influence the style, tone, and word choice in your translation * output. *

* * @param createParallelDataRequest * @return createParallelDataResult The response from the CreateParallelData * service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws InvalidRequestException * @throws LimitExceededException * @throws TooManyRequestsException * @throws TooManyTagsException * @throws ConflictException * @throws ConcurrentModificationException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ CreateParallelDataResult createParallelData(CreateParallelDataRequest createParallelDataRequest) throws AmazonClientException, AmazonServiceException; /** *

* Deletes a parallel data resource in Amazon Translate. *

* * @param deleteParallelDataRequest * @return deleteParallelDataResult The response from the DeleteParallelData * service method, as returned by Amazon Translate. * @throws ConcurrentModificationException * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ DeleteParallelDataResult deleteParallelData(DeleteParallelDataRequest deleteParallelDataRequest) throws AmazonClientException, AmazonServiceException; /** *

* A synchronous action that deletes a custom terminology. *

* * @param deleteTerminologyRequest * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InvalidParameterValueException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ void deleteTerminology(DeleteTerminologyRequest deleteTerminologyRequest) throws AmazonClientException, AmazonServiceException; /** *

* Gets the properties associated with an asynchronous batch translation job * including name, ID, status, source and target languages, input/output S3 * buckets, and so on. *

* * @param describeTextTranslationJobRequest * @return describeTextTranslationJobResult The response from the * DescribeTextTranslationJob service method, as returned by Amazon * Translate. * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ DescribeTextTranslationJobResult describeTextTranslationJob( DescribeTextTranslationJobRequest describeTextTranslationJobRequest) throws AmazonClientException, AmazonServiceException; /** *

* Provides information about a parallel data resource. *

* * @param getParallelDataRequest * @return getParallelDataResult The response from the GetParallelData * service method, as returned by Amazon Translate. * @throws ResourceNotFoundException * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ GetParallelDataResult getParallelData(GetParallelDataRequest getParallelDataRequest) throws AmazonClientException, AmazonServiceException; /** *

* Retrieves a custom terminology. *

* * @param getTerminologyRequest * @return getTerminologyResult The response from the GetTerminology service * method, as returned by Amazon Translate. * @throws ResourceNotFoundException * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ GetTerminologyResult getTerminology(GetTerminologyRequest getTerminologyRequest) throws AmazonClientException, AmazonServiceException; /** *

* Creates or updates a custom terminology, depending on whether one already * exists for the given terminology name. Importing a terminology with the * same name as an existing one will merge the terminologies based on the * chosen merge strategy. The only supported merge strategy is OVERWRITE, * where the imported terminology overwrites the existing terminology of the * same name. *

*

* If you import a terminology that overwrites an existing one, the new * terminology takes up to 10 minutes to fully propagate. After that, * translations have access to the new terminology. *

* * @param importTerminologyRequest * @return importTerminologyResult The response from the ImportTerminology * service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws LimitExceededException * @throws TooManyRequestsException * @throws TooManyTagsException * @throws ConcurrentModificationException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ ImportTerminologyResult importTerminology(ImportTerminologyRequest importTerminologyRequest) throws AmazonClientException, AmazonServiceException; /** *

* Provides a list of languages (RFC-5646 codes and names) that Amazon * Translate supports. *

* * @param listLanguagesRequest * @return listLanguagesResult The response from the ListLanguages service * method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws UnsupportedDisplayLanguageCodeException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ ListLanguagesResult listLanguages(ListLanguagesRequest listLanguagesRequest) throws AmazonClientException, AmazonServiceException; /** *

* Provides a list of your parallel data resources in Amazon Translate. *

* * @param listParallelDataRequest * @return listParallelDataResult The response from the ListParallelData * service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ ListParallelDataResult listParallelData(ListParallelDataRequest listParallelDataRequest) throws AmazonClientException, AmazonServiceException; /** *

* Lists all tags associated with a given Amazon Translate resource. For * more information, see * Tagging your resources. *

* * @param listTagsForResourceRequest * @return listTagsForResourceResult The response from the * ListTagsForResource service method, as returned by Amazon * Translate. * @throws InvalidParameterValueException * @throws ResourceNotFoundException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ ListTagsForResourceResult listTagsForResource( ListTagsForResourceRequest listTagsForResourceRequest) throws AmazonClientException, AmazonServiceException; /** *

* Provides a list of custom terminologies associated with your account. *

* * @param listTerminologiesRequest * @return listTerminologiesResult The response from the ListTerminologies * service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ ListTerminologiesResult listTerminologies(ListTerminologiesRequest listTerminologiesRequest) throws AmazonClientException, AmazonServiceException; /** *

* Gets a list of the batch translation jobs that you have submitted. *

* * @param listTextTranslationJobsRequest * @return listTextTranslationJobsResult The response from the * ListTextTranslationJobs service method, as returned by Amazon * Translate. * @throws InvalidRequestException * @throws TooManyRequestsException * @throws InvalidFilterException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ ListTextTranslationJobsResult listTextTranslationJobs( ListTextTranslationJobsRequest listTextTranslationJobsRequest) throws AmazonClientException, AmazonServiceException; /** *

* Starts an asynchronous batch translation job. Use batch translation jobs * to translate large volumes of text across multiple documents at once. For * batch translation, you can input documents with different source * languages (specify auto as the source language). You can * specify one or more target languages. Batch translation translates each * input document into each of the target languages. For more information, * see * Asynchronous batch processing. *

*

* Batch translation jobs can be described with the * DescribeTextTranslationJob operation, listed with the * ListTextTranslationJobs operation, and stopped with the * StopTextTranslationJob operation. *

* * @param startTextTranslationJobRequest * @return startTextTranslationJobResult The response from the * StartTextTranslationJob service method, as returned by Amazon * Translate. * @throws TooManyRequestsException * @throws UnsupportedLanguagePairException * @throws InvalidRequestException * @throws ResourceNotFoundException * @throws InvalidParameterValueException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ StartTextTranslationJobResult startTextTranslationJob( StartTextTranslationJobRequest startTextTranslationJobRequest) throws AmazonClientException, AmazonServiceException; /** *

* Stops an asynchronous batch translation job that is in progress. *

*

* If the job's state is IN_PROGRESS, the job will be marked * for termination and put into the STOP_REQUESTED state. If * the job completes before it can be stopped, it is put into the * COMPLETED state. Otherwise, the job is put into the * STOPPED state. *

*

* Asynchronous batch translation jobs are started with the * StartTextTranslationJob operation. You can use the * DescribeTextTranslationJob or ListTextTranslationJobs * operations to get a batch translation job's JobId. *

* * @param stopTextTranslationJobRequest * @return stopTextTranslationJobResult The response from the * StopTextTranslationJob service method, as returned by Amazon * Translate. * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ StopTextTranslationJobResult stopTextTranslationJob( StopTextTranslationJobRequest stopTextTranslationJobRequest) throws AmazonClientException, AmazonServiceException; /** *

* Associates a specific tag with a resource. A tag is a key-value pair that * adds as a metadata to a resource. For more information, see * Tagging your resources. *

* * @param tagResourceRequest * @return tagResourceResult The response from the TagResource service * method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws ConcurrentModificationException * @throws ResourceNotFoundException * @throws TooManyTagsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest) throws AmazonClientException, AmazonServiceException; /** *

* Translates the input document from the source language to the target * language. This synchronous operation supports plain text or HTML for the * input document. TranslateDocument supports translations from * English to any supported language, and from any supported language to * English. Therefore, specify either the source language code or the target * language code as “en” (English). *

*

* TranslateDocument does not support language auto-detection. *

*

* If you set the Formality parameter, the request will fail if * the target language does not support formality. For a list of target * languages that support formality, see Setting formality. *

* * @param translateDocumentRequest * @return translateDocumentResult The response from the TranslateDocument * service method, as returned by Amazon Translate. * @throws InvalidRequestException * @throws LimitExceededException * @throws TooManyRequestsException * @throws ResourceNotFoundException * @throws UnsupportedLanguagePairException * @throws InternalServerException * @throws ServiceUnavailableException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ TranslateDocumentResult translateDocument(TranslateDocumentRequest translateDocumentRequest) throws AmazonClientException, AmazonServiceException; /** *

* Translates input text from the source language to the target language. * For a list of available languages and language codes, see Supported languages. *

* * @param translateTextRequest * @return translateTextResult The response from the TranslateText service * method, as returned by Amazon Translate. * @throws InvalidRequestException * @throws TextSizeLimitExceededException * @throws TooManyRequestsException * @throws UnsupportedLanguagePairException * @throws DetectedLanguageLowConfidenceException * @throws ResourceNotFoundException * @throws InternalServerException * @throws ServiceUnavailableException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ TranslateTextResult translateText(TranslateTextRequest translateTextRequest) throws AmazonClientException, AmazonServiceException; /** *

* Removes a specific tag associated with an Amazon Translate resource. For * more information, see * Tagging your resources. *

* * @param untagResourceRequest * @return untagResourceResult The response from the UntagResource service * method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws ConcurrentModificationException * @throws ResourceNotFoundException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest) throws AmazonClientException, AmazonServiceException; /** *

* Updates a previously created parallel data resource by importing a new * input file from Amazon S3. *

* * @param updateParallelDataRequest * @return updateParallelDataResult The response from the UpdateParallelData * service method, as returned by Amazon Translate. * @throws ConcurrentModificationException * @throws InvalidParameterValueException * @throws InvalidRequestException * @throws LimitExceededException * @throws TooManyRequestsException * @throws ConflictException * @throws ResourceNotFoundException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ UpdateParallelDataResult updateParallelData(UpdateParallelDataRequest updateParallelDataRequest) throws AmazonClientException, AmazonServiceException; /** * Shuts down this client object, releasing any resources that might be held * open. This is an optional method, and callers are not expected to call * it, but can if they want to explicitly release any open resources. Once a * client has been shutdown, it should not be used to make any more * requests. */ public void shutdown(); /** * Returns additional metadata for a previously executed successful request, * typically used for debugging issues where a service isn't acting as * expected. This data isn't considered part of the result data returned by * an operation, so it's available through this separate, diagnostic * interface. *

* Response metadata is only cached for a limited period of time, so if you * need to access this extra diagnostic information for an executed request, * you should use this method to retrieve it as soon as possible after * executing a request. * * @param request The originally executed request. * @return The response metadata for the specified request, or null if none * is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }