Beispiel #1
0
        private static void Main(string[] args)
        {
            var currentCulture = CultureInfo.CurrentCulture;
            var x = 1.0 / 3;
            var y = 2.0 / 3;

            Console.WriteLine($"culture {currentCulture.IetfLanguageTag} NumberDecimalDigits {currentCulture.NumberFormat.NumberDecimalDigits} 1/3={x.ToString("f")} 2/3={y.ToString("f")}");

            CultureAndRegionInfoBuilder builder = new CultureAndRegionInfoBuilder("fr-FR-Mush", CultureAndRegionModifiers.None);
            CultureInfo parent = new CultureInfo("fr-FR");

            builder.LoadDataFromCultureInfo(parent);
            builder.LoadDataFromRegionInfo(new RegionInfo("FR"));
            builder.Parent = parent;
            builder.NumberFormat.NumberDecimalDigits = 4;
            builder.RegionNativeName  = "Francais bouillie";
            builder.RegionEnglishName = "French mush";
            builder.Register();

            /*
             * NumberFormatInfo nfi = (NumberFormatInfo)currentCulture.NumberFormat.Clone();
             * nfi.NumberDecimalDigits = 4;
             * var customCulture = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);
             * customCulture.NumberFormat = nfi;
             * CultureInfo.CurrentCulture = customCulture;
             *
             * */
            CultureInfo frMush = new CultureInfo("fr-FR-Mush");

            Console.WriteLine($"culture {currentCulture.IetfLanguageTag} NumberDecimalDigits {currentCulture.NumberFormat.NumberDecimalDigits} 1/3={x.ToString("f", frMush)} 2/3={y.ToString("f", frMush)}");

            Console.ReadKey();
        }
        public static void Main()
        {
            Console.WriteLine("Registering ja-JP-Latn...");
            try
            {
                var builder = new CultureAndRegionInfoBuilder("ja-JP-Latn", CultureAndRegionModifiers.None);
                builder.LoadDataFromCultureInfo(new CultureInfo("ja-JP"));
                builder.LoadDataFromRegionInfo(new RegionInfo("JP"));

                builder.CultureEnglishName = "Japanese (Romaji)";
                builder.CultureNativeName  = "日本語 (ローマ字)";

                builder.Register();
                Console.WriteLine("Done!");
            }
            catch (InvalidOperationException)
            {
                Console.WriteLine("Already registered.");
            }
            catch (UnauthorizedAccessException)
            {
                Console.WriteLine("Not authorized! Run the program as administrator.");
            }
            Console.WriteLine("Press enter to exit...");
            Console.ReadLine();
        }
        //- 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);
            }
        }
 private static CultureInfo CreateCultureInfo()
 {
     try
     {
         return(new CultureInfo(_cultureName));
     }
     catch (ArgumentException)
     {
         CultureAndRegionInfoBuilder cultureAndRegionInfoBuilder = new CultureAndRegionInfoBuilder(_cultureName, CultureAndRegionModifiers.None);
         cultureAndRegionInfoBuilder.LoadDataFromCultureInfo(CultureInfo.InvariantCulture);
         cultureAndRegionInfoBuilder.LoadDataFromRegionInfo(new RegionInfo("US"));
         cultureAndRegionInfoBuilder.ThreeLetterWindowsRegionName          = "bwl";
         cultureAndRegionInfoBuilder.ThreeLetterISORegionName              = "bwl";
         cultureAndRegionInfoBuilder.TwoLetterISORegionName                = "bl";
         cultureAndRegionInfoBuilder.RegionEnglishName                     = "Backwards Land";
         cultureAndRegionInfoBuilder.RegionNativeName                      = "Wark";
         cultureAndRegionInfoBuilder.NumberFormat.NegativeSign             = "+";
         cultureAndRegionInfoBuilder.NumberFormat.PositiveSign             = "-";
         cultureAndRegionInfoBuilder.NumberFormat.NumberDecimalSeparator   = ";";
         cultureAndRegionInfoBuilder.NumberFormat.NumberGroupSeparator     = ":";
         cultureAndRegionInfoBuilder.NumberFormat.NumberGroupSizes         = new int[] { 2, 3, 4, 5 };
         cultureAndRegionInfoBuilder.NumberFormat.CurrencyDecimalSeparator = ";";
         cultureAndRegionInfoBuilder.NumberFormat.CurrencyGroupSeparator   = ":";
         cultureAndRegionInfoBuilder.NumberFormat.CurrencyGroupSizes       = new int[] { 2, 3, 4, 5 };
         cultureAndRegionInfoBuilder.NumberFormat.PercentDecimalSeparator  = ";";
         cultureAndRegionInfoBuilder.NumberFormat.PercentGroupSeparator    = ":";
         cultureAndRegionInfoBuilder.NumberFormat.PercentGroupSizes        = new int[] { 2, 3, 4, 5 };
         cultureAndRegionInfoBuilder.Register();
         return(new CultureInfo(_cultureName));
     }
 }
