1. A method, comprising: generating a string of characters based on a set of rules; parsing the string of characters into a first string of graphemes; adding one or more characters to the first string of graphemes to represent missing characters in the string of characters to create a second string of graphemes; grouping the second string of graphemes into a plurality of pseudo-graphemes, wherein two or more graphemes in the second string of graphemes that are phonetized together are grouped to a single pseudo-grapheme; accessing a first data structure that maps each pseudo-grapheme in the plurality of pseudo-graphemes to one or more universal phonetic representations based on an international phonetic alphabet, wherein the first data structure comprises a plurality of first nodes with each first node of the plurality of first nodes having a respective weight assigned that corresponds to a pronunciation of a first grapheme; determining one or more phonetic representations for each pseudo-grapheme in the plurality of pseudo-graphemes based on the first data structure; accessing a second data structure that maps the one or more universal phonetic representations to one or more graphemes in a third string of graphemes, wherein the second data structure comprises a plurality of second nodes with each second node of the plurality of second nodes having a respective weight assigned that corresponds to a likely representation of a second grapheme; determining at least one grapheme representation for one or more of the one or more phonetic representations based on the second data structure; constructing a second phonetic representation of the string of characters based on the at least one grapheme representation that was determined; providing the second phonetic representation to a domain name verifier to determine that the phonetic representation is available to be registered as a domain name; and providing an offer to a user to register the second phonetic representation with a domain name system.