A language detection system, comprising: a processing system comprising one or more processors; and a memory configured to store program code to be executed by the one or more processors, the program code including: an input analyzer configured to: receive handwritten inputs from an input interface, the handwritten inputs including one or more writing strokes; and group the handwritten inputs into words; and an engine selector configured to: provide the handwritten inputs to a specific language recognition engine of a plurality of language recognition engines to determine a language associated with the handwritten inputs, wherein the input analyzer is further configured to: associate the handwritten inputs with sets of coordinate-time pairs; and group the handwritten inputs into words based at least on the sets of coordinate-time pairs; and wherein the program code further includes a detection manager configured to: normalize the one or more writing strokes that correspond to the words to generate normalized words; transform the normalized words individually to generate language vectors for the normalized words; and determine at least one language probability based at least on the language vectors to select the specific language recognition engine. a processing system comprising one or more processors; and a memory configured to store program code to be executed by the one or more processors, the program code including: an input analyzer configured to: receive handwritten inputs from an input interface, the handwritten inputs including one or more writing strokes; and group the handwritten inputs into words; and an engine selector configured to: provide the handwritten inputs to a specific language recognition engine of a plurality of language recognition engines to determine a language associated with the handwritten inputs, wherein the input analyzer is further configured to: associate the handwritten inputs with sets of coordinate-time pairs; and group the handwritten inputs into words based at least on the sets of coordinate-time pairs; and wherein the program code further includes a detection manager configured to: normalize the one or more writing strokes that correspond to the words to generate normalized words; transform the normalized words individually to generate language vectors for the normalized words; and determine at least one language probability based at least on the language vectors to select the specific language recognition engine. an input analyzer configured to: receive handwritten inputs from an input interface, the handwritten inputs including one or more writing strokes; and group the handwritten inputs into words; and receive handwritten inputs from an input interface, the handwritten inputs including one or more writing strokes; and group the handwritten inputs into words; and an engine selector configured to: provide the handwritten inputs to a specific language recognition engine of a plurality of language recognition engines to determine a language associated with the handwritten inputs, provide the handwritten inputs to a specific language recognition engine of a plurality of language recognition engines to determine a language associated with the handwritten inputs, wherein the input analyzer is further configured to: associate the handwritten inputs with sets of coordinate-time pairs; and group the handwritten inputs into words based at least on the sets of coordinate-time pairs; and associate the handwritten inputs with sets of coordinate-time pairs; and group the handwritten inputs into words based at least on the sets of coordinate-time pairs; and wherein the program code further includes a detection manager configured to: normalize the one or more writing strokes that correspond to the words to generate normalized words; transform the normalized words individually to generate language vectors for the normalized words; and determine at least one language probability based at least on the language vectors to select the specific language recognition engine. normalize the one or more writing strokes that correspond to the words to generate normalized words; transform the normalized words individually to generate language vectors for the normalized words; and determine at least one language probability based at least on the language vectors to select the specific language recognition engine.