Beispiel #5
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        public SurfaceWindow1()
        {
            if (false)
            {
                CultureAndRegionInfoBuilder cib = new CultureAndRegionInfoBuilder("und", CultureAndRegionModifiers.None);
                CultureInfo ci = new CultureInfo("en-US");
                cib.LoadDataFromCultureInfo(ci);
                RegionInfo ri = new RegionInfo("US");
                cib.LoadDataFromRegionInfo(ri);
                cib.Register();
            }

            InitializeComponent();
            // Add handlers for window availability events
            AddWindowAvailabilityHandlers();
            Console.WriteLine(Language);
            //add buttons
            for (int i = 0; i < 5; i++)
            {
                SurfaceButton sb = new SurfaceButton();
                sb.Content = "test" + i + ".xps";
                docContainer.Items.Add(sb);
                sb.AddHandler(SurfaceButton.ClickEvent, new RoutedEventHandler(OnButtonClick));
            }
        }
        static void Main()
        {
            try
            {
                // Create a Styria culture
                var styria        = new CultureAndRegionInfoBuilder("de-AT-ST", CultureAndRegionModifiers.None);
                var cultureParent = new CultureInfo("de-AT");
                styria.LoadDataFromCultureInfo(cultureParent);
                styria.LoadDataFromRegionInfo(new RegionInfo("AT"));
                styria.Parent             = cultureParent;
                styria.RegionNativeName   = "Steiermark";
                styria.RegionEnglishName  = "Styria";
                styria.CultureEnglishName = "Styria (Austria)";
                styria.CultureNativeName  = "Steirisch";

                styria.Register();
            }
            catch (UnauthorizedAccessException ex)
            {
                WriteLine(ex.Message);
            }
            catch (InvalidOperationException ex)
            {
                WriteLine(ex.Message);
            }
            ReadLine();
        }
 private static CultureInfo CreateCultureInfo()
 {
     try
     {
         return(new CultureInfo(_cultureName));
     }
     catch (ArgumentException)
     {
         CultureAndRegionInfoBuilder cultureAndRegionInfoBuilder = new CultureAndRegionInfoBuilder(_cultureName, CultureAndRegionModifiers.None);
         cultureAndRegionInfoBuilder.LoadDataFromCultureInfo(CultureInfo.InvariantCulture);
         cultureAndRegionInfoBuilder.LoadDataFromRegionInfo(new RegionInfo("US"));
         cultureAndRegionInfoBuilder.ThreeLetterWindowsRegionName          = "cmt";
         cultureAndRegionInfoBuilder.ThreeLetterISORegionName              = "cmt";
         cultureAndRegionInfoBuilder.TwoLetterISORegionName                = "mc";
         cultureAndRegionInfoBuilder.RegionEnglishName                     = "Candy Mountain";
         cultureAndRegionInfoBuilder.RegionNativeName                      = "Come inside the cave, Charlie";
         cultureAndRegionInfoBuilder.NumberFormat.NegativeSign             = "++--";
         cultureAndRegionInfoBuilder.NumberFormat.PositiveSign             = "--++";
         cultureAndRegionInfoBuilder.NumberFormat.NumberDecimalSeparator   = ";";
         cultureAndRegionInfoBuilder.NumberFormat.NumberGroupSeparator     = ":";
         cultureAndRegionInfoBuilder.NumberFormat.NumberGroupSizes         = new int[] { 2, 3, 4, 5 };
         cultureAndRegionInfoBuilder.NumberFormat.CurrencyDecimalSeparator = ";";
         cultureAndRegionInfoBuilder.NumberFormat.CurrencyGroupSeparator   = ":";
         cultureAndRegionInfoBuilder.NumberFormat.CurrencyGroupSizes       = new int[] { 2, 3, 4, 5 };
         cultureAndRegionInfoBuilder.NumberFormat.PercentDecimalSeparator  = ";";
         cultureAndRegionInfoBuilder.NumberFormat.PercentGroupSeparator    = ":";
         cultureAndRegionInfoBuilder.NumberFormat.PercentGroupSizes        = new int[] { 2, 3, 4, 5 };
         cultureAndRegionInfoBuilder.Register();
         return(new CultureInfo(_cultureName));
     }
 }
        private static void RegisterCustomCulture(string customCultureName, string parentCultureName)
        {
            Console.WriteLine("Registering {0}", customCultureName);
            try
            {
                CultureAndRegionInfoBuilder cib =
                    new CultureAndRegionInfoBuilder(customCultureName, CultureAndRegionModifiers.None);
                CultureInfo ci = new CultureInfo(parentCultureName);
                cib.LoadDataFromCultureInfo(ci);

                RegionInfo ri = new RegionInfo(parentCultureName);
                cib.LoadDataFromRegionInfo(ri);
                cib.Register();
                Console.WriteLine("Success.");
            }
            catch (InvalidOperationException)
            {
                // This is OK, means that this is already registered.
                Console.WriteLine("The custom culture {0} was already registered", customCultureName);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Registering the custom culture {0} failed", customCultureName);
                Console.WriteLine(ex);
            }
            Console.WriteLine();
        }
