//- deletes custom culture for country identified by EIDSS country ID public static void UnRegister(string cultureCode, long countryID) { if (!CountryCodes.ContainsKey(countryID)) { throw new Exception(string.Format("\'{0}\' - Unsupported country ID.", countryID)); } if (!CultureExists(cultureCode, countryID)) { throw new Exception(string.Format("Unsupported pair culture name - country ID.")); } // unregister only earlier registered cultures string cultureName = FormCustomCultureName(cultureCode, countryID); try { if (IsCultureRegistered(cultureName)) { CultureAndRegionInfoBuilder.Unregister(cultureName); } } catch (Exception e) { Debug.WriteLine("can't unregister custom culture {0}", cultureName); Debug.WriteLine("error: {0}", e); } }
public static void Main() { CultureAndRegionInfoBuilder cib = null; try { // Create a CultureAndRegionInfoBuilder // object named "ro-MD". cib = new CultureAndRegionInfoBuilder( "ro-MD", CultureAndRegionModifiers.None); // Populate the new CultureAndRegionInfoBuilder // object with culture information. CultureInfo ci = new CultureInfo("ro-RO"); cib.LoadDataFromCultureInfo(ci); // Populate the new CultureAndRegionInfoBuilder // object with region information. RegionInfo ri = new RegionInfo("RO"); cib.LoadDataFromRegionInfo(ri); var filePath = "ro-MD.xml"; if (File.Exists(filePath)) { File.Delete(filePath); } // Save as XML cib.Save(filePath); // TODO: modify the XML var xDoc = XDocument.Load(filePath); var ns = "http://schemas.microsoft.com/globalization/2004/08/carib/ldml"; xDoc.Descendants(XName.Get("regionEnglishName", ns)) .FirstOrDefault().Attribute("type").SetValue("Moldova"); xDoc.Descendants(XName.Get("regionNativeName", ns)) .FirstOrDefault().Attribute("type").SetValue("Moldova"); // and so on xDoc.Save(filePath); var roMd = CultureAndRegionInfoBuilder .CreateFromLdml(filePath); // this may throw an exception if the culture info exists try { CultureAndRegionInfoBuilder.Unregister("ro-MD"); } catch (Exception) { //throw; } // Register the custom culture. roMd.Register(); // Display some of the properties of the custom culture. var riMd = new RegionInfo("ro-MD"); } catch (Exception e) { Console.WriteLine(e); } }
//Register culture from XML file private void cmdCreateCultureFromXML() { if (cultureExist()) { CultureAndRegionInfoBuilder.Unregister("ku-KU"); } CultureAndRegionInfoBuilder cib = CultureAndRegionInfoBuilder.CreateFromLdml(@"C:\temp\kurdish.xml"); cib.Register(); }
public void TestCleanup() { foreach (CultureInfo customCulture in CultureInfo.GetCultures(CultureTypes.UserCustomCulture)) { if (customCulture.Name == CustomCultureName) { CultureAndRegionInfoBuilder.Unregister(CustomCultureName); } } }
public static void DeleteMobileSystemLocales() { CultureInfo[] systemcultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures); foreach (CultureInfo ci in systemcultures) { if (ci.IetfLanguageTag.EndsWith("-Mobile") || ci.IetfLanguageTag.EndsWith("-MOBI")) { CultureAndRegionInfoBuilder.Unregister(ci.Name); } } }
public int Action() { var filePath = InputFile; if (File.Exists(filePath) == false) { filePath = Path.Combine(".", filePath); if (File.Exists(filePath) == false) { Console.WriteLine($"File not found: '{InputFile}'."); return(1); } } try { var match = _cultureRegex.Match(InputFile); if (match.Success) { var cultureName = match.Groups[1].Value; if (CultureInfo.GetCultures(CultureTypes.AllCultures).FirstOrDefault(x => x.Name.ToLowerInvariant() == cultureName.ToLowerInvariant()) != null) { Console.WriteLine($"Cannot import - culture '{cultureName}' already exists."); return(1); } // Build and register a temporary culture with the name of what we want to import. // CreateFromLdml method will fail when trying to load a culture from file if it doesn't already exist. var tempCulture = new CultureAndRegionInfoBuilder(cultureName, CultureAndRegionModifiers.None); tempCulture.LoadDataFromCultureInfo(CultureInfo.CurrentCulture); tempCulture.LoadDataFromRegionInfo(RegionInfo.CurrentRegion); tempCulture.Register(); // Now load up the culture we actually want to import var culture = CultureAndRegionInfoBuilder.CreateFromLdml(filePath); // Unregister the temporary culture CultureAndRegionInfoBuilder.Unregister(cultureName); // Register the real culture loaded from file culture.Register(); Console.WriteLine($"Culture '{culture.CultureName}' has been installed."); } } catch (Exception e) { Console.Write(e.Message); } return(0); }
private void UnregisterCultures(string[] cultures) { var alreadyRegisteredCultures = CultureInfo.GetCultures(CultureTypes.UserCustomCulture).ToList(); foreach (var culture in cultures) { if (alreadyRegisteredCultures.Exists(rc => rc.Name == culture.ToLower())) { CultureAndRegionInfoBuilder.Unregister(culture.ToLower()); } } }
/// <summary> /// This method is responsible for unregister a specific custom culture based on its name. /// </summary> /// <param name="customCultureName"></param> private static void UnregisterCustomRegion(string customCultureName) { try { CultureAndRegionInfoBuilder.Unregister(customCultureName); _log.Debug(string.Format("Custom Culture [{0}] Unregistered Successfully", customCultureName)); } catch (Exception e) { _log.Debug(string.Format("Error when Unegistering [{0}] Custom Culture: {1}", customCultureName, e)); } }
private void BtnUnregisterClick(object sender, EventArgs e) { try { var cultureInfo = cboCultures.SelectedItem as CultureInfo; if (cultureInfo != null) { CultureAndRegionInfoBuilder.Unregister(cultureInfo.Name); MessageBox.Show(Resources.FormMain_BtnUnregisterClick_Symbols_unregistered, Resources.FormMain_BtnRegisterClick_Info, MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show(Resources.FormMain_BtnRegisterClick_Error__ + ex.Message); } }
public static void Main() { try { Console.Clear(); Console.WriteLine("Unregister the \"x-en-US-sample\" " + "custom culture if it already exists..."); CultureAndRegionInfoBuilder.Unregister("x-en-US-sample"); Console.WriteLine("The custom culture was unregistered successfully."); } catch (Exception e) { Console.WriteLine("Error while unregistering..."); Console.WriteLine(e); } }
public void RemoveCustomCultures() { if (huRunic == null) { return; } try { CultureAndRegionInfoBuilder.Unregister(huRunicHULowland.Name); CultureAndRegionInfoBuilder.Unregister(huRunicHU.Name); CultureAndRegionInfoBuilder.Unregister(huRunic.Name); } catch (UnauthorizedAccessException) { // no admin rights } }
public static void BuildCulture() { if (cultureExist()) { CultureAndRegionInfoBuilder.Unregister("ku-KU"); } Console.WriteLine("Create the CultureAndRegionInfoBuilder..."); var cib = new CultureAndRegionInfoBuilder("ku-KU", CultureAndRegionModifiers.None); cib.CultureEnglishName = "Kurdish (Kurdistan)"; cib.RegionEnglishName = "Kurdistan"; cib.CultureNativeName = "ßæÑÏí"; var cia = new CultureInfo("ar-IQ"); cib.NumberFormat = cia.NumberFormat; cib.GregorianDateTimeFormat = cia.DateTimeFormat; cib.TextInfo = cia.TextInfo; cib.CompareInfo = cia.CompareInfo; cib.KeyboardLayoutId = cia.KeyboardLayoutId; cib.RegionNativeName = "ßæÑÏÓÊÇä"; cib.ThreeLetterISOLanguageName = "kur"; cib.ThreeLetterISORegionName = "kur"; cib.TwoLetterISORegionName = "ku"; cib.ThreeLetterWindowsRegionName = "kur"; cib.ISOCurrencySymbol = "USD"; cib.CurrencyNativeName = "Dinary Kurdi"; cib.CurrencyEnglishName = "Kurdish Dinar"; var cinull = new CultureInfo(""); cib.Parent = cinull; cib.ThreeLetterWindowsLanguageName = "kur"; cib.TwoLetterISOLanguageName = "ku"; cib.IetfLanguageTag = "kurdisk"; cib.Register(); cib.Save(@"C:\temp\kurdish.xml"); //Save created culture to XML document Console.WriteLine("Create and explore the custom culture..."); var ci = new CultureInfo("ku-KU"); Console.WriteLine("Name: . . . . . . . . . . . . . {0}", ci.Name); Console.WriteLine("EnglishName:. . . . . . . . . . {0}", ci.EnglishName); Console.WriteLine("NativeName: . . . . . . . . . . {0}", ci.NativeName); Console.WriteLine("TwoLetterISOLanguageName: . . . {0}", ci.TwoLetterISOLanguageName); Console.WriteLine("ThreeLetterISOLanguageName: . . {0}", ci.ThreeLetterISOLanguageName); Console.WriteLine("ThreeLetterWindowsLanguageName: {0}", ci.ThreeLetterWindowsLanguageName); Console.Read(); }
private static void Unregister(string cultureName) { Console.WriteLine("Unregistering..."); try { CultureAndRegionInfoBuilder.Unregister(cultureName); Console.WriteLine("Success"); } catch (Exception ex) { Console.WriteLine("Error unregistering"); Console.WriteLine(ex); } Console.WriteLine(); }
static DataGlobalization() { try { CultureAndRegionInfoBuilder.Unregister(DefaultCustomCultureInfoKey); } catch (Exception ex) { // Log } try { var _cultureInfo = new CultureAndRegionInfoBuilder( DefaultCustomCultureInfoKey, CultureAndRegionModifiers.None); _cultureInfo.LoadDataFromCultureInfo(CultureInfo.GetCultureInfo(1041)); _cultureInfo.RegionEnglishName = DefaultCustomCultureInfoName; _cultureInfo.CultureEnglishName = DefaultCustomCultureInfoName; _cultureInfo.CultureNativeName = DefaultCustomCultureInfoName; _cultureInfo.RegionNativeName = DefaultCustomCultureInfoName; _cultureInfo.ThreeLetterISORegionName = DefaultCustomCultureInfoThreeLetter; _cultureInfo.ThreeLetterISOLanguageName = DefaultCustomCultureInfoThreeLetter; _cultureInfo.ThreeLetterWindowsLanguageName = DefaultCustomCultureInfoThreeLetter; _cultureInfo.ThreeLetterWindowsRegionName = DefaultCustomCultureInfoThreeLetter; _cultureInfo.TwoLetterISORegionName = DefaultCustomCultureInfoTwoLetter; _cultureInfo.TwoLetterISOLanguageName = DefaultCustomCultureInfoTwoLetter; _cultureInfo.GregorianDateTimeFormat.DateSeparator = "-"; _cultureInfo.ISOCurrencySymbol = "BRL"; _cultureInfo.CurrencyNativeName = "Real"; _cultureInfo.CurrencyEnglishName = "Real"; _cultureInfo.Register(); } catch (Exception ex) { // DEBUG // Precisa abrir o VS em modo administrador. // RELEASE // O exe precisa de permissão para acessar os arquivos de globalização // do sistema. } }
public int Action() { var culture = CultureInfo.GetCultures(CultureTypes.AllCultures).FirstOrDefault(x => x.Name.ToLowerInvariant() == Culture.ToLowerInvariant()); if (culture != null) { try { CultureAndRegionInfoBuilder.Unregister(culture.Name); Console.WriteLine($"Removed '{culture.Name}'."); return(0); } catch (ArgumentException) { Console.WriteLine("Could not remove this culture - are you sure this a custom culture?"); } } else { Console.WriteLine($"Culture '{Culture}' not found."); } return(1); }
private static bool Unregister(string[] customCultures) { try { foreach (string customCulture in customCultures) { string customCultureName = customCulture.Trim(); if (!String.IsNullOrEmpty(customCultureName)) { Console.WriteLine(String.Format("Unregistering {0}...", customCultureName)); CultureAndRegionInfoBuilder.Unregister(customCultureName); } } return(true); } catch (Exception exception) { Console.WriteLine(String.Empty); Console.WriteLine("Failed to unregister custom culture:"); Console.WriteLine(String.Format("Exception: {0}", exception.Message)); return(false); } }
public int Action() { var dir = new DirectoryInfo(Folder); if (dir.Exists == false) { Console.WriteLine($"Invalid folder: '{Folder}'."); return(1); } var files = dir.EnumerateFiles().Where(x => x.Extension == Extension); if (!files.Any()) { Console.WriteLine("No culture files found in folder."); return(1); } Console.WriteLine($"Found {files.Count()} culture files.\n"); var installCount = 0; var skipCount = 0; foreach (var file in files) { try { var filePath = file.FullName; var match = _cultureRegex.Match(filePath); if (match.Success) { var cultureName = match.Groups[1].Value; if (CultureInfo.GetCultures(CultureTypes.AllCultures).FirstOrDefault(x => x.Name.ToLowerInvariant() == cultureName.ToLowerInvariant()) != null) { Console.WriteLine($"Skipping '{cultureName}' - culture already exists."); skipCount++; continue; } // Build and register a temporary culture with the name of what we want to import. // CreateFromLdml method will fail when trying to load a culture from file if it doesn't already exist. var tempCulture = new CultureAndRegionInfoBuilder(cultureName, CultureAndRegionModifiers.None); tempCulture.LoadDataFromCultureInfo(CultureInfo.CurrentCulture); tempCulture.LoadDataFromRegionInfo(RegionInfo.CurrentRegion); tempCulture.Register(); // Now load up the culture we actually want to import var culture = CultureAndRegionInfoBuilder.CreateFromLdml(filePath); // Unregister the temporary culture CultureAndRegionInfoBuilder.Unregister(cultureName); // Register the real culture loaded from file culture.Register(); Console.WriteLine($"Culture '{culture.CultureName}' has been installed."); installCount++; } } catch (Exception e) { Console.Write(e.Message); } } Console.WriteLine($"\nInstalled {installCount} and skipped {skipCount} culture files."); return(0); }
//Used to unregister a culture private static void removeCustomCulture(CustomCulture culture) { CultureAndRegionInfoBuilder.Unregister(culture.CultureName); }
static void UninstallCulture(string cultureId) { CultureAndRegionInfoBuilder.Unregister(cultureId); }