Added in API level 31

TranslationManager

class TranslationManager
kotlin.Any
   ↳ android.view.translation.TranslationManager

The TranslationManager class provides ways for apps to integrate and use the translation framework.

The TranslationManager manages Translators and help bridge client calls to the server translation service

Summary

Public methods
Unit

Adds a TranslationCapability Consumer to listen for updates on states of on-device TranslationCapabilitys.

Unit
createOnDeviceTranslator(translationContext: TranslationContext, executor: Executor, callback: Consumer<Translator!>)

Creates an on-device Translator for natural language translation.

MutableSet<TranslationCapability!>
getOnDeviceTranslationCapabilities(sourceFormat: Int, targetFormat: Int)

Returns a set of TranslationCapabilitys describing the capabilities for on-device Translators.

PendingIntent?

Returns an immutable PendingIntent which can be used to launch an activity to view/edit on-device translation settings.

Unit

Removes a TranslationCapability Consumer to listen for updates on states of on-device TranslationCapabilitys.

Public methods

addOnDeviceTranslationCapabilityUpdateListener

Added in API level 31
fun addOnDeviceTranslationCapabilityUpdateListener(
    executor: Executor,
    capabilityListener: Consumer<TranslationCapability!>
): Unit

Adds a TranslationCapability Consumer to listen for updates on states of on-device TranslationCapabilitys.

Parameters
capabilityListener Consumer<TranslationCapability!>: a TranslationCapability Consumer to receive the updated TranslationCapability from the on-device translation service. This value cannot be null.
executor Executor: This value cannot be null. Callback and listener events are dispatched through this Executor, providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use Context.getMainExecutor(). Otherwise, provide an Executor that dispatches to an appropriate thread.

createOnDeviceTranslator

Added in API level 31
fun createOnDeviceTranslator(
    translationContext: TranslationContext,
    executor: Executor,
    callback: Consumer<Translator!>
): Unit

Creates an on-device Translator for natural language translation.

In Android 12, this method provided the same cached Translator object when given the same TranslationContext object. Do not use a Translator destroyed elsewhere as this will cause an exception on Android 12.

In later versions, this method never returns a cached Translator.

Parameters
translationContext TranslationContext: TranslationContext containing the specs for creating the Translator. This value cannot be null.
executor Executor: Executor to run callback operations This value cannot be null. Callback and listener events are dispatched through this Executor, providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use Context.getMainExecutor(). Otherwise, provide an Executor that dispatches to an appropriate thread.
callback Consumer<Translator!>: Consumer to receive the translator. A null value is returned if the service could not create the translator.

getOnDeviceTranslationCapabilities

Added in API level 31
fun getOnDeviceTranslationCapabilities(
    sourceFormat: Int,
    targetFormat: Int
): MutableSet<TranslationCapability!>

Returns a set of TranslationCapabilitys describing the capabilities for on-device Translators.

These translation capabilities contains a source and target TranslationSpec representing the data expected for both ends of translation process. The capabilities provides the information and limitations for generating a TranslationContext. The context object can then be used by createOnDeviceTranslator(android.view.translation.TranslationContext,java.util.concurrent.Executor,java.util.function.Consumer) to obtain a Translator for translations.

NOTE: Call on a worker thread.
This method may take several seconds to complete, so it should only be called from a worker thread.

Parameters
sourceFormat Int: data format for the input data to be translated. Value is android.view.translation.TranslationSpec#DATA_FORMAT_TEXT
targetFormat Int: data format for the expected translated output data. Value is android.view.translation.TranslationSpec#DATA_FORMAT_TEXT
Return
MutableSet<TranslationCapability!> A set of TranslationCapabilitys. This value cannot be null.

getOnDeviceTranslationSettingsActivityIntent

Added in API level 31
fun getOnDeviceTranslationSettingsActivityIntent(): PendingIntent?

Returns an immutable PendingIntent which can be used to launch an activity to view/edit on-device translation settings.

Return
PendingIntent? An immutable PendingIntent or null if one of reason met:
  • Device manufacturer (OEM) does not provide TranslationService.
  • The TranslationService doesn't provide the Settings.

removeOnDeviceTranslationCapabilityUpdateListener

Added in API level 31
fun removeOnDeviceTranslationCapabilityUpdateListener(capabilityListener: Consumer<TranslationCapability!>): Unit

Removes a TranslationCapability Consumer to listen for updates on states of on-device TranslationCapabilitys.

Parameters
capabilityListener Consumer<TranslationCapability!>: the TranslationCapability Consumer to unregister This value cannot be null.