From a1b36ec0a527e6d7a9d224b56bf9571619d5f92e Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 17 Jun 2011 19:57:43 -0400 Subject: Search all domains for language strings, fixes the mess that we used to use to translate strings in 3rd party modules --- include/extern.h | 10 +- include/language.h | 172 +++++++++++------------ include/modules.h | 6 - include/services.h | 5 +- language/update.sh | 2 +- modules/core/bs_kick.cpp | 4 +- modules/core/bs_main.cpp | 12 +- modules/core/cs_access.cpp | 2 +- modules/core/cs_main.cpp | 15 +- modules/core/cs_suspend.cpp | 2 +- modules/core/ms_main.cpp | 10 +- modules/core/ms_read.cpp | 2 +- modules/core/ns_help.cpp | 2 +- modules/core/ns_main.cpp | 10 +- modules/core/ns_recover.cpp | 4 +- modules/core/ns_resetpass.cpp | 6 +- modules/core/ns_sendpass.cpp | 6 +- modules/core/ns_set_language.cpp | 6 +- modules/core/os_main.cpp | 4 +- modules/extra/cs_appendtopic.cpp | 6 +- modules/extra/cs_enforce.cpp | 28 ++-- modules/extra/cs_tban.cpp | 8 +- modules/extra/hs_request.cpp | 48 +++---- modules/extra/language/cs_appendtopic.de_DE.po | 8 +- modules/extra/language/cs_appendtopic.it_IT.po | 7 +- modules/extra/language/cs_appendtopic.nl_NL.po | 7 +- modules/extra/language/cs_appendtopic.pot | 6 +- modules/extra/language/cs_appendtopic.pt_PT.po | 7 +- modules/extra/language/cs_appendtopic.ru_RU.po | 7 +- modules/extra/language/cs_enforce.de_DE.po | 19 +-- modules/extra/language/cs_enforce.it_IT.po | 19 +-- modules/extra/language/cs_enforce.nl_NL.po | 19 +-- modules/extra/language/cs_enforce.pot | 18 +-- modules/extra/language/cs_enforce.pt_PT.po | 19 +-- modules/extra/language/cs_enforce.ru_RU.po | 19 +-- modules/extra/language/cs_entrymsg.pot | 30 ++-- modules/extra/language/cs_tban.de_DE.po | 17 +-- modules/extra/language/cs_tban.it_IT.po | 17 +-- modules/extra/language/cs_tban.nl_NL.po | 17 +-- modules/extra/language/cs_tban.pot | 16 +-- modules/extra/language/cs_tban.pt_PT.po | 17 +-- modules/extra/language/cs_tban.ru_RU.po | 17 +-- modules/extra/language/hs_request.it_IT.po | 90 +++++++----- modules/extra/language/hs_request.nl_NL.po | 90 +++++++----- modules/extra/language/hs_request.pot | 73 +++++----- modules/extra/language/hs_request.pt_PT.po | 90 +++++++----- modules/extra/language/hs_request.ru_RU.po | 90 +++++++----- modules/extra/language/m_ldap_authentication.pot | 27 ++++ modules/extra/language/ns_maxemail.pot | 2 +- modules/extra/language/os_defcon.pot | 100 +++++++++++++ modules/extra/language/update.sh | 2 +- modules/extra/m_async_commands.cpp | 5 +- modules/extra/ns_maxemail.cpp | 4 +- modules/extra/os_defcon.cpp | 4 +- src/botserv.cpp | 6 +- src/command.cpp | 7 +- src/commands.cpp | 13 +- src/language.cpp | 58 +++----- src/misc.cpp | 25 ++-- src/module.cpp | 17 ++- src/modules.cpp | 22 --- src/regchannel.cpp | 4 +- src/users.cpp | 5 +- 63 files changed, 762 insertions(+), 628 deletions(-) create mode 100644 modules/extra/language/m_ldap_authentication.pot create mode 100644 modules/extra/language/os_defcon.pot diff --git a/include/extern.h b/include/extern.h index 8aa5428a7..91312d1ab 100644 --- a/include/extern.h +++ b/include/extern.h @@ -93,12 +93,12 @@ E void pmodule_ircd_message(IRCdMessage *message); /**** language.cpp ****/ E std::vector languages; +E std::vector domains; E void InitLanguages(); -E const Anope::string GetString(NickCore *nc, const char *string); -E const Anope::string GetString(const Anope::string &domain, const Anope::string &lang, const char *string); -E void PushLanguage(const Anope::string &, Anope::string); -E void PopLanguage(); -E const char *anope_gettext(const char *string); +E const char *translate(const char *string); +E const char *translate(User *u, const char *string); +E const char *translate(NickCore *nc, const char *string); +E const char *anope_gettext(const char *lang, const char *string); E void SyntaxError(CommandSource &source, const Anope::string &command, const Anope::string &message); /**** main.c ****/ diff --git a/include/language.h b/include/language.h index e8d69aaf0..efddc0a34 100644 --- a/include/language.h +++ b/include/language.h @@ -6,107 +6,107 @@ * Please read COPYING and README for further details. */ -#define MORE_INFO gtl("\002%s%s HELP %s\002 for more information.") -#define BAD_USERHOST_MASK gtl("Mask must be in the form \037user\037@\037host\037.") -#define BAD_EXPIRY_TIME gtl("Invalid expiry time.") -#define USERHOST_MASK_TOO_WIDE gtl("%s coverage is too wide; Please use a more specific mask.") -#define READ_ONLY_MODE gtl("Services are in read-only mode!") -#define PASSWORD_INCORRECT gtl("Password incorrect.") -#define ACCESS_DENIED gtl("Access denied.") -#define MORE_OBSCURE_PASSWORD gtl("Please try again with a more obscure password. Passwords should be at least\n \ +#define MORE_INFO _("\002%s%s HELP %s\002 for more information.") +#define BAD_USERHOST_MASK _("Mask must be in the form \037user\037@\037host\037.") +#define BAD_EXPIRY_TIME _("Invalid expiry time.") +#define USERHOST_MASK_TOO_WIDE _("%s coverage is too wide; Please use a more specific mask.") +#define READ_ONLY_MODE _("Services are in read-only mode!") +#define PASSWORD_INCORRECT _("Password incorrect.") +#define ACCESS_DENIED _("Access denied.") +#define MORE_OBSCURE_PASSWORD _("Please try again with a more obscure password. Passwords should be at least\n \ five characters long, should not be something easily guessed\n \ (e.g. your real name or your nick), and cannot contain the space or tab characters.") -#define PASSWORD_TOO_LONG gtl("Your password is too long. Please try again with a shorter password.") -#define NICK_NOT_REGISTERED gtl("Your nick isn't registered.") -#define NICK_X_NOT_REGISTERED gtl("Nick \002%s\002 isn't registered.") -#define NICK_X_NOT_IN_USE gtl("Nick \002%s\002 isn't currently in use.") -#define NICK_X_NOT_ON_CHAN gtl("\002%s\002 is not currently on channel %s.") -#define NICK_X_SUSPENDED gtl("Nick %s is currently suspended.") -#define CHAN_X_SUSPENDED gtl("Channel %s is currently suspended.") -#define CHAN_X_NOT_REGISTERED gtl("Channel \002%s\002 isn't registered.") -#define CHAN_X_NOT_IN_USE gtl("Channel \002%s\002 doesn't exist.") -#define NICK_IDENTIFY_REQUIRED gtl("Password authentication required for that command.\n" \ +#define PASSWORD_TOO_LONG _("Your password is too long. Please try again with a shorter password.") +#define NICK_NOT_REGISTERED _("Your nick isn't registered.") +#define NICK_X_NOT_REGISTERED _("Nick \002%s\002 isn't registered.") +#define NICK_X_NOT_IN_USE _("Nick \002%s\002 isn't currently in use.") +#define NICK_X_NOT_ON_CHAN _("\002%s\002 is not currently on channel %s.") +#define NICK_X_SUSPENDED _("Nick %s is currently suspended.") +#define CHAN_X_SUSPENDED _("Channel %s is currently suspended.") +#define CHAN_X_NOT_REGISTERED _("Channel \002%s\002 isn't registered.") +#define CHAN_X_NOT_IN_USE _("Channel \002%s\002 doesn't exist.") +#define NICK_IDENTIFY_REQUIRED _("Password authentication required for that command.\n" \ "Retry after typing \002%s%s IDENTIFY \037password\037\002.") -#define MAIL_X_INVALID gtl("\002%s\002 is not a valid e-mail address.") -#define NO_REASON gtl("No reason") -#define UNKNOWN gtl("") -#define NO_EXPIRE gtl("does not expire") -#define END_OF_ANY_LIST gtl("End of \002%s\002 list.") -#define LIST_INCORRECT_RANGE gtl("Incorrect range specified. The correct syntax is \002#\037from\037-\037to\037\002.") -#define UNKNOWN_OPTION gtl("Unknown option \002%s\002.\n" \ +#define MAIL_X_INVALID _("\002%s\002 is not a valid e-mail address.") +#define NO_REASON _("No reason") +#define UNKNOWN _("") +#define NO_EXPIRE _("does not expire") +#define END_OF_ANY_LIST _("End of \002%s\002 list.") +#define LIST_INCORRECT_RANGE _("Incorrect range specified. The correct syntax is \002#\037from\037-\037to\037\002.") +#define UNKNOWN_OPTION _("Unknown option \002%s\002.\n" \ "Type %s%s HELP %s for more information.") -#define NICK_IS_REGISTERED gtl("This nick is owned by someone else. Please choose another.\n" \ +#define NICK_IS_REGISTERED _("This nick is owned by someone else. Please choose another.\n" \ "(If this is your nick, type \002%s%s IDENTIFY \037password\037\002.)") -#define NICK_IS_SECURE gtl("This nickname is registered and protected. If it is your\n" \ +#define NICK_IS_SECURE _("This nickname is registered and protected. If it is your\n" \ "nick, type \002%s%s IDENTIFY \037password\037\002. Otherwise,\n" \ "please choose a different nick.") -#define FORCENICKCHANGE_NOW gtl("This nickname has been registered; you may not use it.") -#define NICK_CANNOT_BE_REGISTERED gtl("Nickname \002%s\002 may not be registered.") -#define NICK_ALREADY_REGISTERED gtl("Nickname \002%s\002 is already registered!") -#define NICK_SET_SYNTAX gtl("SET \037option\037 \037parameters\037") -#define NICK_SET_DISABLED gtl("Sorry, nickname option setting is temporarily disabled.") -#define NICK_SET_UNKNOWN_OPTION gtl("Unknown SET option \002%s%s\002.") -#define NICK_SET_DISPLAY_CHANGED gtl("The new display is now \002%s\002.") -#define NICK_SASET_SYNTAX gtl("SASET \037nickname\037 \037option\037 \037parameters\037") -#define NICK_SASET_DISPLAY_INVALID gtl("The new display for \002%s\002 MUST be a nickname of the nickname group!") -#define NICK_SASET_PASSWORD_FAILED gtl("Sorry, couldn't change password for \002%s\002.") -#define NICK_SASET_PASSWORD_CHANGED gtl("Password for \002%s\002 changed.") -#define NICK_SASET_PASSWORD_CHANGED_TO gtl("Password for \002%s\002 changed to \002%s\002.") -#define NICK_INFO_OPTIONS gtl(" Options: %s") -#define NICK_LIST_SYNTAX gtl("LIST \037pattern\037") -#define LIST_HEADER gtl("List of entries matching \002%s\002:") -#define NICK_RECOVERED gtl("User claiming your nick has been killed.\n" \ +#define FORCENICKCHANGE_NOW _("This nickname has been registered; you may not use it.") +#define NICK_CANNOT_BE_REGISTERED _("Nickname \002%s\002 may not be registered.") +#define NICK_ALREADY_REGISTERED _("Nickname \002%s\002 is already registered!") +#define NICK_SET_SYNTAX _("SET \037option\037 \037parameters\037") +#define NICK_SET_DISABLED _("Sorry, nickname option setting is temporarily disabled.") +#define NICK_SET_UNKNOWN_OPTION _("Unknown SET option \002%s%s\002.") +#define NICK_SET_DISPLAY_CHANGED _("The new display is now \002%s\002.") +#define NICK_SASET_SYNTAX _("SASET \037nickname\037 \037option\037 \037parameters\037") +#define NICK_SASET_DISPLAY_INVALID _("The new display for \002%s\002 MUST be a nickname of the nickname group!") +#define NICK_SASET_PASSWORD_FAILED _("Sorry, couldn't change password for \002%s\002.") +#define NICK_SASET_PASSWORD_CHANGED _("Password for \002%s\002 changed.") +#define NICK_SASET_PASSWORD_CHANGED_TO _("Password for \002%s\002 changed to \002%s\002.") +#define NICK_INFO_OPTIONS _(" Options: %s") +#define NICK_LIST_SYNTAX _("LIST \037pattern\037") +#define LIST_HEADER _("List of entries matching \002%s\002:") +#define NICK_RECOVERED _("User claiming your nick has been killed.\n" \ "\002%s%s RELEASE %s\002 to get it back before %s timeout.") -#define NICK_REQUESTED gtl("This nick has already been requested, please check your e-mail address for the pass code") -#define NICK_CONFIRM_INVALID gtl("Invalid passcode has been entered, please check the e-mail again, and retry") -#define CHAN_NOT_ALLOWED_TO_JOIN gtl("You are not permitted to be on this channel.") -#define CHAN_X_INVALID gtl("Channel %s is not a valid channel.") -#define CHAN_REACHED_CHANNEL_LIMIT gtl("Sorry, you have already reached your limit of \002%d\002 channels.") -#define CHAN_EXCEEDED_CHANNEL_LIMIT gtl("Sorry, you have already exceeded your limit of \002%d\002 channels.") -#define CHAN_SYMBOL_REQUIRED gtl("Please use the symbol of \002#\002 when attempting to register") -#define CHAN_SASET_SYNTAX gtl("SASET \002channel\002 \037option\037 \037parameters\037") -#define CHAN_SET_SYNTAX gtl("SET \037channel\037 \037option\037 \037parameters\037") -#define CHAN_SET_DISABLED gtl("Sorry, channel option setting is temporarily disabled.") -#define CHAN_SETTING_CHANGED gtl("%s for %s set to %s.") -#define CHAN_SETTING_UNSET gtl("%s for %s unset.") -#define CHAN_SET_MLOCK_DEPRECATED gtl("MLOCK is deprecated. Use \002%s%s HELP MODE\002 instead.") -#define CHAN_ACCESS_LEVEL_RANGE gtl("Access level must be between %d and %d inclusive.") -#define CHAN_ACCESS_LIST_HEADER gtl("Access list for %s:\n" \ +#define NICK_REQUESTED _("This nick has already been requested, please check your e-mail address for the pass code") +#define NICK_CONFIRM_INVALID _("Invalid passcode has been entered, please check the e-mail again, and retry") +#define CHAN_NOT_ALLOWED_TO_JOIN _("You are not permitted to be on this channel.") +#define CHAN_X_INVALID _("Channel %s is not a valid channel.") +#define CHAN_REACHED_CHANNEL_LIMIT _("Sorry, you have already reached your limit of \002%d\002 channels.") +#define CHAN_EXCEEDED_CHANNEL_LIMIT _("Sorry, you have already exceeded your limit of \002%d\002 channels.") +#define CHAN_SYMBOL_REQUIRED _("Please use the symbol of \002#\002 when attempting to register") +#define CHAN_SASET_SYNTAX _("SASET \002channel\002 \037option\037 \037parameters\037") +#define CHAN_SET_SYNTAX _("SET \037channel\037 \037option\037 \037parameters\037") +#define CHAN_SET_DISABLED _("Sorry, channel option setting is temporarily disabled.") +#define CHAN_SETTING_CHANGED _("%s for %s set to %s.") +#define CHAN_SETTING_UNSET _("%s for %s unset.") +#define CHAN_SET_MLOCK_DEPRECATED _("MLOCK is deprecated. Use \002%s%s HELP MODE\002 instead.") +#define CHAN_ACCESS_LEVEL_RANGE _("Access level must be between %d and %d inclusive.") +#define CHAN_ACCESS_LIST_HEADER _("Access list for %s:\n" \ " Num Lev Mask") -#define CHAN_ACCESS_VIEW_XOP_FORMAT gtl(" %3d %s %s\n" \ +#define CHAN_ACCESS_VIEW_XOP_FORMAT _(" %3d %s %s\n" \ " by %s, last seen %s") -#define CHAN_ACCESS_VIEW_AXS_FORMAT gtl(" %3d %4d %s\n" \ +#define CHAN_ACCESS_VIEW_AXS_FORMAT _(" %3d %4d %s\n" \ " by %s, last seen %s") -#define CHAN_AKICK_VIEW_FORMAT gtl("%3d %s (by %s on %s)\n" \ +#define CHAN_AKICK_VIEW_FORMAT _("%3d %s (by %s on %s)\n" \ " %s") -#define CHAN_INFO_HEADER gtl("Information for channel \002%s\002:") -#define CHAN_EXCEPTED gtl("\002%s\002 matches an except on %s and cannot be banned until the except have been removed.") -#define CHAN_LIST_ENTRY gtl("%3d %s\n" \ +#define CHAN_INFO_HEADER _("Information for channel \002%s\002:") +#define CHAN_EXCEPTED _("\002%s\002 matches an except on %s and cannot be banned until the except have been removed.") +#define CHAN_LIST_ENTRY _("%3d %s\n" \ " Added by %s on %s") -#define MEMO_NEW_X_MEMO_ARRIVED gtl("There is a new memo on channel %s.\n" \ +#define MEMO_NEW_X_MEMO_ARRIVED _("There is a new memo on channel %s.\n" \ "Type \002%s%s READ %s %d\002 to read it.") -#define MEMO_NEW_MEMO_ARRIVED gtl("You have a new memo from %s.\n" \ +#define MEMO_NEW_MEMO_ARRIVED _("You have a new memo from %s.\n" \ "Type \002%s%s READ %d\002 to read it.") -#define MEMO_HAVE_NO_MEMOS gtl("You have no memos.") -#define MEMO_X_HAS_NO_MEMOS gtl("%s has no memos.") -#define MEMO_SEND_SYNTAX gtl("SEND {\037nick\037 | \037channel\037} \037memo-text\037") -#define MEMO_SEND_DISABLED gtl("Sorry, memo sending is temporarily disabled.") -#define MEMO_HAVE_NO_NEW_MEMOS gtl("You have no new memos.") -#define MEMO_X_HAS_NO_NEW_MEMOS gtl("%s has no new memos.") -#define BOT_DOES_NOT_EXIST gtl("Bot \002%s\002 does not exist.") -#define BOT_NOT_ASSIGNED gtl("You must assign a bot to the channel before using this command.\n" \ +#define MEMO_HAVE_NO_MEMOS _("You have no memos.") +#define MEMO_X_HAS_NO_MEMOS _("%s has no memos.") +#define MEMO_SEND_SYNTAX _("SEND {\037nick\037 | \037channel\037} \037memo-text\037") +#define MEMO_SEND_DISABLED _("Sorry, memo sending is temporarily disabled.") +#define MEMO_HAVE_NO_NEW_MEMOS _("You have no new memos.") +#define MEMO_X_HAS_NO_NEW_MEMOS _("%s has no new memos.") +#define BOT_DOES_NOT_EXIST _("Bot \002%s\002 does not exist.") +#define BOT_NOT_ASSIGNED _("You must assign a bot to the channel before using this command.\n" \ "Type %s%s HELP ASSIGN for more information.") -#define BOT_NOT_ON_CHANNEL gtl("Bot is not on channel \002%s\002.") -#define BOT_ASSIGN_READONLY gtl("Sorry, bot assignment is temporarily disabled.") -#define ENABLED gtl("Enabled") -#define DISABLED gtl("Disabled") -#define OPER_LIST_FORMAT gtl(" %3d %-32s %s") -#define OPER_VIEW_FORMAT gtl("%3d %s (by %s on %s; %s)\n" \ +#define BOT_NOT_ON_CHANNEL _("Bot is not on channel \002%s\002.") +#define BOT_ASSIGN_READONLY _("Sorry, bot assignment is temporarily disabled.") +#define ENABLED _("Enabled") +#define DISABLED _("Disabled") +#define OPER_LIST_FORMAT _(" %3d %-32s %s") +#define OPER_VIEW_FORMAT _("%3d %s (by %s on %s; %s)\n" \ " %s") -#define HOST_SET_ERROR gtl("A vhost must be in the format of a valid hostmask.") -#define HOST_SET_IDENT_ERROR gtl("A vhost ident must be in the format of a valid ident") -#define HOST_SET_TOOLONG gtl("Error! The vhost is too long, please use a host shorter than %d characters.") -#define HOST_SET_IDENTTOOLONG gtl("Error! The Ident is too long, please use an ident shorter than %d characters.") -#define HOST_NOT_ASSIGNED gtl("Please contact an Operator to get a vhost assigned to this nick.") -#define HOST_NO_VIDENT gtl("Your IRCD does not support vIdent's, if this is incorrect, please report this as a possible bug") +#define HOST_SET_ERROR _("A vhost must be in the format of a valid hostmask.") +#define HOST_SET_IDENT_ERROR _("A vhost ident must be in the format of a valid ident") +#define HOST_SET_TOOLONG _("Error! The vhost is too long, please use a host shorter than %d characters.") +#define HOST_SET_IDENTTOOLONG _("Error! The Ident is too long, please use an ident shorter than %d characters.") +#define HOST_NOT_ASSIGNED _("Please contact an Operator to get a vhost assigned to this nick.") +#define HOST_NO_VIDENT _("Your IRCD does not support vIdent's, if this is incorrect, please report this as a possible bug") diff --git a/include/modules.h b/include/modules.h index 0f58afebb..b9ed03664 100644 --- a/include/modules.h +++ b/include/modules.h @@ -270,12 +270,6 @@ class CoreExport Module : public Extensible */ Version GetVersion() const; - /** Send a message to a user in their language, if a translation is available - * @param source The source of the message - * @param fmt The message - */ - void SendMessage(CommandSource &source, const char *fmt, ...); - /** * Add a module provided command to the given service. * @param bi The service to add the command to diff --git a/include/services.h b/include/services.h index 8aea5b019..fdc78ff59 100644 --- a/include/services.h +++ b/include/services.h @@ -45,11 +45,8 @@ #if GETTEXT_FOUND # include -# define _(x) anope_gettext(x) -#else -# define _(x) x #endif -#define gtl(x) x +#define _(x) x #ifndef _WIN32 # include diff --git a/language/update.sh b/language/update.sh index 8ebda609e..8302d813c 100755 --- a/language/update.sh +++ b/language/update.sh @@ -7,7 +7,7 @@ cd .. FILES=`find ./ -name *.cpp -o -name *.h | grep -v /modules/extra/` for f in $FILES do - xgettext -C -s -d Anope -j -o language/anope.pot --from-code=utf-8 --keyword --keyword=_ --keyword=gtl $f + xgettext -C -s -d Anope -j -o language/anope.pot --from-code=utf-8 --keyword --keyword=_ $f done cd - diff --git a/modules/core/bs_kick.cpp b/modules/core/bs_kick.cpp index 66232f10c..3e6719338 100644 --- a/modules/core/bs_kick.cpp +++ b/modules/core/bs_kick.cpp @@ -616,10 +616,8 @@ class BSKick : public Module if (!ci || !ci->bi || !ci->c || !u || u->server->IsULined()) return; - Anope::string fmt = GetString(u->Account(), message); + Anope::string fmt = translate(u, message); va_start(args, message); - if (fmt.empty()) - return; vsnprintf(buf, sizeof(buf), fmt.c_str(), args); va_end(args); diff --git a/modules/core/bs_main.cpp b/modules/core/bs_main.cpp index 442d522db..e325b012f 100644 --- a/modules/core/bs_main.cpp +++ b/modules/core/bs_main.cpp @@ -24,8 +24,6 @@ class BotServBotInfo : public BotInfo void OnMessage(User *u, const Anope::string &message) { - PushLanguage("anope", u->Account() ? u->Account()->language : ""); - spacesepstream sep(message); Anope::string command, param; if (sep.GetToken(command) && sep.GetToken(param)) @@ -40,30 +38,26 @@ class BotServBotInfo : public BotInfo { if (ci->HasFlag(CI_SUSPENDED) && !c->HasFlag(CFLAG_ALLOW_SUSPENDED)) { - u->SendMessage(this, _(_(CHAN_X_SUSPENDED)), ci->name.c_str()); + u->SendMessage(this, CHAN_X_SUSPENDED, ci->name.c_str()); Log(LOG_COMMAND, "denied", this) << "Access denied for user " << u->GetMask() << " with command " << command << " because of SUSPENDED channel " << ci->name; - PopLanguage(); return; } } else if (!c->HasFlag(CFLAG_ALLOW_UNREGISTEREDCHANNEL)) { - u->SendMessage(this, _(_(CHAN_X_NOT_REGISTERED)), param.c_str()); - PopLanguage(); + u->SendMessage(this, CHAN_X_NOT_REGISTERED, param.c_str()); return; } } /* A user not giving a channel name for a param that should be a channel */ else { - u->SendMessage(this, _(CHAN_X_INVALID), param.c_str()); - PopLanguage(); + u->SendMessage(this, CHAN_X_INVALID, param.c_str()); return; } } } - PopLanguage(); BotInfo::OnMessage(u, message); } }; diff --git a/modules/core/cs_access.cpp b/modules/core/cs_access.cpp index 23d8c4e16..7d39b2ce5 100644 --- a/modules/core/cs_access.cpp +++ b/modules/core/cs_access.cpp @@ -716,7 +716,7 @@ class CommandCSLevels : public Command levelinfo_maxwidth = len; } for (i = 0; levelinfo[i].what >= 0; ++i) - source.Reply(_(" %-*s %s"), levelinfo_maxwidth, levelinfo[i].name.c_str(), GetString(source.u->Account(), levelinfo[i].desc).c_str()); + source.Reply(_(" %-*s %s"), levelinfo_maxwidth, levelinfo[i].name.c_str(), translate(source.u, levelinfo[i].desc)); } else source.Reply(_("Syntax: \002LEVELS \037channel\037 SET \037type\037 \037level\037\002\n" diff --git a/modules/core/cs_main.cpp b/modules/core/cs_main.cpp index 9d1664afb..49d1c800b 100644 --- a/modules/core/cs_main.cpp +++ b/modules/core/cs_main.cpp @@ -23,12 +23,9 @@ class ChanServBotInfo : public BotInfo void OnMessage(User *u, const Anope::string &message) { - PushLanguage("anope", u->Account() ? u->Account()->language : ""); - if (!u->HasMode(UMODE_OPER) && Config->CSOpersOnly) { - u->SendMessage(ChanServ, _(ACCESS_DENIED)); - PopLanguage(); + u->SendMessage(ChanServ, ACCESS_DENIED); return; } @@ -46,30 +43,26 @@ class ChanServBotInfo : public BotInfo { if (ci->HasFlag(CI_SUSPENDED) && !c->HasFlag(CFLAG_ALLOW_SUSPENDED)) { - u->SendMessage(this, _(_(CHAN_X_SUSPENDED)), ci->name.c_str()); + u->SendMessage(this, CHAN_X_SUSPENDED, ci->name.c_str()); Log(LOG_COMMAND, "denied", this) << "Access denied for user " << u->GetMask() << " with command " << command << " because of SUSPENDED channel " << ci->name; - PopLanguage(); return; } } else if (!c->HasFlag(CFLAG_ALLOW_UNREGISTEREDCHANNEL)) { - u->SendMessage(this, _(CHAN_X_NOT_REGISTERED), param.c_str()); - PopLanguage(); + u->SendMessage(this, CHAN_X_NOT_REGISTERED, param.c_str()); return; } } /* A user not giving a channel name for a param that should be a channel */ else { - u->SendMessage(this, _(CHAN_X_INVALID), param.c_str()); - PopLanguage(); + u->SendMessage(this, CHAN_X_INVALID, param.c_str()); return; } } } - PopLanguage(); BotInfo::OnMessage(u, message); } }; diff --git a/modules/core/cs_suspend.cpp b/modules/core/cs_suspend.cpp index 32d75bbeb..a027bc173 100644 --- a/modules/core/cs_suspend.cpp +++ b/modules/core/cs_suspend.cpp @@ -54,7 +54,7 @@ class CommandCSSuspend : public Command if (uc->user->HasMode(UMODE_OPER)) continue; - c->Kick(NULL, uc->user, "%s", !reason.empty() ? reason.c_str() : GetString(uc->user->Account(), gtl("This channel has been suspended.")).c_str()); + c->Kick(NULL, uc->user, "%s", !reason.empty() ? reason.c_str() : translate(uc->user, _("This channel has been suspended."))); } } diff --git a/modules/core/ms_main.cpp b/modules/core/ms_main.cpp index c2933254c..487059413 100644 --- a/modules/core/ms_main.cpp +++ b/modules/core/ms_main.cpp @@ -17,16 +17,16 @@ static BotInfo *MemoServ = NULL; static bool SendMemoMail(NickCore *nc, MemoInfo *mi, Memo *m) { - Anope::string message = Anope::printf(GetString(nc, gtl( + Anope::string message = Anope::printf(translate(nc, _( "Hi %s\n" " \n" "You've just received a new memo from %s. This is memo number %d.\n" " \n" "Memo text:\n" " \n" - "%s")).c_str(), nc->display.c_str(), m->sender.c_str(), mi->GetIndex(m), m->text.c_str()); + "%s")), nc->display.c_str(), m->sender.c_str(), mi->GetIndex(m), m->text.c_str()); - return Mail(nc, GetString(nc, gtl("New memo")), message); + return Mail(nc, translate(nc, _("New memo")), message); } class MyMemoServService : public MemoServService @@ -105,7 +105,7 @@ class MyMemoServService : public MemoServService if (check_access(cu->user, ci, CA_MEMO)) { if (cu->user->Account() && cu->user->Account()->HasFlag(NI_MEMO_RECEIVE)) - cu->user->SendMessage(MemoServ, _(MEMO_NEW_X_MEMO_ARRIVED), ci->name.c_str(), Config->UseStrictPrivMsgString.c_str(), Config->s_MemoServ.c_str(), ci->name.c_str(), mi->memos.size()); + cu->user->SendMessage(MemoServ, MEMO_NEW_X_MEMO_ARRIVED, ci->name.c_str(), Config->UseStrictPrivMsgString.c_str(), Config->s_MemoServ.c_str(), ci->name.c_str(), mi->memos.size()); } } } @@ -121,7 +121,7 @@ class MyMemoServService : public MemoServService NickAlias *na = *it; User *user = finduser(na->nick); if (user && user->IsIdentified()) - user->SendMessage(MemoServ, _(MEMO_NEW_MEMO_ARRIVED), source.c_str(), Config->UseStrictPrivMsgString.c_str(), Config->s_MemoServ.c_str(), mi->memos.size()); + user->SendMessage(MemoServ, MEMO_NEW_MEMO_ARRIVED, source.c_str(), Config->UseStrictPrivMsgString.c_str(), Config->s_MemoServ.c_str(), mi->memos.size()); } } diff --git a/modules/core/ms_read.cpp b/modules/core/ms_read.cpp index 706906be4..a868b5c88 100644 --- a/modules/core/ms_read.cpp +++ b/modules/core/ms_read.cpp @@ -33,7 +33,7 @@ void rsend_notify(CommandSource &source, MemoInfo *mi, Memo *m, const Anope::str /* Text of the memo varies if the recepient was a nick or channel */ - Anope::string text = Anope::printf(GetString(na->nc, gtl("\002[auto-memo]\002 The memo you sent to %s has been viewed.")).c_str(), targ.c_str()); + Anope::string text = Anope::printf(translate(na->nc, _("\002[auto-memo]\002 The memo you sent to %s has been viewed.")), targ.c_str()); /* Send notification */ memoserv->Send(source.u->nick, m->sender, text, true); diff --git a/modules/core/ns_help.cpp b/modules/core/ns_help.cpp index 29a6bd1cd..77c1b6f69 100644 --- a/modules/core/ns_help.cpp +++ b/modules/core/ns_help.cpp @@ -37,7 +37,7 @@ class CommandNSHelp : public Command "commands allow for registration and maintenance of\n" "nicknames; to use them, type \002%s%s \037command\037\002.\n" "For more information on a specific command, type\n" - "\002%s%s HELP \037command\037\002."), Config->UseStrictPrivMsgString.c_str(), Config->s_NickServ.c_str(), Config->UseStrictPrivMsgString.c_str(), Config->s_NickServ.c_str(), Config->s_NickServ.c_str()); + "\002%s%s HELP \037command\037\002."), Config->s_NickServ.c_str(), Config->UseStrictPrivMsgString.c_str(), Config->s_NickServ.c_str(), Config->UseStrictPrivMsgString.c_str(), Config->s_NickServ.c_str()); for (CommandMap::const_iterator it = nickserv->Bot()->Commands.begin(), it_end = nickserv->Bot()->Commands.end(); it != it_end; ++it) if (!Config->HidePrivilegedCommands || it->second->permission.empty() || u->HasCommand(it->second->permission)) it->second->OnServHelp(source); diff --git a/modules/core/ns_main.cpp b/modules/core/ns_main.cpp index 8d50f7042..f4797fa29 100644 --- a/modules/core/ns_main.cpp +++ b/modules/core/ns_main.cpp @@ -34,14 +34,14 @@ class MyNickServService : public NickServService if (na->nc->HasFlag(NI_SUSPENDED)) { - u->SendMessage(NickServ, _(NICK_X_SUSPENDED), u->nick.c_str()); + u->SendMessage(NickServ, NICK_X_SUSPENDED, u->nick.c_str()); u->Collide(na); return; } if (!u->IsIdentified() && !u->fingerprint.empty() && na->nc->FindCert(u->fingerprint)) { - u->SendMessage(NickServ, _("SSL Fingerprint accepted, you are now identified")); + u->SendMessage(NickServ, _("SSL Fingerprint accepted, you are now identified.")); u->Identify(na); return; } @@ -58,16 +58,16 @@ class MyNickServService : public NickServService if (u->IsRecognized() || !na->nc->HasFlag(NI_KILL_IMMED)) { if (na->nc->HasFlag(NI_SECURE)) - u->SendMessage(NickServ, _(NICK_IS_SECURE), Config->UseStrictPrivMsgString.c_str(), Config->s_NickServ.c_str()); + u->SendMessage(NickServ, NICK_IS_SECURE, Config->UseStrictPrivMsgString.c_str(), Config->s_NickServ.c_str()); else - u->SendMessage(NickServ, _(NICK_IS_REGISTERED), Config->UseStrictPrivMsgString.c_str(), Config->s_NickServ.c_str()); + u->SendMessage(NickServ, NICK_IS_REGISTERED, Config->UseStrictPrivMsgString.c_str(), Config->s_NickServ.c_str()); } if (na->nc->HasFlag(NI_KILLPROTECT) && !u->IsRecognized()) { if (na->nc->HasFlag(NI_KILL_IMMED)) { - u->SendMessage(NickServ, _(FORCENICKCHANGE_NOW)); + u->SendMessage(NickServ, FORCENICKCHANGE_NOW); u->Collide(na); } else if (na->nc->HasFlag(NI_KILL_QUICK)) diff --git a/modules/core/ns_recover.cpp b/modules/core/ns_recover.cpp index bbac98e09..b6a8e1c5d 100644 --- a/modules/core/ns_recover.cpp +++ b/modules/core/ns_recover.cpp @@ -49,7 +49,7 @@ class CommandNSRecover : public Command if (MOD_RESULT == EVENT_ALLOW) { - u2->SendMessage(nickserv->Bot(), _(FORCENICKCHANGE_NOW)); + u2->SendMessage(nickserv->Bot(), FORCENICKCHANGE_NOW); u2->Collide(na); /* Convert Config->NSReleaseTimeout seconds to string format */ @@ -69,7 +69,7 @@ class CommandNSRecover : public Command if (u->Account() == na->nc || (!na->nc->HasFlag(NI_SECURE) && is_on_access(u, na->nc)) || (!u->fingerprint.empty() && na->nc->FindCert(u->fingerprint))) { - u2->SendMessage(nickserv->Bot(), _(FORCENICKCHANGE_NOW)); + u2->SendMessage(nickserv->Bot(), FORCENICKCHANGE_NOW); u2->Collide(na); /* Convert Config->NSReleaseTimeout seconds to string format */ diff --git a/modules/core/ns_resetpass.cpp b/modules/core/ns_resetpass.cpp index 903e136fb..55b4ae18b 100644 --- a/modules/core/ns_resetpass.cpp +++ b/modules/core/ns_resetpass.cpp @@ -138,8 +138,8 @@ static bool SendResetEmail(User *u, NickAlias *na) for (idx = 0; idx < 20; ++idx) passcode += chars[1 + static_cast((static_cast(max - min)) * getrandom16() / 65536.0) + min]; - Anope::string subject = Anope::printf(GetString(na->nc, gtl("Reset password request for %s")).c_str(), na->nick.c_str()); - Anope::string message = Anope::printf(GetString(na->nc, gtl( + Anope::string subject = Anope::printf(translate(na->nc, _("Reset password request for %s")), na->nick.c_str()); + Anope::string message = Anope::printf(translate(na->nc, _( "Hi,\n" " \n" "You have requested to have the password for %s reset.\n" @@ -147,7 +147,7 @@ static bool SendResetEmail(User *u, NickAlias *na) " \n" "If you don't know why this mail was sent to you, please ignore it silently.\n" " \n" - "%s administrators.")).c_str(), na->nick.c_str(), Config->UseStrictPrivMsgString.c_str(), Config->s_NickServ.c_str(), na->nick.c_str(), passcode.c_str(), Config->NetworkName.c_str()); + "%s administrators.")), na->nick.c_str(), Config->UseStrictPrivMsgString.c_str(), Config->s_NickServ.c_str(), na->nick.c_str(), passcode.c_str(), Config->NetworkName.c_str()); na->nc->Extend("ns_resetpass_code", new ExtensibleItemRegular(passcode)); na->nc->Extend("ns_resetpass_time", new ExtensibleItemRegular(Anope::CurTime)); diff --git a/modules/core/ns_sendpass.cpp b/modules/core/ns_sendpass.cpp index e9ef06d59..d1d47df84 100644 --- a/modules/core/ns_sendpass.cpp +++ b/modules/core/ns_sendpass.cpp @@ -98,8 +98,8 @@ static bool SendPassMail(User *u, NickAlias *na, const Anope::string &pass) { char subject[BUFSIZE], message[BUFSIZE]; - snprintf(subject, sizeof(subject), GetString(na->nc, gtl("Nickname password (%s)")).c_str(), na->nick.c_str()); - snprintf(message, sizeof(message), GetString(na->nc, gtl( + snprintf(subject, sizeof(subject), translate(na->nc, _("Nickname password (%s)")), na->nick.c_str()); + snprintf(message, sizeof(message), translate(na->nc, _( "Hi,\n" " \n" "You have requested to receive the password of nickname %s by e-mail.\n" @@ -107,7 +107,7 @@ static bool SendPassMail(User *u, NickAlias *na, const Anope::string &pass) " \n" "If you don't know why this mail was sent to you, please ignore it silently.\n" " \n" - "%s administrators.")).c_str(), na->nick.c_str(), pass.c_str(), Config->NetworkName.c_str()); + "%s administrators.")), na->nick.c_str(), pass.c_str(), Config->NetworkName.c_str()); return Mail(u, na->nc, nickserv->Bot(), subject, message); } diff --git a/modules/core/ns_set_language.cpp b/modules/core/ns_set_language.cpp index 98f8f044a..c614e7642 100644 --- a/modules/core/ns_set_language.cpp +++ b/modules/core/ns_set_language.cpp @@ -43,8 +43,6 @@ class CommandNSSetLanguage : public Command } nc->language = param != "en" ? param : ""; - PopLanguage(); - PushLanguage("anope", nc->language); source.Reply(_("Language changed to \002English\002.")); return MOD_CONT; @@ -62,9 +60,7 @@ class CommandNSSetLanguage : public Command source.Reply(" en (English)"); for (unsigned j = 0; j < languages.size(); ++j) { - PushLanguage("anope", languages[j]); - const Anope::string &langname = _("English"); - PopLanguage(); + const Anope::string &langname = anope_gettext(languages[j].c_str(), _("English")); if (langname == "English") continue; source.Reply(" %s (%s)", languages[j].c_str(), langname.c_str()); diff --git a/modules/core/os_main.cpp b/modules/core/os_main.cpp index 1c8203e8d..ec5e95ac8 100644 --- a/modules/core/os_main.cpp +++ b/modules/core/os_main.cpp @@ -25,9 +25,7 @@ class OperServBotInfo : public BotInfo { if (!u->HasMode(UMODE_OPER) && Config->OSOpersOnly) { - PushLanguage("anope", u->Account() ? u->Account()->language : ""); - u->SendMessage(OperServ, _(ACCESS_DENIED)); - PopLanguage(); + u->SendMessage(OperServ, ACCESS_DENIED); if (Config->WallBadOS) ircdproto->SendGlobops(this, "Denied access to %s from %s!%s@%s (non-oper)", Config->s_OperServ.c_str(), u->nick.c_str(), u->GetIdent().c_str(), u->host.c_str()); } diff --git a/modules/extra/cs_appendtopic.cpp b/modules/extra/cs_appendtopic.cpp index 5132d272f..bb6702237 100644 --- a/modules/extra/cs_appendtopic.cpp +++ b/modules/extra/cs_appendtopic.cpp @@ -87,9 +87,9 @@ class CommandCSAppendTopic : public Command bool OnHelp(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: APPENDTOPIC channel text")); + source.Reply(_("Syntax: APPENDTOPIC channel text")); source.Reply(" "); - me->SendMessage(source, _("This command allows users to append text to a currently set\n" + source.Reply(("This command allows users to append text to a currently set\n" "channel topic. When TOPICLOCK is on, the topic is updated and\n" "the new, updated topic is locked.")); @@ -98,7 +98,7 @@ class CommandCSAppendTopic : public Command void OnSyntaxError(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: APPENDTOPIC channel text")); + source.Reply(_("Syntax: APPENDTOPIC channel text")); } }; diff --git a/modules/extra/cs_enforce.cpp b/modules/extra/cs_enforce.cpp index 29914a17e..c39744ca2 100644 --- a/modules/extra/cs_enforce.cpp +++ b/modules/extra/cs_enforce.cpp @@ -90,7 +90,7 @@ class CommandCSEnforce : public Command if (check_access(uc->user, ci, CA_NOJOIN)) { get_idealban(ci, uc->user, mask); - Anope::string reason = GetString(uc->user->Account(), CHAN_NOT_ALLOWED_TO_JOIN); + Anope::string reason = translate(uc->user, CHAN_NOT_ALLOWED_TO_JOIN); c->SetMode(NULL, CMODE_BAN, mask); c->Kick(NULL, uc->user, "%s", reason.c_str()); } @@ -114,7 +114,7 @@ class CommandCSEnforce : public Command if (!uc->user->IsIdentified()) { get_idealban(ci, uc->user, mask); - Anope::string reason = GetString(uc->user->Account(), CHAN_NOT_ALLOWED_TO_JOIN); + Anope::string reason = translate(uc->user, CHAN_NOT_ALLOWED_TO_JOIN); if (!c->HasMode(CMODE_REGISTEREDONLY)) c->SetMode(NULL, CMODE_BAN, mask); c->Kick(NULL, uc->user, "%s", reason.c_str()); @@ -144,27 +144,27 @@ class CommandCSEnforce : public Command if (what.empty() || what.equals_ci("SET")) { this->DoSet(c); - me->SendMessage(source, _("Enforced %s"), !what.empty() ? what.c_str() : "SET"); + source.Reply(_("Enforced %s"), !what.empty() ? what.c_str() : "SET"); } else if (what.equals_ci("MODES")) { this->DoModes(c); - me->SendMessage(source, _("Enforced %s"), what.c_str()); + source.Reply(_("Enforced %s"), what.c_str()); } else if (what.equals_ci("SECUREOPS")) { this->DoSecureOps(c); - me->SendMessage(source, _("Enforced %s"), what.c_str()); + source.Reply(_("Enforced %s"), what.c_str()); } else if (what.equals_ci("RESTRICTED")) { this->DoRestricted(c); - me->SendMessage(source, _("Enforced %s"), what.c_str()); + source.Reply(_("Enforced %s"), what.c_str()); } else if (what.equals_ci("+R")) { this->DoCModeR(c); - me->SendMessage(source, _("Enforced %s"), what.c_str()); + source.Reply(_("Enforced %s"), what.c_str()); } else this->OnSyntaxError(source, ""); @@ -175,9 +175,9 @@ class CommandCSEnforce : public Command bool OnHelp(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: \002ENFORCE \037channel\037 [\037what\037]\002")); - me->SendMessage(source, " "); - me->SendMessage(source, _("Enforce various channel modes and set options. The \037channel\037\n" + source.Reply(_("Syntax: \002ENFORCE \037channel\037 [\037what\037]\002")); + source.Reply(" "); + source.Reply(_("Enforce various channel modes and set options. The \037channel\037\n" "option indicates what channel to enforce the modes and options\n" "on. The \037what\037 option indicates what modes and options to\n" "enforce, and can be any of SET, SECUREOPS, RESTRICTED, MODES,\n" @@ -188,14 +188,14 @@ class CommandCSEnforce : public Command "SECUREOPS to enforce the SECUREOPS option, even if it is not\n" "enabled. Use RESTRICTED to enfore the RESTRICTED option, also\n" "if it's not enabled.")); - me->SendMessage(source, " "); + source.Reply(" "); if (ModeManager::FindChannelModeByName(CMODE_REGISTERED)) - me->SendMessage(source, _("If \037what\037 is MODES, it will enforce channelmode +R if it is\n" + source.Reply(_("If \037what\037 is MODES, it will enforce channelmode +R if it is\n" "set. If +R is specified for \037what\037, the +R channelmode will\n" "also be enforced, but even if it is not set. If it is not set,\n" "users will be banned to ensure they don't just rejoin.")); else - me->SendMessage(source, _("If \037what\037 is MODES, nothing will be enforced, since it would\n" + source.Reply(_("If \037what\037 is MODES, nothing will be enforced, since it would\n" "enforce modes that the current ircd does not support. If +R is\n" "specified for \037what\037, an equalivant of channelmode +R on\n" "other ircds will be enforced. All users that are in the channel\n" @@ -207,7 +207,7 @@ class CommandCSEnforce : public Command void OnSyntaxError(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: \002ENFORCE \037channel\037 [\037what\037]\002")); + source.Reply(_("Syntax: \002ENFORCE \037channel\037 [\037what\037]\002")); } }; diff --git a/modules/extra/cs_tban.cpp b/modules/extra/cs_tban.cpp index 003f8a3d5..78c3b1fa9 100644 --- a/modules/extra/cs_tban.cpp +++ b/modules/extra/cs_tban.cpp @@ -82,7 +82,7 @@ class CommandCSTBan : public Command get_idealban(c->ci, u2, mask); c->SetMode(NULL, CMODE_BAN, mask); new TempBan(dotime(time), c, mask); - me->SendMessage(source, _("%s banned from %s, will auto-expire in %s"), mask.c_str(), c->name.c_str(), time.c_str()); + source.Reply(_("%s banned from %s, will auto-expire in %s"), mask.c_str(), c->name.c_str(), time.c_str()); } return MOD_CONT; @@ -91,8 +91,8 @@ class CommandCSTBan : public Command bool OnHelp(CommandSource &source, const Anope::string &subcommand) { this->OnSyntaxError(source, ""); - me->SendMessage(source, " "); - me->SendMessage(source, _("Bans the given user from a channel for a specified length of\n" + source.Reply(" "); + source.Reply(_("Bans the given user from a channel for a specified length of\n" "time. If the ban is removed before by hand, it will NOT be replaced.")); return true; @@ -100,7 +100,7 @@ class CommandCSTBan : public Command void OnSyntaxError(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: TBAN channel nick time")); + source.Reply(_("Syntax: TBAN channel nick time")); } }; diff --git a/modules/extra/hs_request.cpp b/modules/extra/hs_request.cpp index f62e21e1a..518acb6de 100644 --- a/modules/extra/hs_request.cpp +++ b/modules/extra/hs_request.cpp @@ -65,7 +65,7 @@ class CommandHSRequest : public Command rawhostmask = myStrGetTokenRemainder(rawhostmask, '@', 1); /* get the remaining string */ if (rawhostmask.empty()) { - me->SendMessage(source, _("Syntax: \002REQUEST \037vhost\037\002")); + source.Reply(_("Syntax: \002REQUEST \037vhost\037\002")); return MOD_CONT; } if (vIdent.length() > Config->UserLen) @@ -102,13 +102,13 @@ class CommandHSRequest : public Command if (HSRequestMemoOper && Config->MSSendDelay > 0 && u && u->lastmemosend + Config->MSSendDelay > Anope::CurTime) { - me->SendMessage(source, _("Please wait %d seconds before requesting a new vHost"), Config->MSSendDelay); + source.Reply(_("Please wait %d seconds before requesting a new vHost"), Config->MSSendDelay); u->lastmemosend = Anope::CurTime; return MOD_CONT; } my_add_host_request(u->nick, vIdent, hostmask, u->nick, Anope::CurTime); - me->SendMessage(source, _("Your vHost has been requested")); + source.Reply(_("Your vHost has been requested")); req_send_memos(source, vIdent, hostmask); Log(LOG_COMMAND, u, this, NULL) << "to request new vhost " << (!vIdent.empty() ? vIdent + "@" : "") << hostmask; @@ -117,9 +117,9 @@ class CommandHSRequest : public Command bool OnHelp(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: \002REQUEST \037vhost\037\002")); - me->SendMessage(source, " "); - me->SendMessage(source, _("Request the given vHost to be actived for your nick by the\n" + source.Reply(_("Syntax: \002REQUEST \037vhost\037\002")); + source.Reply(" "); + source.Reply(_("Request the given vHost to be actived for your nick by the\n" "network administrators. Please be patient while your request\n" "is being considered.")); return true; @@ -127,7 +127,7 @@ class CommandHSRequest : public Command void OnSyntaxError(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: \002REQUEST \037vhost\037\002")); + source.Reply(_("Syntax: \002REQUEST \037vhost\037\002")); } }; @@ -157,13 +157,13 @@ class CommandHSActivate : public Command if (HSRequestMemoUser && memoserv) memoserv->Send(Config->s_HostServ, na->nick, _("[auto memo] Your requested vHost has been approved."), true); - me->SendMessage(source, _("vHost for %s has been activated"), na->nick.c_str()); + source.Reply(_("vHost for %s has been activated"), na->nick.c_str()); Log(LOG_COMMAND, u, this, NULL) << "for " << na->nick << " for vhost " << (!it->second->ident.empty() ? it->second->ident + "@" : "") << it->second->host; delete it->second; Requests.erase(it); } else - me->SendMessage(source, _("No request for nick %s found."), nick.c_str()); + source.Reply(_("No request for nick %s found."), nick.c_str()); } else source.Reply(_(NICK_X_NOT_REGISTERED), nick.c_str()); @@ -173,18 +173,18 @@ class CommandHSActivate : public Command bool OnHelp(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: \002ACTIVATE \037nick\037\002")); - me->SendMessage(source, " "); - me->SendMessage(source, _("Activate the requested vHost for the given nick.")); + source.Reply(_("Syntax: \002ACTIVATE \037nick\037\002")); + source.Reply(" "); + source.Reply(_("Activate the requested vHost for the given nick.")); if (HSRequestMemoUser) - me->SendMessage(source, _("A memo informing the user will also be sent.")); + source.Reply(_("A memo informing the user will also be sent.")); return true; } void OnSyntaxError(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: \002ACTIVATE \037nick\037\002")); + source.Reply(_("Syntax: \002ACTIVATE \037nick\037\002")); } }; @@ -220,29 +220,29 @@ class CommandHSReject : public Command memoserv->Send(Config->s_HostServ, nick, message, true); } - me->SendMessage(source, _("vHost for %s has been rejected"), nick.c_str()); + source.Reply(_("vHost for %s has been rejected"), nick.c_str()); Log(LOG_COMMAND, u, this, NULL) << "to reject vhost for " << nick << " (" << (!reason.empty() ? reason : "") << ")"; } else - me->SendMessage(source, _("No request for nick %s found."), nick.c_str()); + source.Reply(_("No request for nick %s found."), nick.c_str()); return MOD_CONT; } bool OnHelp(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: \002REJECT \037nick\037\002")); - me->SendMessage(source, " "); - me->SendMessage(source, _("Reject the requested vHost for the given nick.")); + source.Reply(_("Syntax: \002REJECT \037nick\037\002")); + source.Reply(" "); + source.Reply(_("Reject the requested vHost for the given nick.")); if (HSRequestMemoUser) - me->SendMessage(source, _("A memo informing the user will also be sent.")); + source.Reply(_("A memo informing the user will also be sent.")); return true; } void OnSyntaxError(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: \002REJECT \037nick\037\002")); + source.Reply(_("Syntax: \002REJECT \037nick\037\002")); } }; @@ -293,9 +293,9 @@ class CommandHSWaiting : public HSListBase bool OnHelp(CommandSource &source, const Anope::string &subcommand) { - me->SendMessage(source, _("Syntax: \002WAITING\002")); - me->SendMessage(source, " "); - me->SendMessage(source, _("This command is provided for convenience. It is essentially\n" + source.Reply(_("Syntax: \002WAITING\002")); + source.Reply(" "); + source.Reply(_("This command is provided for convenience. It is essentially\n" "the same as performing a LIST +req .")); return true; diff --git a/modules/extra/language/cs_appendtopic.de_DE.po b/modules/extra/language/cs_appendtopic.de_DE.po index 8e5111d5d..2305709c1 100644 --- a/modules/extra/language/cs_appendtopic.de_DE.po +++ b/modules/extra/language/cs_appendtopic.de_DE.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Anope\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 03:41-0500\n" +"POT-Creation-Date: 2011-06-17 13:49-0400\n" "PO-Revision-Date: 2010-09-25 20:57-0400\n" "Last-Translator: Adam \n" "Language-Team: German\n" @@ -17,9 +17,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../cs_appendtopic.cpp:106 -msgid " APPENDTOPIC Add text to a channels topic" -msgstr " APPENDTOPIC Fügt einen Text zu einem Channel-Topic hinzu." +#: ../cs_appendtopic.cpp:50 +msgid "Add text to a channels topic" +msgstr "Fügt einen Text zu einem Channel-Topic hinzu." #: ../cs_appendtopic.cpp:90 ../cs_appendtopic.cpp:101 msgid "Syntax: APPENDTOPIC channel text" diff --git a/modules/extra/language/cs_appendtopic.it_IT.po b/modules/extra/language/cs_appendtopic.it_IT.po index 827fe5bd6..43620d0b2 100644 --- a/modules/extra/language/cs_appendtopic.it_IT.po +++ b/modules/extra/language/cs_appendtopic.it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Anope\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 03:41-0500\n" +"POT-Creation-Date: 2011-06-17 13:49-0400\n" "PO-Revision-Date: 2010-09-25 21:04-0400\n" "Last-Translator: Adam \n" "Language-Team: Italian\n" @@ -17,8 +17,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../cs_appendtopic.cpp:106 -msgid " APPENDTOPIC Add text to a channels topic" +#: ../cs_appendtopic.cpp:50 +#, fuzzy +msgid "Add text to a channels topic" msgstr " APPENDTOPIC Aggiunge del testo al topic di un canale" #: ../cs_appendtopic.cpp:90 ../cs_appendtopic.cpp:101 diff --git a/modules/extra/language/cs_appendtopic.nl_NL.po b/modules/extra/language/cs_appendtopic.nl_NL.po index 15e857506..21d81eaba 100644 --- a/modules/extra/language/cs_appendtopic.nl_NL.po +++ b/modules/extra/language/cs_appendtopic.nl_NL.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Anope\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 03:41-0500\n" +"POT-Creation-Date: 2011-06-17 13:49-0400\n" "PO-Revision-Date: 2010-09-25 20:55-0400\n" "Last-Translator: Adam \n" "Language-Team: Dutch\n" @@ -17,8 +17,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../cs_appendtopic.cpp:106 -msgid " APPENDTOPIC Add text to a channels topic" +#: ../cs_appendtopic.cpp:50 +#, fuzzy +msgid "Add text to a channels topic" msgstr " APPENDTOPIC Voeg tekst aan een kanaal onderwerp toe" #: ../cs_appendtopic.cpp:90 ../cs_appendtopic.cpp:101 diff --git a/modules/extra/language/cs_appendtopic.pot b/modules/extra/language/cs_appendtopic.pot index 4c37b8d37..b5e60813b 100644 --- a/modules/extra/language/cs_appendtopic.pot +++ b/modules/extra/language/cs_appendtopic.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 03:41-0500\n" +"POT-Creation-Date: 2011-06-17 13:50-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,8 +16,8 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ../cs_appendtopic.cpp:106 -msgid " APPENDTOPIC Add text to a channels topic" +#: ../cs_appendtopic.cpp:50 +msgid "Add text to a channels topic" msgstr "" #: ../cs_appendtopic.cpp:90 ../cs_appendtopic.cpp:101 diff --git a/modules/extra/language/cs_appendtopic.pt_PT.po b/modules/extra/language/cs_appendtopic.pt_PT.po index 853f0502c..e97d94a90 100644 --- a/modules/extra/language/cs_appendtopic.pt_PT.po +++ b/modules/extra/language/cs_appendtopic.pt_PT.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Anope\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 03:41-0500\n" +"POT-Creation-Date: 2011-06-17 13:49-0400\n" "PO-Revision-Date: 2010-09-25 21:00-0400\n" "Last-Translator: Adam \n" "Language-Team: Portuguese\n" @@ -16,8 +16,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../cs_appendtopic.cpp:106 -msgid " APPENDTOPIC Add text to a channels topic" +#: ../cs_appendtopic.cpp:50 +#, fuzzy +msgid "Add text to a channels topic" msgstr " APPENDTOPIC Adiciona texto ao tópico de um canal" #: ../cs_appendtopic.cpp:90 ../cs_appendtopic.cpp:101 diff --git a/modules/extra/language/cs_appendtopic.ru_RU.po b/modules/extra/language/cs_appendtopic.ru_RU.po index 89e0a19b3..cb5566a8c 100644 --- a/modules/extra/language/cs_appendtopic.ru_RU.po +++ b/modules/extra/language/cs_appendtopic.ru_RU.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Anope\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 03:41-0500\n" +"POT-Creation-Date: 2011-06-17 13:49-0400\n" "PO-Revision-Date: 2010-09-25 21:02-0400\n" "Last-Translator: Adam \n" "Language-Team: Russian\n" @@ -18,8 +18,9 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../cs_appendtopic.cpp:106 -msgid " APPENDTOPIC Add text to a channels topic" +#: ../cs_appendtopic.cpp:50 +#, fuzzy +msgid "Add text to a channels topic" msgstr " APPENDTOPIC Äîáàâëÿåò òåêñò ê òîïèêó êàíàëà" #: ../cs_appendtopic.cpp:90 ../cs_appendtopic.cpp:101 diff --git a/modules/extra/language/cs_enforce.de_DE.po b/modules/extra/language/cs_enforce.de_DE.po index 40eddc19c..5e8ccd94b 100644 --- a/modules/extra/language/cs_enforce.de_DE.po +++ b/modules/extra/language/cs_enforce.de_DE.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Anope\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 03:41-0500\n" +"POT-Creation-Date: 2011-06-17 13:49-0400\n" "PO-Revision-Date: 2010-09-25 21:12-0400\n" "Last-Translator: Adam \n" "Language-Team: German\n" @@ -17,11 +17,12 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../cs_enforce.cpp:213 -msgid " ENFORCE Enforce various channel modes and set options" +#: ../cs_enforce.cpp:127 +#, fuzzy +msgid "Enforce various channel modes and set options" msgstr " ENFORCE Erzwingt verschieden Modes und SET Optionen" -#: ../cs_enforce.cpp:178 +#: ../cs_enforce.cpp:180 msgid "" "Enforce various channel modes and set options. The channel\n" "option indicates what channel to enforce the modes and options\n" @@ -46,13 +47,13 @@ msgstr "" "Benutze SECUREOPS oder RESTRICTED , um die Optionen einzeln\n" "zu erzwingen, also wenn sie nicht eingeschaltet sind." -#: ../cs_enforce.cpp:145 ../cs_enforce.cpp:150 ../cs_enforce.cpp:155 -#: ../cs_enforce.cpp:160 ../cs_enforce.cpp:165 +#: ../cs_enforce.cpp:147 ../cs_enforce.cpp:152 ../cs_enforce.cpp:157 +#: ../cs_enforce.cpp:162 ../cs_enforce.cpp:167 #, c-format msgid "Enforced %s" msgstr "Erzwungen %s" -#: ../cs_enforce.cpp:191 +#: ../cs_enforce.cpp:193 msgid "" "If what is MODES, it will enforce channelmode +R if it is\n" "set. If +R is specified for what, the +R channelmode will\n" @@ -65,7 +66,7 @@ msgstr "" "Channel-Mode war werden alle User aus den Channel gebannt um\n" "sicher zu sein das sie nicht rejoinen." -#: ../cs_enforce.cpp:196 +#: ../cs_enforce.cpp:198 msgid "" "If what is MODES, nothing will be enforced, since it would\n" "enforce modes that the current ircd does not support. If +R is\n" @@ -80,6 +81,6 @@ msgstr "" "erzwungen. Alle User die nicht für deren Nicknamen identifiziert\n" "sind werden aus den Channel gekickt und gebannt." -#: ../cs_enforce.cpp:176 ../cs_enforce.cpp:208 +#: ../cs_enforce.cpp:178 ../cs_enforce.cpp:210 msgid "Syntax: ENFORCE channel [what]" msgstr "Syntax: ENFORCE Channel [was]" diff --git a/modules/extra/language/cs_enforce.it_IT.po b/modules/extra/language/cs_enforce.it_IT.po index 98605397c..4721e823f 100644 --- a/modules/extra/language/cs_enforce.it_IT.po +++ b/modules/extra/language/cs_enforce.it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Anope\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 03:41-0500\n" +"POT-Creation-Date: 2011-06-17 13:49-0400\n" "PO-Revision-Date: 2010-09-25 21:55-0400\n" "Last-Translator: Adam \n" "Language-Team: Italian\n" @@ -17,11 +17,12 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../cs_enforce.cpp:213 -msgid " ENFORCE Enforce various channel modes and set options" +#: ../cs_enforce.cpp:127 +#, fuzzy +msgid "Enforce various channel modes and set options" msgstr " ENFORCE Forza diversi modi di canale ed opzioni SET" -#: ../cs_enforce.cpp:178 +#: ../cs_enforce.cpp:180 msgid "" "Enforce various channel modes and set options. The channel\n" "option indicates what channel to enforce the modes and options\n" @@ -47,13 +48,13 @@ msgstr "" "RESTRICTED per forzare l'opzione RESTRICTED, anche se non è\n" "attivata." -#: ../cs_enforce.cpp:145 ../cs_enforce.cpp:150 ../cs_enforce.cpp:155 -#: ../cs_enforce.cpp:160 ../cs_enforce.cpp:165 +#: ../cs_enforce.cpp:147 ../cs_enforce.cpp:152 ../cs_enforce.cpp:157 +#: ../cs_enforce.cpp:162 ../cs_enforce.cpp:167 #, c-format msgid "Enforced %s" msgstr "Forzato %s" -#: ../cs_enforce.cpp:191 +#: ../cs_enforce.cpp:193 msgid "" "If what is MODES, it will enforce channelmode +R if it is\n" "set. If +R is specified for what, the +R channelmode will\n" @@ -65,7 +66,7 @@ msgstr "" "forzato, anche se non è impostato. Se non è impostato, gli utenti\n" "verranno bannati per assicurare che non rientrino semplicemente." -#: ../cs_enforce.cpp:196 +#: ../cs_enforce.cpp:198 msgid "" "If what is MODES, nothing will be enforced, since it would\n" "enforce modes that the current ircd does not support. If +R is\n" @@ -80,6 +81,6 @@ msgstr "" "forzato. Tutti gli utenti presenti nel canale ma non identificati\n" "per il loro nickname verranno bannati ed espulsi dal canale." -#: ../cs_enforce.cpp:176 ../cs_enforce.cpp:208 +#: ../cs_enforce.cpp:178 ../cs_enforce.cpp:210 msgid "Syntax: ENFORCE channel [what]" msgstr "Sintassi: ENFORCE canale [cosa]" diff --git a/modules/extra/language/cs_enforce.nl_NL.po b/modules/extra/language/cs_enforce.nl_NL.po index e791db46d..935e8dce7 100644 --- a/modules/extra/language/cs_enforce.nl_NL.po +++ b/modules/extra/language/cs_enforce.nl_NL.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Anope\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 03:41-0500\n" +"POT-Creation-Date: 2011-06-17 13:49-0400\n" "PO-Revision-Date: 2010-09-25 21:07-0400\n" "Last-Translator: Adam \n" "Language-Team: Dutch\n" @@ -17,11 +17,12 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../cs_enforce.cpp:213 -msgid " ENFORCE Enforce various channel modes and set options" +#: ../cs_enforce.cpp:127 +#, fuzzy +msgid "Enforce various channel modes and set options" msgstr " ENFORCE Forceer enkele kanaalmodes en set-opties" -#: ../cs_enforce.cpp:178 +#: ../cs_enforce.cpp:180 msgid "" "Enforce various channel modes and set options. The channel\n" "option indicates what channel to enforce the modes and options\n" @@ -47,13 +48,13 @@ msgstr "" "SECUREOPS of RESTRICTED wordt gegeven voor wat zal die optie\n" "altijd geforceerd worden, ook als die niet is aangezet." -#: ../cs_enforce.cpp:145 ../cs_enforce.cpp:150 ../cs_enforce.cpp:155 -#: ../cs_enforce.cpp:160 ../cs_enforce.cpp:165 +#: ../cs_enforce.cpp:147 ../cs_enforce.cpp:152 ../cs_enforce.cpp:157 +#: ../cs_enforce.cpp:162 ../cs_enforce.cpp:167 #, c-format msgid "Enforced %s" msgstr "" -#: ../cs_enforce.cpp:191 +#: ../cs_enforce.cpp:193 msgid "" "If what is MODES, it will enforce channelmode +R if it is\n" "set. If +R is specified for what, the +R channelmode will\n" @@ -67,7 +68,7 @@ msgstr "" "gebanned worden om te zorgen dat ze niet opnieuw het kanaal binnen\n" "kunnen komen." -#: ../cs_enforce.cpp:196 +#: ../cs_enforce.cpp:198 msgid "" "If what is MODES, nothing will be enforced, since it would\n" "enforce modes that the current ircd does not support. If +R is\n" @@ -83,6 +84,6 @@ msgstr "" "hebben geidentificeerd voor hun nick uit het kanaal gekicked en\n" "verbannen worden." -#: ../cs_enforce.cpp:176 ../cs_enforce.cpp:208 +#: ../cs_enforce.cpp:178 ../cs_enforce.cpp:210 msgid "Syntax: ENFORCE channel [what]" msgstr "Syntax: ENFORCE kanaal [wat]" diff --git a/modules/extra/language/cs_enforce.pot b/modules/extra/language/cs_enforce.pot index e3604eb44..7d00d0d84 100644 --- a/modules/extra/language/cs_enforce.pot +++ b/modules/extra/language/cs_enforce.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 03:41-0500\n" +"POT-Creation-Date: 2011-06-17 13:50-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,11 +16,11 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ../cs_enforce.cpp:213 -msgid " ENFORCE Enforce various channel modes and set options" +#: ../cs_enforce.cpp:127 +msgid "Enforce various channel modes and set options" msgstr "" -#: ../cs_enforce.cpp:178 +#: ../cs_enforce.cpp:180 msgid "" "Enforce various channel modes and set options. The channel\n" "option indicates what channel to enforce the modes and options\n" @@ -35,13 +35,13 @@ msgid "" "if it's not enabled." msgstr "" -#: ../cs_enforce.cpp:145 ../cs_enforce.cpp:150 ../cs_enforce.cpp:155 -#: ../cs_enforce.cpp:160 ../cs_enforce.cpp:165 +#: ../cs_enforce.cpp:147 ../cs_enforce.cpp:152 ../cs_enforce.cpp:157 +#: ../cs_enforce.cpp:162 ../cs_enforce.cpp:167 #, c-format msgid "Enforced %s" msgstr "" -#: ../cs_enforce.cpp:191 +#: ../cs_enforce.cpp:193 msgid "" "If what is MODES, it will enforce channelmode +R if it is\n" "set. If +R is specified for what, the +R channelmode will\n" @@ -49,7 +49,7 @@ msgid "" "users will be banned to ensure they don't just rejoin." msgstr "" -#: ../cs_enforce.cpp:196 +#: ../cs_enforce.cpp:198 msgid "" "If what is MODES, nothing will be enforced, since it would\n" "enforce modes that the current ircd does not support. If +R is\n" @@ -59,6 +59,6 @@ msgid "" "banned from the channel." msgstr "" -#: ../cs_enforce.cpp:176 ../cs_enforce.cpp:208 +#: ../cs_enforce.cpp:178 ../cs_enforce.cpp:210 msgid "Syntax: ENFORCE channel [what]" msgstr "" diff --git a/modules/extra/language/cs_enforce.pt_PT.po b/modules/extra/language/cs_enforce.pt_PT.po index 864db1f96..955ea87aa 100644 --- a/modules/extra/language/cs_enforce.pt_PT.po +++ b/modules/extra/language/cs_enforce.pt_PT.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Anope\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 03:41-0500\n" +"POT-Creation-Date: 2011-06-17 13:49-0400\n" "PO-Revision-Date: 2010-09-25 21:24-0400\n"