1. A computer-implemented method, comprising: receiving, at a computing device including one or more processors, a text string from a user via an application executing at the computing device; selecting, at the computing device, at least a portion of the text string to obtain an input text; determining, at the computing device, which of a plurality of text assistance services are appropriate to provide assistance to the user with respect to the input text to obtain one or more selected text assistance services by: (i) determining a degree of confidence for each of the plurality of text assistance services indicative of a degree of appropriateness for a specific text assistance service, and (ii) selecting each text assistance service having a degree of confidence greater than or equal to a minimum degree of confidence to obtain the one or more selected text assistance services, wherein each text assistance service is configured to provide the user with a different type of assistance with respect to the input text, and wherein each text assistance service has different rules or standards defining its selection based on detected characteristics of various languages, wherein at least one of the plurality of text assistance services is internal to the application and located at the computing device and wherein at least one of the plurality of text assistance services is located at a server located remotely from the computing device; obtaining, at the computing device, a text content from each of the one or more selected text assistance services, each text content representing information to assist the user with respect to the input text; sorting, at the computing device, the text content from each of the one or more text assistance services according to a weighted ranking criteria reflecting a relevance of each text content with respect to the input text to obtain sorted text content; and outputting, at the computing device, the sorted text content in a single window at the computing device.