1.1 --- a/core/Translator.cpp Tue Apr 03 07:02:27 2007 +0000
1.2 +++ b/core/Translator.cpp Thu Apr 05 03:02:00 2007 +0000
1.3 @@ -584,6 +584,7 @@
1.4 {
1.5 m_pStringTab = new BaseStringTable(2048);
1.6 m_pLCodeLookup = sm_trie_create();
1.7 + strncopy(m_ServerLangCode, "en", sizeof(m_ServerLangCode));
1.8 }
1.9
1.10 Translator::~Translator()
1.11 @@ -603,6 +604,17 @@
1.12 delete m_pStringTab;
1.13 }
1.14
1.15 +CoreConfigErr Translator::OnSourceModConfigChanged(const char *option, const char *value)
1.16 +{
1.17 + if (strcasecmp(option, "ServerLang") == 0)
1.18 + {
1.19 + strncopy(m_ServerLangCode, value, sizeof(m_ServerLangCode));
1.20 + return CoreConfig_Okay;
1.21 + }
1.22 +
1.23 + return CoreConfig_InvalidOption;
1.24 +}
1.25 +
1.26 void Translator::OnSourceModAllInitialized()
1.27 {
1.28 AddLanguage("en", "English");
1.29 @@ -801,9 +813,16 @@
1.30 return Trans_BadPhraseFile;
1.31 }
1.32
1.33 + /* Using server lang temporarily until client lang stuff is implemented */
1.34 + unsigned int serverLang;
1.35 + if (!sm_trie_retrieve(m_pLCodeLookup, m_ServerLangCode, (void **)&serverLang))
1.36 + {
1.37 + return Trans_BadLanguage;
1.38 + }
1.39 +
1.40 Translation trans;
1.41 TransError err;
1.42 - if ((err=g_pCorePhrases->GetTranslation(phrase, 0, &trans)) != Trans_Okay)
1.43 + if ((err=g_pCorePhrases->GetTranslation(phrase, serverLang, &trans)) != Trans_Okay)
1.44 {
1.45 return err;
1.46 }
1.47 @@ -817,3 +836,8 @@
1.48
1.49 return Trans_Okay;
1.50 }
1.51 +
1.52 +const char *Translator::GetServerLanguageCode() const
1.53 +{
1.54 + return m_ServerLangCode;
1.55 +}