OpenBve.formMain.ListLanguages C# (CSharp) Méthode

ListLanguages() private méthode

private ListLanguages ( ) : void
Résultat void
		private void ListLanguages()
		{
			string Folder = Program.FileSystem.GetDataFolder("Languages");
			if (System.IO.Directory.Exists(Folder))
			{
				string[] Files = System.IO.Directory.GetFiles(Folder);
				string[] LanguageNames = new string[Files.Length];
				LanguageFiles = new string[Files.Length];
				int n = 0;
				for (int i = 0; i < Files.Length; i++)
				{
					string Title = System.IO.Path.GetFileName(Files[i]);
					if (Title != null && Title.EndsWith(".cfg", StringComparison.OrdinalIgnoreCase))
					{
						string Code = Title.Substring(0, Title.Length - 4);
						string[] Lines = System.IO.File.ReadAllLines(Files[i], System.Text.Encoding.UTF8);
						string Section = "";
						string languageName = Code;
						for (int j = 0; j < Lines.Length; j++)
						{
							Lines[j] = Lines[j].Trim();
							if (Lines[j].StartsWith("[", StringComparison.Ordinal) & Lines[j].EndsWith("]", StringComparison.Ordinal))
							{
								Section = Lines[j].Substring(1, Lines[j].Length - 2).Trim().ToLowerInvariant();
							}
							else if (!Lines[j].StartsWith(";", StringComparison.OrdinalIgnoreCase))
							{
								int k = Lines[j].IndexOf('=');
								if (k >= 0)
								{
									string Key = Lines[j].Substring(0, k).TrimEnd().ToLowerInvariant();
									string Value = Lines[j].Substring(k + 1).TrimStart();
									if (Section == "language" & Key == "name")
									{
										languageName = Value;
										break;
									}
								}
							}
						}
						LanguageFiles[n] = Files[i];
						LanguageNames[n] = languageName;
						n++;
					}
				}
				Array.Resize<string>(ref LanguageFiles, n);
				Array.Resize<string>(ref LanguageNames, n);
				Array.Sort<string, string>(LanguageNames, LanguageFiles);
				comboboxLanguages.Items.Clear();
				//Load all available languages
				for (int i = 0; i < Interface.AvailableLangauges.Count; i++)
				{
					comboboxLanguages.Items.Add(Interface.AvailableLangauges[i].Name);
				}
			}
			else {
				LanguageFiles = new string[] { };
				comboboxLanguages.Items.Clear();
			}
		}
formMain