public static GetRegionCode ( string regionId ) : RegionCode | ||
regionId | string | The Id of the region to get the RegionCode for |
return | RegionCode |
/// <summary> /// GetRegionCode gets the RegionCode for the RegionInfo /// </summary> /// <param name="regionInfo">The RegionInfo to get the RegionCode for</param> /// <returns>The RegionCode for the RegionInfo</returns> public static RegionCode GetRegionCode(this RegionInfo regionInfo) { return(RegionExtensions.GetRegionCode(regionInfo.TwoLetterISORegionName)); }
/// <summary> /// Creates a CultureAndRegionInfoBuilder object for the NCLDR culture /// </summary> /// <param name="cldrCultureName">The name of the CLDR culture from which to create the .NET culture</param> /// <param name="dotNetCultureName">The name of the .NET custom culture to create</param> /// <returns>A CultureAndRegionInfoBuilder object for the NCLDR culture</returns> public static CultureAndRegionInfoBuilder CreateNCldrCultureAndRegionInfoBuilder(string cldrCultureName, string dotNetCultureName) { Culture culture = Culture.GetCulture(cldrCultureName); CultureAndRegionModifiers cultureAndRegionModifiers = culture.IsNeutralCulture ? CultureAndRegionModifiers.Neutral : CultureAndRegionModifiers.None; CultureAndRegionInfoBuilder builder = new CultureAndRegionInfoBuilder(dotNetCultureName, cultureAndRegionModifiers); CultureInfo parentCultureInfo = GetParentCultureInfo(culture); builder.Parent = parentCultureInfo; if (string.IsNullOrEmpty(culture.EnglishName)) { builder.CultureEnglishName = culture.Identity.CultureName; } else { builder.CultureEnglishName = culture.EnglishName; } if (string.IsNullOrEmpty(culture.NativeName) && string.IsNullOrEmpty(culture.EnglishName)) { builder.CultureNativeName = culture.Identity.CultureName; } else if (string.IsNullOrEmpty(culture.NativeName)) { builder.CultureNativeName = culture.EnglishName; } else { builder.CultureNativeName = culture.NativeName; } builder.TwoLetterISOLanguageName = culture.Identity.Language.Id; // CLDR does not have data for ThreeLetterISOLanguageName but one must be assigned for the culture to be valid builder.ThreeLetterISOLanguageName = culture.Identity.Language.Id; // CLDR does not have data for ThreeLetterWindowsLanguageName but one must be assigned for the culture to be valid builder.ThreeLetterWindowsLanguageName = culture.Identity.Language.Id; // The CultureAndRegionInfoBuilder requires dummy values for these properties // even though there is no region or currency values builder.RegionEnglishName = "xxx"; builder.RegionNativeName = "xxx"; builder.ThreeLetterISORegionName = "xxx"; builder.ThreeLetterWindowsRegionName = "xxx"; builder.TwoLetterISORegionName = "xx"; builder.ISOCurrencySymbol = "xx"; builder.CurrencyEnglishName = "xxx"; builder.CurrencyNativeName = "xxx"; if (culture.Identity.Region != null) { Region region = culture.Identity.Region; builder.RegionEnglishName = region.EnglishName; string regionNativeName = region.DisplayName(culture.Identity.Language.Id); if (string.IsNullOrEmpty(regionNativeName)) { builder.RegionNativeName = region.EnglishName; } else { builder.RegionNativeName = regionNativeName; } RegionCode regionCode = RegionExtensions.GetRegionCode(region.Id); if (regionCode != null && regionCode.Alpha3 != null) { builder.ThreeLetterISORegionName = regionCode.Alpha3; } else { builder.ThreeLetterISORegionName = region.Id; } // CLDR does not have data for ThreeLetterWindowsRegionName but one must be assigned for the culture to be valid builder.ThreeLetterWindowsRegionName = region.Id; builder.TwoLetterISORegionName = region.Id; builder.IsMetric = RegionExtensions.GetMeasurementSystem(region.Id).IsMetric; } else { builder.IsMetric = RegionExtensions.GetMeasurementSystem(NCldr.RegionIdForTheWorld).IsMetric; } // CLDR does not have data for KeyboardLayoutId or GeoId builder.IetfLanguageTag = cldrCultureName; builder.GregorianDateTimeFormat = CreateDateTimeFormatInfo(culture); builder.AvailableCalendars = GetAvailableCalendars(culture); builder.NumberFormat = CreateNumberFormatInfo(culture); if (culture.Numbers != null && culture.Numbers.CurrencyDisplayNameSets != null && culture.Numbers.CurrentCurrencyPeriod != null) { string currencyName = culture.Numbers.CurrentCurrencyPeriod.Id; if (!string.IsNullOrEmpty(currencyName)) { builder.ISOCurrencySymbol = currencyName; builder.CurrencyEnglishName = CultureExtensions.GetCurrencyDisplayName(currencyName, "en"); string currencyNativeName = CultureExtensions.GetCurrencyDisplayName(currencyName, culture.Identity.Language.Id); builder.CurrencyNativeName = currencyNativeName == null ? builder.CurrencyEnglishName : currencyNativeName; } } builder.TextInfo = parentCultureInfo.TextInfo; builder.CompareInfo = parentCultureInfo.CompareInfo; return(builder); }