Beispiel #9
0
    public static void Create()
    {
        // Create a custom culture
        CultureAndRegionInfoBuilder culAndReg = new CultureAndRegionInfoBuilder("en-HU",
                                                                                CultureAndRegionModifiers.None);

        culAndReg.LoadDataFromCultureInfo(CultureInfo.CreateSpecificCulture("en-HU"));
        culAndReg.LoadDataFromRegionInfo(new RegionInfo("HU"));

        culAndReg.CultureEnglishName = "English(Hungary)";
        culAndReg.CultureNativeName  = "English(Hungary)";
        culAndReg.CurrencyNativeName = "Hungarian Forint";
        culAndReg.RegionNativeName   = "Hungarian-English";

        // Register the culture.
        try
        {
            culAndReg.Register();
            Console.Write("The new Culture and region is created for {0} :" + "en-HU");
        }
        catch (InvalidOperationException ex)
        {
            Console.Write("The Operation Failed due to " + ex.Message);
        }
    }
Beispiel #10
0
        public static CultureAndRegionInfoBuilder CreateTpCulture()
        {
            CultureAndRegionInfoBuilder cib = new CultureAndRegionInfoBuilder("x-tp", CultureAndRegionModifiers.None);

            CultureInfo ci = new CultureInfo("en-US");

            cib.LoadDataFromCultureInfo(ci);

            // Populate the new CultureAndRegionInfoBuilder object with region information.
            RegionInfo ri = new RegionInfo("US");

            cib.LoadDataFromRegionInfo(ri);

            //cib.CultureName = "toki pona";
            cib.CultureEnglishName  = "toki pona";
            cib.CultureNativeName   = "toki pona";
            cib.CurrencyEnglishName = "mani";
            cib.CurrencyNativeName  = "mani";
            cib.ISOCurrencySymbol   = "mani";
            cib.RegionEnglishName   = "Land of toki pona";
            //cib.RegionName = "ma pi toki pona";
            cib.RegionNativeName               = "ma pi toki pona";
            cib.ThreeLetterISOLanguageName     = "xtp";
            cib.ThreeLetterISORegionName       = "XTP";
            cib.ThreeLetterISORegionName       = "XTP";
            cib.ThreeLetterWindowsLanguageName = "XTP";
            cib.ThreeLetterWindowsRegionName   = "XTP";
            cib.TwoLetterISOLanguageName       = "tp";
            cib.TwoLetterISORegionName         = "tp";
            return(cib);
        }
