15. A non-transitory computer-readable medium having instructions stored thereon, that when executed by at least one processor, cause the processor to: receive a document in a first format, wherein the document comprises a text, supported non-text data, and unsupported non-text data; create, using a first filter associated with the first format, a universal text representation of the document, wherein the universal text representation presents the text and the supported non-text data, wherein the universal text representation preserves the unsupported non-text data by storage of an association of the unsupported non-text data with supported data from the document, wherein the universal text representation comprises a text tree, wherein the text tree comprises nodes that comprise one or more words and locations of the words, and wherein one or more of the nodes comprise attributes associated with formatting of the words; modify the universal text representation based upon input from a user of a program in a what you see is what you get (WYSIWYG) mode, wherein a location of where the supported data and the unsupported non-text data are kept is presented to the user, wherein, to modify the universal text representation, the instructions are further to cause the processor to translate the text presented in the universal text representation from a first language to a second language, wherein the first language is different than the second language, and wherein, to translate the text, the instructions are further to cause the processor to: receive a translation table representing the text in the second language, wherein the translation table comprises a correspondence between the words in the first language and translated words in the second language; create a copy of the text tree, wherein the copy of the text tree preserves the formatting of the words; and for each node among the nodes in the copy of the text tree, replace the words in the first language with the translated words based upon the translation table; and export, by the processor, the modified universal text representation using a second filter associated with a second format, wherein the supported data and the unsupported non-text data are exported.
15. A non-transitory computer-readable medium having instructions stored thereon, that when executed by at least one processor, cause the processor to: receive a document in a first format, wherein the document comprises a text, supported non-text data, and unsupported non-text data; create, using a first filter associated with the first format, a universal text representation of the document, wherein the universal text representation presents the text and the supported non-text data, wherein the universal text representation preserves the unsupported non-text data by storage of an association of the unsupported non-text data with supported data from the document, wherein the universal text representation comprises a text tree, wherein the text tree comprises nodes that comprise one or more words and locations of the words, and wherein one or more of the nodes comprise attributes associated with formatting of the words; modify the universal text representation based upon input from a user of a program in a what you see is what you get (WYSIWYG) mode, wherein a location of where the supported data and the unsupported non-text data are kept is presented to the user, wherein, to modify the universal text representation, the instructions are further to cause the processor to translate the text presented in the universal text representation from a first language to a second language, wherein the first language is different than the second language, and wherein, to translate the text, the instructions are further to cause the processor to: receive a translation table representing the text in the second language, wherein the translation table comprises a correspondence between the words in the first language and translated words in the second language; create a copy of the text tree, wherein the copy of the text tree preserves the formatting of the words; and for each node among the nodes in the copy of the text tree, replace the words in the first language with the translated words based upon the translation table; and export, by the processor, the modified universal text representation using a second filter associated with a second format, wherein the supported data and the unsupported non-text data are exported. 16. The non-transitory computer-readable medium of claim 15 , wherein the instructions are further to cause the processor to: determine that text ranges of two of the attributes of a node among the nodes are next to one another; determine that the two attributes can be combined; and combine the two attributes into a single attribute that covers the text ranges of the two attributes.