DictionaryArray Exword::GetLocalDictionaries() { static const wxChar *country[] = { NULL, wxT("ja"), wxT("cn"), wxT("kr"), wxT("de"), wxT("es"), wxT("fr"), wxT("ru")}; DictionaryArray list; wxString path; if (IsConnected()) { path.Printf(wxT("%s%c%s%c"), Exword::GetUserDataDir().c_str(), wxFileName::GetPathSeparator(), country[m_region], wxFileName::GetPathSeparator()); wxDir dir(path); if (dir.IsOpened()) { wxString filename; bool cont = dir.GetFirst(&filename, wxEmptyString, wxDIR_DIRS); while (cont) { Dictionary *local = new LocalDictionary(filename, m_region); if (local->Exists()) { list.Add(local); } cont = dir.GetNext(&filename); } } } return list; }