1. A computer implemented language interpretation platform, for providing a language interpretation session between a user and a human staff language interpreter, comprising: a processor that determines available languages for which language interpretation resources are currently available based on at least one user criterion and language interpreter availability, wherein the processor also determines available modalities for the available languages, wherein the available modalities are selected from the group consisting of: voice, text, and video; and a routing engine that receives, via an Application Programming Interface, a request, from a computing device being used by the user, for the available languages and sends the available languages and the available modalities to the computing device such that the computing device displays the available languages and, after receiving a user selection of one of the available languages, displays the available modalities for the user selected language and receives a user selection of one of the available modalities for establishing a language interpretation session with a language interpreter for the user selected language, wherein the request includes the at least one user criterion, the routing engine further sending a real-time update of the available modalities to the computing device prior to a user selection of one of the available modalities such that the computing device changes the available modalities that are displayed based on the real-time update, the real-time update being based on a change in the modality availability.