Beispiel #11
0
        static void Main()
        {
            // Create a Styria culture

            CultureAndRegionInfoBuilder styria = new CultureAndRegionInfoBuilder(
                "de-AT-ST", CultureAndRegionModifiers.None);
            CultureInfo parent = new CultureInfo("de-AT");

            styria.LoadDataFromCultureInfo(parent);
            styria.LoadDataFromRegionInfo(new RegionInfo("AT"));
            styria.Parent             = parent;
            styria.RegionNativeName   = "Steiermark";
            styria.RegionEnglishName  = "Styria";
            styria.CultureEnglishName = "Styria (Austria)";
            styria.CultureNativeName  = "Steirisch";

            styria.Register();

            //CultureInfo ci = new CultureInfo("de-AT-ST");
            //Thread.CurrentThread.CurrentCulture = ci;
            //Thread.CurrentThread.CurrentUICulture = ci;

            //ResourceManager rm = new ResourceManager("CreateACulture.Resource1",
            //    Assembly.GetExecutingAssembly());
            //Console.WriteLine(rm.GetString("String1"));
        }
Beispiel #12
0
        /// <summary>
        /// This static method creates and register a custom culture based on <see cref="Values"/>
        /// </summary>
        /// <remarks>
        /// <para>
        /// These custom cultures are necessary to make POS platform "language dependency-free" for which either the country and/or the language is not currently supported by the .NET Framework (or Windows).
        /// </para>
        /// </remarks>
        public static void RegisterCustomRegion()
        {
            foreach (CustomRegion customRegion in Values)
            {
                string customCultureName = customRegion.CustomCultureName;

                try
                {
                    /* This call is necessary to erase some changes that would have be applied to a custom culture */
                    /* IN006018 and IN007009 */
                    //UnregisterCustomRegion(customCultureName);

                    /* If for some reason a custom culture has not been removed, we will not attempt to recreate/register it */
                    if (!customRegionExists(customCultureName))
                    {
                        var baseCultureInfo = new CultureInfo(customRegion.BaseCulture);
                        var regionInfo      = new RegionInfo(customRegion.Region);

                        /* This block of code is responsible for POS custom region creation */
                        var customRegionBuilder = new CultureAndRegionInfoBuilder(customCultureName, CultureAndRegionModifiers.None);
                        customRegionBuilder.LoadDataFromCultureInfo(baseCultureInfo);
                        customRegionBuilder.LoadDataFromRegionInfo(regionInfo);
                        customRegionBuilder.Register();

                        _log.Debug(string.Format("Custom Culture [{0}] Created and Registered Successfully", customCultureName));
                    }
                }
                catch (Exception e)
                {
                    _log.Debug(string.Format("Error when Creating and Registering [{0}] Custom Culture: {1}", customCultureName, e));
                }
            }
        }
        private void BtnRegisterClick(object sender, EventArgs e)
        {
            try
            {
                var cultureInfo = cboCultures.SelectedItem as CultureInfo;
                if (cultureInfo != null)
                {
                    var cultureAndRegionInfoBbuilder = new CultureAndRegionInfoBuilder(cultureInfo.Name, CultureAndRegionModifiers.Replacement);

                    // load the culture info into the builder
                    cultureAndRegionInfoBbuilder.LoadDataFromCultureInfo(cultureInfo);

                    // load the regional info into the builder
                    var regionInfo = new RegionInfo(cultureInfo.Name);
                    cultureAndRegionInfoBbuilder.LoadDataFromRegionInfo(regionInfo);

                    // set the currency symbols
                    cultureAndRegionInfoBbuilder.ISOCurrencySymbol           = txtISOCurrencySymbol.Text;
                    cultureAndRegionInfoBbuilder.NumberFormat.CurrencySymbol = txtSymbol.Text;
                    cultureAndRegionInfoBbuilder.Register();

                    MessageBox.Show(Resources.FormMain_BtnRegisterClick_Symbols_registered, Resources.FormMain_BtnRegisterClick_Info, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(Resources.FormMain_BtnRegisterClick_Error__ + ex.Message);
            }
        }
    public static void Main()
    {
        CultureAndRegionInfoBuilder cib = null;

        try
        {
// Create a CultureAndRegionInfoBuilder object named "x-en-US-sample".
            Console.WriteLine("Create and explore the CultureAndRegionInfoBuilder...\n");
            cib = new CultureAndRegionInfoBuilder(
                "x-en-US-sample", CultureAndRegionModifiers.None);

// Populate the new CultureAndRegionInfoBuilder object with culture information.
            CultureInfo ci = new CultureInfo("en-US");
            cib.LoadDataFromCultureInfo(ci);

// Populate the new CultureAndRegionInfoBuilder object with region information.
            RegionInfo ri = new RegionInfo("US");
            cib.LoadDataFromRegionInfo(ri);

// Display some of the properties of the CultureAndRegionInfoBuilder object.
            Console.WriteLine("CultureName:. . . . . . . . . . {0}", cib.CultureName);
            Console.WriteLine("CultureEnglishName: . . . . . . {0}", cib.CultureEnglishName);
            Console.WriteLine("CultureNativeName:. . . . . . . {0}", cib.CultureNativeName);
            Console.WriteLine("GeoId:. . . . . . . . . . . . . {0}", cib.GeoId);
            Console.WriteLine("IsMetric: . . . . . . . . . . . {0}", cib.IsMetric);
            Console.WriteLine("ISOCurrencySymbol:. . . . . . . {0}", cib.ISOCurrencySymbol);
            Console.WriteLine("RegionEnglishName:. . . . . . . {0}", cib.RegionEnglishName);
            Console.WriteLine("RegionName: . . . . . . . . . . {0}", cib.RegionName);
            Console.WriteLine("RegionNativeName: . . . . . . . {0}", cib.RegionNativeName);
            Console.WriteLine("ThreeLetterISOLanguageName: . . {0}", cib.ThreeLetterISOLanguageName);
            Console.WriteLine("ThreeLetterISORegionName: . . . {0}", cib.ThreeLetterISORegionName);
            Console.WriteLine("ThreeLetterWindowsLanguageName: {0}", cib.ThreeLetterWindowsLanguageName);
            Console.WriteLine("ThreeLetterWindowsRegionName: . {0}", cib.ThreeLetterWindowsRegionName);
            Console.WriteLine("TwoLetterISOLanguageName: . . . {0}", cib.TwoLetterISOLanguageName);
            Console.WriteLine("TwoLetterISORegionName: . . . . {0}", cib.TwoLetterISORegionName);
            Console.WriteLine();

// Register the custom culture.
            Console.WriteLine("Register the custom culture...");
            cib.Register();

// Display some of the properties of the custom culture.
            Console.WriteLine("Create and explore the custom culture...\n");
            ci = new CultureInfo("x-en-US-sample");

            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.WriteLine("\nNote:\n" +
                              "Use the example in the Unregister method topic to remove the custom culture.");
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
        }
    }
Beispiel #15
0
    public static void Main()
    {
        // Create a custom culture for ru-US.
        CultureAndRegionInfoBuilder car1 = new CultureAndRegionInfoBuilder("ru-US",
                                                                           CultureAndRegionModifiers.None);

        car1.LoadDataFromCultureInfo(CultureInfo.CreateSpecificCulture("ru-RU"));
        car1.LoadDataFromRegionInfo(new RegionInfo("en-US"));

        car1.CultureEnglishName = "Russian (United States)";
        car1.CultureNativeName  = "русский (США)";
        car1.CurrencyNativeName = "Доллар (США)";
        car1.RegionNativeName   = "США";

        // Register the culture.
        try {
            car1.Register();
        }
        catch (InvalidOperationException) {
            // Swallow the exception: the culture already is registered.
        }

        // Use the custom culture.
        CultureInfo ci = CultureInfo.CreateSpecificCulture("ru-US");

        Thread.CurrentThread.CurrentCulture = ci;
        Console.WriteLine("Current Culture: {0}",
                          Thread.CurrentThread.CurrentCulture.Name);
        Console.WriteLine("Writing System: {0}",
                          Thread.CurrentThread.CurrentCulture.TextInfo);
    }
    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);
        }
    }
