uint8_t LanguageIdentifier::guessLanguageFromDoctype(Xml *xml, char *content) { uint8_t rvDoc = langUnknown; int id; char *str; char lang[6]; if(!content) return(langUnknown); for(int32_t i = 0; i < xml->getNumNodes(); i++) { id = xml->getNodeId(i); // skip if not DOCTYPE if ( id != TAG_DOCTYPE ) continue; // get the tag ptr to the tag char *tag = xml->getNode(i); // this is in BYTES //int32_t tagLen = xml->getNodeLen(i); // case might be upper, so we change // the first two letters to lower. str = FindLanguageIndex(tag); if(!str) continue; if(copyLangTag(lang, str, 5)) rvDoc = getLanguageFromAbbr(lang); return(rvDoc); } return(rvDoc); }
PCWSTR MUIGetOEMCodePage( IN PCWSTR LanguageId) { ULONG lngIndex = max(FindLanguageIndex(LanguageId), 0); return MUILanguageList[lngIndex].OEMCPage; }
const MUI_LAYOUTS* MUIGetLayoutsList( IN PCWSTR LanguageId) { ULONG lngIndex = max(FindLanguageIndex(LanguageId), 0); return MUILanguageList[lngIndex].MuiLayouts; }
PCWSTR MUIDefaultKeyboardLayout( IN PCWSTR LanguageId) { ULONG lngIndex = max(FindLanguageIndex(LanguageId), 0); return MUILanguageList[lngIndex].MuiLayouts[0].LayoutID; }
PCWSTR MUIGetGeoID( IN PCWSTR LanguageId) { ULONG lngIndex = max(FindLanguageIndex(LanguageId), 0); return MUILanguageList[lngIndex].GeoID; }