private ArrayList GetApplicationAvailableCultures() {
ArrayList availableCultures = new ArrayList();
Hashtable allCultures = GetAllCultures();
string executableRoot = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
foreach (string directory in Directory.GetDirectories(executableRoot)) {
string subDirectory = Path.GetFileName(directory);
CultureInfo ci = (CultureInfo)allCultures[subDirectory];
if (ci != null) {
availableCultures.Add(ci);
}
}
return availableCultures;
}