Beispiel #17
0
    //Register culture from XML file
    private void cmdCreateCultureFromXML()
    {
        if (cultureExist())
        {
            CultureAndRegionInfoBuilder.Unregister("ku-KU");
        }
        CultureAndRegionInfoBuilder cib = CultureAndRegionInfoBuilder.CreateFromLdml(@"C:\temp\kurdish.xml");

        cib.Register();
    }
Beispiel #18
0
 public void TestCleanup()
 {
     foreach (CultureInfo customCulture in CultureInfo.GetCultures(CultureTypes.UserCustomCulture))
     {
         if (customCulture.Name == CustomCultureName)
         {
             CultureAndRegionInfoBuilder.Unregister(CustomCultureName);
         }
     }
 }
Beispiel #19
0
        private void DoRegistration()
        {
            var cib = new CultureAndRegionInfoBuilder("und", CultureAndRegionModifiers.None);
            var ci  = new CultureInfo("en-US");

            cib.LoadDataFromCultureInfo(ci);
            var ri = new RegionInfo("US");

            cib.LoadDataFromRegionInfo(ri);
            cib.Register();
        }
Beispiel #20
0
 /// <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));
     }
 }
Beispiel #21
0
        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);
                }
            }
        }
Beispiel #22
0
        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());
                }
            }
        }
        private void CboCulturesSelectedIndexChanged(object sender, EventArgs e)
        {
            var ci = cboCultures.SelectedItem as CultureInfo;

            if (ci == null)
            {
                return;
            }
            var cultureAndRegionInfoBuilder = new CultureAndRegionInfoBuilder(ci.Name, CultureAndRegionModifiers.Replacement);

            txtISOCurrencySymbol.Text = cultureAndRegionInfoBuilder.ISOCurrencySymbol;
            txtSymbol.Text            = ci.NumberFormat.CurrencySymbol;
        }
        public void Test()
        {
            try
            {
                // Create a CultureAndRegionInfoBuilder object named "x-en-US-sample".
                Console.WriteLine("Create and explore the CultureAndRegionInfoBuilder...\n");

                // Populate the new CultureAndRegionInfoBuilder object with culture information.
                CultureAndRegionInfoBuilder cib = TpCultureFactory.CreateTpCulture();

                // Display some of the properties of the CultureAndRegionInfoBuilder object.
                Console.WriteLine("CultureName:. . . . . . . . . . {0}", cib.CultureName);
                Console.WriteLine("CultureEnglishName: . . . . . . {0}", cib.CultureEnglishName);
                Console.WriteLine("CultureNativeName:. . . . . . . {0}", cib.CultureNativeName);
                Console.WriteLine("GeoId:. . . . . . . . . . . . . {0}", cib.GeoId);
                Console.WriteLine("IsMetric: . . . . . . . . . . . {0}", cib.IsMetric);
                Console.WriteLine("ISOCurrencySymbol:. . . . . . . {0}", cib.ISOCurrencySymbol);
                Console.WriteLine("RegionEnglishName:. . . . . . . {0}", cib.RegionEnglishName);
                Console.WriteLine("RegionName: . . . . . . . . . . {0}", cib.RegionName);
                Console.WriteLine("RegionNativeName: . . . . . . . {0}", cib.RegionNativeName);
                Console.WriteLine("ThreeLetterISOLanguageName: . . {0}", cib.ThreeLetterISOLanguageName);
                Console.WriteLine("ThreeLetterISORegionName: . . . {0}", cib.ThreeLetterISORegionName);
                Console.WriteLine("ThreeLetterWindowsLanguageName: {0}", cib.ThreeLetterWindowsLanguageName);
                Console.WriteLine("ThreeLetterWindowsRegionName: . {0}", cib.ThreeLetterWindowsRegionName);
                Console.WriteLine("TwoLetterISOLanguageName: . . . {0}", cib.TwoLetterISOLanguageName);
                Console.WriteLine("TwoLetterISORegionName: . . . . {0}", cib.TwoLetterISORegionName);
                Console.WriteLine();

                // Register the custom culture.
                Console.WriteLine("Register the custom culture...");
                TpCultureFactory.Register(cib);

                // Display some of the properties of the custom culture.
                Console.WriteLine("Create and explore the custom culture...\n");
                CultureInfo ci = new CultureInfo("x-tp");

                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.WriteLine("\nNote:\n" +
                                  "Use the example in the Unregister method topic to remove the custom culture.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Beispiel #26
0
    public static void Main()
    {
// Construct a new, privately used culture that extends the en-US culture
// provided by the .NET Framework. In this sample, the CultureAndRegion-
// Types.Specific parameter creates a minimal CultureAndRegionInfoBuilder
// object that you must populate with culture and region information.

        CultureAndRegionInfoBuilder cib = null;

        try {
            cib = new CultureAndRegionInfoBuilder(
                "x-en-US-sample",
                CultureAndRegionModifiers.None);
        }
        catch (ArgumentException ae)
        {
            Console.WriteLine(ae);
            return;
        }

// Populate the new CultureAndRegionInfoBuilder object with culture information.

        CultureInfo ci = new CultureInfo("en-US");

        cib.LoadDataFromCultureInfo(ci);

// Populate the new CultureAndRegionInfoBuilder object with region information.

        RegionInfo ri = new RegionInfo("US");

        cib.LoadDataFromRegionInfo(ri);

// Display some of the properties for the x-en-US-sample custom culture.

        Console.Clear();
        Console.WriteLine("CultureName:. . . . . . . . . . {0}", cib.CultureName);
        Console.WriteLine("CultureEnglishName: . . . . . . {0}", cib.CultureEnglishName);
        Console.WriteLine("CultureNativeName:. . . . . . . {0}", cib.CultureNativeName);
        Console.WriteLine("GeoId:. . . . . . . . . . . . . {0}", cib.GeoId);
        Console.WriteLine("IsMetric: . . . . . . . . . . . {0}", cib.IsMetric);
        Console.WriteLine("ISOCurrencySymbol:. . . . . . . {0}", cib.ISOCurrencySymbol);
        Console.WriteLine("RegionEnglishName:. . . . . . . {0}", cib.RegionEnglishName);
        Console.WriteLine("RegionName: . . . . . . . . . . {0}", cib.RegionName);
        Console.WriteLine("RegionNativeName: . . . . . . . {0}", cib.RegionNativeName);
        Console.WriteLine("ThreeLetterISOLanguageName: . . {0}", cib.ThreeLetterISOLanguageName);
        Console.WriteLine("ThreeLetterISORegionName: . . . {0}", cib.ThreeLetterISORegionName);
        Console.WriteLine("ThreeLetterWindowsLanguageName: {0}", cib.ThreeLetterWindowsLanguageName);
        Console.WriteLine("ThreeLetterWindowsRegionName: . {0}", cib.ThreeLetterWindowsRegionName);
        Console.WriteLine("TwoLetterISOLanguageName: . . . {0}", cib.TwoLetterISOLanguageName);
        Console.WriteLine("TwoLetterISORegionName: . . . . {0}", cib.TwoLetterISORegionName);
    }
        static void InstallCulture(string cultureId, string cultureName, string basedOn)
        {
            CultureInfo cultureInfo = new CultureInfo(basedOn);
            RegionInfo  regionInfo  = new RegionInfo(cultureInfo.Name);

            CultureAndRegionInfoBuilder cultureAndRegionInfoBuilder = new CultureAndRegionInfoBuilder(cultureId, CultureAndRegionModifiers.None);

            cultureAndRegionInfoBuilder.LoadDataFromCultureInfo(cultureInfo);
            cultureAndRegionInfoBuilder.LoadDataFromRegionInfo(regionInfo);

            cultureAndRegionInfoBuilder.CultureEnglishName = cultureName;
            cultureAndRegionInfoBuilder.CultureNativeName  = cultureName;

            cultureAndRegionInfoBuilder.Register();
        }
Beispiel #28
0
 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);
     }
 }
 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);
     }
 }
        private static void Main(string[] args)
        {
            const string  path           = "cultures.xml";
            XmlSerializer serializer     = new XmlSerializer(typeof(Cultures));
            StreamReader  reader         = new StreamReader(path);
            Cultures      culturesImport = (Cultures)serializer.Deserialize(reader);

            reader.Close();

            foreach (Culture culture in culturesImport.CultureList)
            {
                if (!culture.Code.CultureExists())
                {
                    try {
                        CultureAndRegionInfoBuilder cib = new CultureAndRegionInfoBuilder(culture.Code, CultureAndRegionModifiers.None);
                        cib.LoadDataFromCultureInfo(new CultureInfo(culture.BaseFromCode));
                        cib.LoadDataFromRegionInfo(new RegionInfo(culture.BaseFromRegion));

                        cib.CultureEnglishName             = $"{culture.Language} ({culture.Country})";
                        cib.CultureNativeName              = cib.CultureEnglishName;
                        cib.IetfLanguageTag                = culture.Code;
                        cib.RegionEnglishName              = culture.Country;
                        cib.RegionNativeName               = cib.RegionEnglishName;
                        cib.ISOCurrencySymbol              = culture.CurrencyIso;
                        cib.NumberFormat.CurrencySymbol    = culture.CurrencySymbol;
                        cib.CurrencyEnglishName            = culture.CurrencyName;
                        cib.CurrencyNativeName             = cib.CurrencyEnglishName;
                        cib.ThreeLetterISOLanguageName     = culture.ThreeLetterIsoName;
                        cib.ThreeLetterWindowsLanguageName = culture.ThreeLetterWinName;
                        cib.TwoLetterISOLanguageName       = culture.TwoLetterIsoName;

                        cib.Register();

                        Console.WriteLine(culture.Code + " => created");
                    } catch (Exception e) {
                        Console.WriteLine("Could not register {0} - {1}", culture.Code, e.Message);
                    }
                }
                else
                {
                    Console.WriteLine("{0} already exsists", culture.Code);
                }
            }

            Console.WriteLine("Finished - press any key to exit");
            Console.ReadKey();
        }
	// Constructor.
	public UserDefinedRegionInfo(CultureAndRegionInfoBuilder builder)
			: base(-1)	// Don't try to recursively load an I18N handler.
			{
				this.builder = builder;
			}