1. A method for automatically detecting a language of an Internationalized Domain Name (IDN), the method comprising: receiving, via an I/O interface, a string of characters for the IDN; determining, using one or more processors, a plurality of candidate languages based on analyzing the string of characters for the IDN, wherein the determining comprises: extracting a set of multi-grams from the string of characters, comparing the set of multi-grams against stored multi-grams which were previously extracted from samples of loaded training data for each language of a set of candidate languages, and calculating a probability score for each language of the set of candidate languages, and wherein each language in the plurality of candidate languages shares some or all characters with the other languages in the plurality of candidate languages or belongs to the same language family as the other languages in the plurality of candidate languages; presenting, via an I/O interface, the plurality of candidate languages to a user; receiving, via an I/O interface, a user selected language of the plurality of candidate languages corresponding to the IDN; and using the IDN to automatically generate a domain name in response to receiving the user selected language.