| 1093 | // |
| 1094 | std::vector <std::string> gvLanguagesAvailable; |
| 1095 | int SE_GetNumLanguages(void) |
| 1096 | { |
| 1097 | if ( gvLanguagesAvailable.empty() ) |
| 1098 | { |
| 1099 | std::string strResults; |
| 1100 | /*int iFilesFound = */SE_BuildFileList( |
| 1101 | #ifdef _STRINGED |
| 1102 | va("C:\\Source\\Tools\\StringEd\\test_data\\%s",sSE_STRINGS_DIR) |
| 1103 | #else |
| 1104 | sSE_STRINGS_DIR |
| 1105 | #endif |
| 1106 | , strResults |
| 1107 | ); |
| 1108 | |
| 1109 | std::set<std::string> strUniqueStrings; // laziness <g> |
| 1110 | const char *p; |
| 1111 | while ((p=SE_GetFoundFile (strResults)) != NULL) |
| 1112 | { |
| 1113 | const char *psLanguage = TheStringPackage.ExtractLanguageFromPath( p ); |
| 1114 | |
| 1115 | // __DEBUGOUT( p ); |
| 1116 | // __DEBUGOUT( "\n" ); |
| 1117 | // __DEBUGOUT( psLanguage ); |
| 1118 | // __DEBUGOUT( "\n" ); |
| 1119 | |
| 1120 | if (!strUniqueStrings.count( psLanguage )) |
| 1121 | { |
| 1122 | strUniqueStrings.insert( psLanguage ); |
| 1123 | |
| 1124 | // if english is available, it should always be first... ( I suppose ) |
| 1125 | // |
| 1126 | if (!Q_stricmp(psLanguage,"english")) |
| 1127 | { |
| 1128 | gvLanguagesAvailable.insert( gvLanguagesAvailable.begin(), psLanguage ); |
| 1129 | } |
| 1130 | else |
| 1131 | { |
| 1132 | gvLanguagesAvailable.push_back( psLanguage ); |
| 1133 | } |
| 1134 | } |
| 1135 | } |
| 1136 | } |
| 1137 | |
| 1138 | return gvLanguagesAvailable.size(); |
| 1139 | } |
| 1140 | |
| 1141 | // SE_GetNumLanguages() must have been called before this... |
| 1142 | // |
no test coverage detected