@Override
    public String toString () {
        String s = "Day " + (LineManager.dayNum + 1) + " {" + "\n";
        
        // Print Translations
        for (int i = 0; i < spTransNum || i < enTransNum; i++) {
            // ts (Spanish) and te (English) are purely for speed's sake.
            String ts = trans[i].words[0];
            String te = trans[i].words[1];
            //if (ts == null) ts = "";
            //if (te == null) te = "";
            s += ts + transForm + te + "\n";
        }
        
        // Print Descriptions
        for (int i = 0; i < descNum; i++) {
            s += "\n" + desc[i] + "\n" + "\n";
        }
        
        // Print Sub-Conjugations
        for (int i = 199; i > subConjNum; i--) {
            s += trans[i].words[0] + subConjForm + trans[i].words[1] + "\n";
        }
        
        // Print Conjugations        
        for (int i = 0; i < conjNum ; i++) {
            /* Each word needs to be centered on a bar that's 2 characters longer
            than the length of the longest word. Correction adds an exra space
            to the centering in a case of an odd max lenght.
            */
            int l = conj[i].conj[getMaxElement(conj[i].conj)].length() + 3;
        
            //String[] correction = new String[3];
        // TODO Fix the centering algorithm for odd numbered longest elements.
            //for (int i2 = 1; i2 < 4; i2++) {
            //    if (conj[i].conj[i2].length() % 2 == 0) {
            //        correction[i2 - 1] = "";
            //    } else {
            //        correction[i2 - 1] = " ";
            //    }
            //}
        
            String title;
        
            // Centers the title of the chart, considering the chart's shape.
            title = center(conj[i].conj[0] + ":", (2 * l) + 2);
            
            char[] frameArray = new char [l];
            Arrays.fill(frameArray, '-');
            String chartFrame = new String (frameArray);
            
            
            s += "\n" + title +"\n";
            s += center(conj[i].conj[1], l) + "|" + center(conj[i].conj[4], l) + "\n";
            s += chartFrame + "|" + chartFrame + "\n";
            s += center(conj[i].conj[2], l) + "|" + center("X", l) + "\n";
            s += chartFrame + "|" + chartFrame + "\n";
            s += center(conj[i].conj[3], l) + "|" + center(conj[i].conj[5], l) + "\n";
        }
        
        return s + "}" + "\n";
    }