10. A method comprising: under control of one or more processors: receiving, in a query window of an input method editor (IME), a query comprising one or more Latin input characters corresponding to one or more keys of a keyboard; determining a label of one or more portions of the query using a semantic lexicon comprising a list of terms, information about the terms, and term relationships; generating a plurality of text candidates comprising non-Latin characters based on i) the determined label of the one or more portions of the query, ii) an assigned score based at least in part on the label, and iii) a manifest defining a pattern to be matched by the query, wherein the assigned score is based at least in part on a matching of the query with the pattern, and wherein the label acts as a wildcard in the pattern such that terms labeled with the label in the semantic lexicon match a portion of the pattern corresponding to the label; generating at least one rich candidate based on a first semantic label of a first text candidate of the plurality of text candidates in the semantic lexicon and based on an input into the input area of the application; displaying, in a text candidate window of the IME, the plurality of text candidates; and displaying, in a rich candidate window of the IME, the at least one rich candidate, wherein the rich candidate includes at least one of a video and a map based on the first semantic label of the first text candidate, wherein the query window, the rich candidate window, and text candidate window are displayed adjacent to each other in the IME.
10. A method comprising: under control of one or more processors: receiving, in a query window of an input method editor (IME), a query comprising one or more Latin input characters corresponding to one or more keys of a keyboard; determining a label of one or more portions of the query using a semantic lexicon comprising a list of terms, information about the terms, and term relationships; generating a plurality of text candidates comprising non-Latin characters based on i) the determined label of the one or more portions of the query, ii) an assigned score based at least in part on the label, and iii) a manifest defining a pattern to be matched by the query, wherein the assigned score is based at least in part on a matching of the query with the pattern, and wherein the label acts as a wildcard in the pattern such that terms labeled with the label in the semantic lexicon match a portion of the pattern corresponding to the label; generating at least one rich candidate based on a first semantic label of a first text candidate of the plurality of text candidates in the semantic lexicon and based on an input into the input area of the application; displaying, in a text candidate window of the IME, the plurality of text candidates; and displaying, in a rich candidate window of the IME, the at least one rich candidate, wherein the rich candidate includes at least one of a video and a map based on the first semantic label of the first text candidate, wherein the query window, the rich candidate window, and text candidate window are displayed adjacent to each other in the IME. 13. The method as recited in claim 10 , wherein the determining of the label using the semantic lexicon includes using a fixed size bitmap indicating the semantic labeling of at least one portion of the query.