/// <summary>
        /// Sort XML script file items.
        /// </summary>
        /// <param name="scriptFile">Script file path.</param>
        /// <param name="targetFilePath">Target file path.</param>
        private static void ExportSortedCleanXmlScriptFiles(XmlScriptFile scriptFile, string targetFilePath)
        {
            XmlScriptFile sortedCleanScriptFile = new XmlScriptFile();
            sortedCleanScriptFile.Language = scriptFile.Language;
            sortedCleanScriptFile.Encoding = scriptFile.Encoding;
            SortedDictionary<string, ScriptItem> sortedItems = new SortedDictionary<string, ScriptItem>();

            foreach (KeyValuePair<string, ScriptItem> pair in scriptFile.ItemDic)
            {
                sortedItems.Add(pair.Key, pair.Value);
            }

            foreach (KeyValuePair<string, ScriptItem> pair in sortedItems)
            {
                sortedCleanScriptFile.Items.Add(pair.Value);
                sortedCleanScriptFile.ItemDic.Add(pair.Key, pair.Value);
            }

            XmlScriptFile.ContentControler controler = new XmlScriptFile.ContentControler();
            controler.SaveComments = false;
            sortedCleanScriptFile.Save(targetFilePath, scriptFile.Encoding, controler);
        }
 /// <summary>
 /// Load script.
 /// </summary>
 /// <param name="scriptPath">ScriptPath.</param>
 /// <param name="errorSet">ErrorSet.</param>
 private void LoadScript(string scriptPath, ErrorSet errorSet)
 {
     XmlScriptFile xmlScript = new XmlScriptFile();
     XmlScriptFile.ContentControler controler = new XmlScriptFile.ContentControler();
     controler.LoadComments = _loadComments;
     xmlScript.Load(scriptPath, controler);
     if (_language == xmlScript.Language)
     {
         _xmlScriptFiles.Add(xmlScript);
         foreach (Error error in xmlScript.ErrorSet.Errors)
         {
             errorSet.Add(new Error(ScriptError.ScriptCollectionError,
                 Path.GetFileName(scriptPath),
                 error.ToString()));
         }
     }
     else
     {
         errorSet.Add(ScriptError.InvalidLanguage,
             Localor.LanguageToString(xmlScript.Language),
             Localor.LanguageToString(_language),
             Path.GetFileName(scriptPath));
     }
 }
 /// <summary>
 /// Save all script files.
 /// </summary>
 public void Save()
 {
     foreach (XmlScriptFile xmlScriptFile in _xmlScriptFiles)
     {
         XmlScriptFile.ContentControler controler = new XmlScriptFile.ContentControler();
         controler.SaveComments = _loadComments;
         xmlScriptFile.Save(xmlScriptFile.FilePath, null, controler);
     }
 }