BACKGROUND

When utilizing translation applications, a desirable goal is to achieve translation in real-time. The prevalence of Internet of Things (IoT) devices, many with no traditional input/output hardware, have popularized the use of various applications that utilize audio as an input. After all, utilizing applications that include speech recognition and can accept voice input can reduce the effort users spend on data entry and provide accessibility to users for whom, and users in environments where, manual entry is challenging. For audio entry to be efficient and useful, the workflows must be intuitive and user-friendly. In the case of a translation application utilizing audio as input, as a speaker provides content, one or more programs executing on a processor would provide the translation, in real-time. In order to provide this functionality, the one or more programs would recognize the language of the content to be translated. Existing translation systems are not suited to this workflow because to recognize an input language, these systems require pre-configurations which supply the language of the content, in order to translate the content into a second language. The pre-configurations are required because of the inherent difficulties in recognizing a language of content in real-time (e.g., there are six thousand nine hundred and nine (6,909) distinct languages in the world and the content provided may not be limited to a single language). Provided that the language of content can be recognized, another challenge is determining, on-the-fly, into what language the content should be translated. For example, an intended audience for the translation may include individuals (users, applications, etc.) with different priorities regarding the language of the translated content. Thus, the translation desired may not be apparent if not known (or configured) in advance.

SUMMARY

Shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method for determining an input language in a multilingual audio input stream for translation. The method includes, for instance: monitoring, by one or more processors, multilingual switches performed on a client on behalf of a given user, wherein service requests initiated by the client on behalf of the given user comprise a portion of the multilingual switches, wherein translation requests comprise a portion of the service requests, and wherein the translation requests each comprise a voice input stream and contextual data related to the voice input stream; based on the monitoring, identifying, by the one or more processors, based on the multilingual switches performed on the client, switch patterns of the given user to generate a service profile for the user, wherein the service profile comprises machine learned multilingual switch patterns for the given user; determining, by the one or more processors, based on the machine learned multilingual switch patterns for the given user, a priority order for languages comprising the voice input streams, for the given user; obtaining, by the one or more processors, a new translation request initiated by the client, on behalf of the given user; applying, by the one or more processors, the priority order to identify one or more languages spoken in a voice input stream comprising the new translation request; and transmitting, by the one or more processors, indicators of the identified one or more languages to the client, wherein upon receiving the indicators, the client translates the voice input stream from the identified one or more languages to one or more target languages.

Shortcomings of the prior art are overcome and additional advantages are provided through the provision of a computer program product for determining an input language in a multilingual audio input stream for translation. The computer program product comprises a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes, for instance: monitoring, by the one or more processors, multilingual switches performed on a client on behalf of a given user, wherein service requests initiated by the client on behalf of the given user comprise a portion of the multilingual switches, wherein translation requests comprise a portion of the service requests, and wherein the translation requests each comprise a voice input stream and contextual data related to the voice input stream; based on the monitoring, identifying, by the one or more processors, based on the multilingual switches performed on the client, switch patterns of the given user to generate a service profile for the user, wherein the service profile comprises machine learned multilingual switch patterns for the given user; determining, by the one or more processors, based on the machine learned multilingual switch patterns for the given user, a priority order for languages comprising the voice input streams, for the given user; obtaining, by the one or more processors, a new translation request initiated by the client, on behalf of the given user; applying, by the one or more processors, the priority order to identify one or more languages spoken in a voice input stream comprising the new translation request; and transmitting, by the one or more processors, indicators of the identified one or more languages to the client, wherein upon receiving the indicators, the client translates the voice input stream from the identified one or more languages to one or more target languages.

Methods and systems relating to one or more aspects are also described and claimed herein. Further, services relating to one or more aspects are also described and may be claimed herein.

Additional features are realized through the techniques described herein. Other embodiments and aspects are described in detail herein and are considered a part of the claimed aspects.

