Forex_Strategy_Builder.Language.GenerateLangFiles C# (CSharp) Метод

GenerateLangFiles() публичный статический Метод

Generates English.xml and Bulgarian.xml.
public static GenerateLangFiles ( ) : void
Результат void
        public static void GenerateLangFiles()
        {
            // Generate Bulgarian.xml
            string sFilePath = Path.Combine(Data.LanguageDir, "Bulgarian.xml");
            string sContent  = Properties.Resources.Bulgarian;
            SaveTextFile(sFilePath, sContent);

            // Generate English.xml
            string patternMain = @"<main>(?<main>.*)</main>";
            string patternAlt  = @"<alt>(?<alt>.*)</alt>";
            Regex expression = new Regex(".*" + patternMain + patternAlt + ".*", RegexOptions.Compiled);
            sFilePath = Path.Combine(Data.LanguageDir, "English.xml");
            StringBuilder sb = new StringBuilder();
            foreach (string sLine in sContent.Split(new string[] { Environment.NewLine }, StringSplitOptions.None))
            {
                Match match = expression.Match(sLine);
                if (match.Success)
                {
                    string main = match.Groups["main"].Value;
                    string alt  = match.Groups["alt"].Value;
                    sb.AppendLine(sLine.Replace(alt, main));
                }
                else
                    sb.AppendLine(sLine);
            }
            sContent = sb.ToString();
            sContent = sContent.Replace("Български", "English");
            SaveTextFile(sFilePath, sContent);

            return;
        }

Usage Example

        /// <summary>
        /// Does the job
        /// </summary>
        private void ParseInput(string input)
        {
            var asCommands = new[]
            {
                "help           - Shows the commands list.",
                "clr            - Clears the screen.",
                "pos #          - Shows the parameters of position #.",
                "ord #          - Shows the parameters of order #.",
                "bar #          - Shows the prices of bar #.",
                "ind #          - Shows the indicators for bar #.",
                "str            - shows the strategy.",
                "debug          - Turns on debug mode.",
                "undebug        - Turns off debug mode.",
                "loadlang       - Reloads the language file.",
                "missingphrases - Shows all phrases, which are used in the program but are not included in the language file.",
                "genlangfiles   - Regenerates English.xml.",
                "repairlang     - Repairs all the language files.",
                "importlang     - Imports a translation (Read more first).",
                "langtowiki     - Shows translation in wiki format.",
                "resetinstrum   - Resets the instruments list.",
                "speedtest      - Performs a speed test.",
                "reloadtips     - Reloads the starting tips.",
                "showalltips    - Shows all the starting tips."
            };

            if (input.StartsWith("help") || input.StartsWith("?"))
            {
                TbxOutput.Text = "Commands" + Environment.NewLine + "-----------------" + Environment.NewLine;
                foreach (string sCommand in asCommands)
                {
                    TbxOutput.Text += sCommand + Environment.NewLine;
                }
            }
            else if (input.StartsWith("clr"))
            {
                TbxOutput.Text = "";
            }
            else if (input.StartsWith("debug"))
            {
                TbxOutput.Text += "Debug mode - on" + Environment.NewLine;
                Data.Debug      = true;
            }
            else if (input.StartsWith("nodebug"))
            {
                TbxOutput.Text += "Debug mode - off" + Environment.NewLine;
                Data.Debug      = false;
            }
            else if (input.StartsWith("loadlang"))
            {
                Language.InitLanguages();
                TbxOutput.Text += "Language file loaded." + Environment.NewLine;
            }
            else if (input.StartsWith("importlang"))
            {
                Language.ImportLanguageFile(TbxOutput.Text);
            }
            else if (input.StartsWith("langtowiki"))
            {
                Language.ShowPhrases(4);
            }
            else if (input.StartsWith("genlangfiles"))
            {
                Language.GenerateLangFiles();
                TbxOutput.Text += "Language files generated." + Environment.NewLine;
            }
            else if (input.StartsWith("repairlang"))
            {
                TbxOutput.Text += "Language files repair" + Environment.NewLine + "---------------------" +
                                  Environment.NewLine + "";
                TbxOutput.Text += Language.RapairAllLangFiles();
            }
            else if (input.StartsWith("resetinstrum"))
            {
                Instruments.ResetInstruments();
                TbxOutput.Text += "The instruments are reset." + Environment.NewLine + "Restart the program now!" +
                                  Environment.NewLine;
            }
            else if (input.StartsWith("missingphrases"))
            {
                ShowMissingPhrases();
            }
            else if (input.StartsWith("speedtest"))
            {
                SpeedTest();
            }
            else if (input.StartsWith("str"))
            {
                ShowStrategy();
            }
            else if (input.StartsWith("pos"))
            {
                ShowPosition(input);
            }
            else if (input.StartsWith("ord"))
            {
                ShowOrder(input);
            }
            else if (input.StartsWith("bar"))
            {
                ShowBar(input);
            }
            else if (input.StartsWith("ind"))
            {
                ShowIndicators(input);
            }
            else if (input.StartsWith("reloadtips"))
            {
                var startingTips = new StartingTips();
                startingTips.Show();
            }
            else if (input.StartsWith("showalltips"))
            {
                var startingTips = new StartingTips {
                    ShowAllTips = true
                };
                startingTips.Show();
            }

            TbxOutput.Focus();
            TbxOutput.ScrollToCaret();

            TbxInput.Focus();
            TbxInput.Text = "";
        }