From d7fe7a837b9f3fff3cd7b320eb836a80226af741 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 23 Sep 2016 21:31:53 -0400 Subject: language: Add some overloaded Translate functions that accept Anope::string --- include/language.h | 3 +++ src/language.cpp | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/include/language.h b/include/language.h index a506f3182..2cfdfe40d 100644 --- a/include/language.h +++ b/include/language.h @@ -49,6 +49,7 @@ namespace Language * @return The translated string if found, else the original string. */ extern CoreExport const char *Translate(const char *string); + extern CoreExport const char *Translate(const Anope::string &string); /** Translates a string to the language of the given user. * @param u The user to transate the string for @@ -56,6 +57,7 @@ namespace Language * @return The translated string if found, else the original string. */ extern CoreExport const char *Translate(User *u, const char *string); + extern CoreExport const char *Translate(User *u, const Anope::string &string); /** Translates a string to the language of the given account. * @param nc The account to translate the string for @@ -63,6 +65,7 @@ namespace Language * @return The translated string if count, else the original string */ extern CoreExport const char *Translate(NickServ::Account *nc, const char *string); + extern CoreExport const char *Translate(NickServ::Account *nc, const Anope::string &string); /** Translatesa string to the given language. * @param lang The language to translate to diff --git a/src/language.cpp b/src/language.cpp index c2f8de666..b04068f83 100644 --- a/src/language.cpp +++ b/src/language.cpp @@ -69,6 +69,11 @@ const char *Language::Translate(const char *string) return Translate("", string); } +const char *Language::Translate(const Anope::string &string) +{ + return Translate("", string.c_str()); +} + const char *Language::Translate(User *u, const char *string) { if (u && u->Account()) @@ -77,11 +82,21 @@ const char *Language::Translate(User *u, const char *string) return Translate("", string); } +const char *Language::Translate(User *u, const Anope::string &string) +{ + return Translate(u, string.c_str()); +} + const char *Language::Translate(NickServ::Account *nc, const char *string) { return Translate(nc ? nc->GetLanguage().c_str() : "", string); } +const char *Language::Translate(NickServ::Account *nc, const Anope::string &string) +{ + return Translate(nc, string.c_str()); +} + #if GETTEXT_FOUND const char *Language::Translate(const char *lang, const char *string) -- cgit