added a translation helper

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40734
This commit is contained in:
David Anderson 2007-05-02 22:49:28 +00:00
parent b8d3ea5196
commit 39110a7a51
2 changed files with 15 additions and 7 deletions

View File

@ -33,16 +33,23 @@
return 0; \
}
inline bool TryServerLanguage(const char *serverlang, unsigned int *langid)
size_t CorePlayerTranslate(int client, char *buffer, size_t maxlength, const char *phrase, void **params)
{
if (!g_Translator.GetLanguageByCode(serverlang, langid))
Translation pTrans;
TransError err;
err = g_pCorePhrases->GetTranslation(phrase, g_Translator.GetServerLanguage(), &pTrans);
if (err != Trans_Okay && g_Translator.GetServerLanguage() != LANG_ENGLISH)
{
if (!g_Translator.GetLanguageByCode("en", langid))
{
return false;
}
err = g_pCorePhrases->GetTranslation(phrase, LANG_ENGLISH, &pTrans);
}
return true;
if (err != Trans_Okay)
{
return UTIL_Format(buffer, maxlength, "%s", phrase);
}
return g_Translator.Translate(buffer, maxlength, params, &pTrans);
}
inline bool TryTranslation(CPlugin *pl, const char *key, unsigned int langid, unsigned int langcount, Translation *pTrans)

View File

@ -32,5 +32,6 @@ size_t gnprintf(char *buffer, size_t maxlen, const char *format, void **args);
size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...);
size_t UTIL_FormatArgs(char *buffer, size_t maxlength, const char *fmt, va_list ap);
char *sm_strdup(const char *str);
size_t CorePlayerTranslate(int client, char *buffer, size_t maxlength, const char *phrase, void **params);
#endif // _INCLUDE_SOURCEMOD_STRINGUTIL_H_