/// <summary> /// For each group of editable elements in the div which have lang attributes (normally, a .bloom-translationGroup div), /// make a new element with the lang code of the vernacular (normally, a .bloom-editable). /// Also enable/disable editing as warranted (e.g. in shell mode or not) /// </summary> public static void PrepareElementsInPageOrDocument(XmlNode pageOrDocumentNode, BookData bookData) { GenerateEditableDivsWithPreTranslatedContent(pageOrDocumentNode); foreach (var code in bookData.GetBasicBookLanguageCodes()) { PrepareElementsOnPageOneLanguage(pageOrDocumentNode, code); } FixGroupStyleSettings(pageOrDocumentNode); }
/// <summary> /// For each group of editable elements in the div which have lang attributes (normally, a .bloom-translationGroup div), /// make sure we have child elements with the lang codes we need (most often, a .bloom-editable in the vernacular /// is added). /// Also enable/disable editing as warranted (e.g. in shell mode or not) /// </summary> public static void PrepareElementsInPageOrDocument(XmlNode pageOrDocumentNode, BookData bookData) { GenerateEditableDivsWithPreTranslatedContent(pageOrDocumentNode); foreach (var code in bookData.GetBasicBookLanguageCodes()) { PrepareElementsOnPageOneLanguage(pageOrDocumentNode, code); } // I'm not sure exactly why, but GetBasicBookLanguageCodes() returns // the languages identified as L1 (and possibly, if turned on, L2 and L3) // and M1. I'm nervous about changing that. But it's now possible for // a group to specify (using N2 in data-default-languages) that it should // have an M2 block, and M2 may not be any of the GetBasicBookLanguageCodes() // languages (unless we're in trilingual mode). So we need another method // to handle any special languages this block needs that are not considered // 'basic' for this book. PrepareSpecialLanguageGroups(pageOrDocumentNode, bookData); FixGroupStyleSettings(pageOrDocumentNode); }