static void CheckLangFile()
{
XmlDocument xmlLanguage = new XmlDocument();
xmlLanguage.InnerXml = Properties.Resources.Bulgarian;
XmlNodeList xmlStringList = xmlLanguage.GetElementsByTagName("str");
int iStrings = xmlStringList.Count;
List<string> listPhrases= new List<string>(iStrings);
foreach (XmlNode nodeString in xmlStringList)
{
string sMain = nodeString.SelectSingleNode("main").InnerText;
if (listPhrases.Contains(sMain))
{
string sMessage = "The string" + ": " + sMain + Environment.NewLine + "appears more than once in the base language file";
System.Windows.Forms.MessageBox.Show(sMessage, "Language Files Loading", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
listPhrases.Add(sMain);
}
}
string sErrors = "";
foreach (KeyValuePair<string, string> kvp in dictLanguage)
if (!listPhrases.Contains(kvp.Key))
sErrors += kvp.Key + Environment.NewLine;
if (sErrors != "")
{
string sMessage = "Unused phrases:" + Environment.NewLine + Environment.NewLine + sErrors;
System.Windows.Forms.MessageBox.Show(sMessage, "Language Files Loading", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
sErrors = "";
foreach (string sPhrase in listPhrases)
if (!dictLanguage.ContainsKey(sPhrase))
sErrors += sPhrase + Environment.NewLine;
if (sErrors != "")
{
string sMessage = "The language file does not contain the phrases:" + Environment.NewLine + Environment.NewLine + sErrors;
System.Windows.Forms.MessageBox.Show(sMessage, "Language Files Loading", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
return;
}