core/Translator.cpp
changeset 1352 4241c756c278
parent 1330 ab94316bb52b
child 1406 f5c07ec3c052
     1.1 --- a/core/Translator.cpp	Sat Aug 18 22:51:25 2007 +0000
     1.2 +++ b/core/Translator.cpp	Sun Aug 19 13:25:42 2007 +0000
     1.3 @@ -38,6 +38,7 @@
     1.4  #include "LibrarySys.h"
     1.5  #include "sm_stringutil.h"
     1.6  #include "sourcemod.h"
     1.7 +#include "PlayerManager.h"
     1.8  
     1.9  Translator g_Translator;
    1.10  CPhraseFile *g_pCorePhrases = NULL;
    1.11 @@ -736,6 +737,32 @@
    1.12  	return true;
    1.13  }
    1.14  
    1.15 +bool Translator::GetLanguageByName(const char *name, unsigned int *index)
    1.16 +{
    1.17 +	CVector<Language *>::iterator iter;
    1.18 +	unsigned int id = 0;
    1.19 +
    1.20 +	for (iter=m_Languages.begin(); iter!=m_Languages.end(); iter++, id++)
    1.21 +	{
    1.22 +		if (strcasecmp(m_pStringTab->GetString((*iter)->m_FullName), name) == 0)
    1.23 +		{
    1.24 +			break;
    1.25 +		}
    1.26 +	}
    1.27 +
    1.28 +	if (iter == m_Languages.end())
    1.29 +	{
    1.30 +		return false;
    1.31 +	}
    1.32 +
    1.33 +	if (index)
    1.34 +	{
    1.35 +		*index = id;
    1.36 +	}
    1.37 +
    1.38 +	return true;
    1.39 +}
    1.40 +
    1.41  unsigned int Translator::GetLanguageCount()
    1.42  {
    1.43  	return (unsigned int)m_Languages.size();
    1.44 @@ -948,7 +975,8 @@
    1.45  
    1.46  unsigned int Translator::GetClientLanguage(int client)
    1.47  {
    1.48 -	return GetServerLanguage();
    1.49 +	CPlayer *pPlayer = g_Players.GetPlayerByIndex(client);
    1.50 +	return pPlayer->GetLanguageId();
    1.51  }
    1.52  
    1.53  bool Translator::GetLanguageInfo(unsigned int number, const char **code, const char **name)