// // IsValidLcid // Lcid is valid if it is built in lcid or synthetic one. // private static bool IsValidLcid(int lcid, bool canBeCustomLcid) { if (canBeCustomLcid && CultureTableRecord.IsCustomCultureId(lcid)) { return(true); } if (CultureTable.Default.IsExistingCulture(lcid)) { return(true); } return(false); }
private void OnSerializing(StreamingContext ctx) { m_nDataItem = m_cultureTableRecord.EverettDataItem(); m_useUserOverride = m_cultureTableRecord.UseUserOverride; if (CultureTableRecord.IsCustomCultureId(m_cultureTableRecord.CultureID)) { customCultureName = m_cultureTableRecord.SNAME; m_win32LangID = m_textInfoID; } else { customCultureName = null; m_win32LangID = m_cultureTableRecord.CultureID; } }
public RegionInfo(int culture) { // Get the culture data item. if (culture == CultureInfo.LOCALE_INVARIANT) //The InvariantCulture has no matching region { throw new ArgumentException(Environment.GetResourceString("Argument_NoRegionInvariantCulture")); } if (CultureTableRecord.IsCustomCultureId(culture)) // Customized culture { throw new ArgumentException(Environment.GetResourceString("Argument_CustomCultureCannotBePassedByNumber", "culture")); } if (CultureInfo.GetSubLangID(culture) == 0) { // Supposed to have sublang (region) info throw new ArgumentException(Environment.GetResourceString("Argument_CultureIsNeutral", culture), "culture"); } // // From this region data item, get the region data item. // Several culture ID may map to the same region. // For example, 0x1009 (English (Canada)) and 0x0c0c (French (Canada)) all map to // the same region "CA" (Canada). // this.m_cultureTableRecord = CultureTableRecord.GetCultureTableRecord(culture, true); if (this.m_cultureTableRecord.IsNeutralCulture) { // Not supposed to be neutral throw new ArgumentException(Environment.GetResourceString("Argument_CultureIsNeutral", culture), "culture"); } // Make sure that we initialize m_name since it will be used in deserialization. this.m_name = this.m_cultureTableRecord.SREGIONNAME; m_cultureId = culture; }