show native names for each language

This commit is contained in:
Chris Danford
2006-01-27 08:13:01 +00:00
parent 898c8ebfeb
commit ec809e5e3e
+18 -6
View File
@@ -153,22 +153,34 @@ static void GameSel( int &sel, bool ToSel, const ConfOption *pConfOption )
static void LanguageChoices( vector<RString> &out ) static void LanguageChoices( vector<RString> &out )
{ {
THEME->GetLanguages( out ); vector<RString> vs;
THEME->GetLanguages( vs );
SortRStringArray( vs, true );
FOREACH_CONST( RString, vs, s )
{
const LanguageInfo *pLI = GetLanguageInfo( *s );
if( pLI )
out.push_back( pLI->szNativeName );
else
out.push_back( *s );
}
} }
static void Language( int &sel, bool ToSel, const ConfOption *pConfOption ) static void Language( int &sel, bool ToSel, const ConfOption *pConfOption )
{ {
vector<RString> choices; vector<RString> vs;
pConfOption->MakeOptionsList( choices ); THEME->GetLanguages( vs );
SortRStringArray( vs, true );
if( ToSel ) if( ToSel )
{ {
sel = 0; sel = 0;
for( unsigned i=1; i<choices.size(); i++ ) for( unsigned i=1; i<vs.size(); i++ )
if( !stricmp(choices[i], THEME->GetCurLanguage()) ) if( !stricmp(vs[i], THEME->GetCurLanguage()) )
sel = i; sel = i;
} else { } else {
const RString sNewLanguage = choices[sel]; const RString &sNewLanguage = vs[sel];
if( THEME->GetCurLanguage() != sNewLanguage ) if( THEME->GetCurLanguage() != sNewLanguage )
THEME->SwitchThemeAndLanguage( THEME->GetCurThemeName(), sNewLanguage, PREFSMAN->m_bPseudoLocalize ); THEME->SwitchThemeAndLanguage( THEME->GetCurThemeName(), sNewLanguage, PREFSMAN->m_bPseudoLocalize );