diff options
| author | Adam <Adam@anope.org> | 2010-09-26 15:09:39 -0400 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2010-09-26 15:09:39 -0400 |
| commit | f3840ed110ecaac1a2777692b714f283600d9afa (patch) | |
| tree | 86cb18bb3efa7dc5711a0e0f965dd7438bdcb3bc | |
| parent | 7d5893a1c8af78b0f56431664f48c73134735c64 (diff) | |
Added a short docs/LANGUAGES file explaining how to add translations for the core and modules, updated TODO, and fixed a few small bugs
| -rw-r--r-- | docs/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | docs/LANGUAGES | 25 | ||||
| -rw-r--r-- | docs/TODO | 6 | ||||
| -rwxr-xr-x | lang/update.sh | 2 | ||||
| -rw-r--r-- | modules/core/ns_set_language.cpp | 2 | ||||
| -rw-r--r-- | src/language.cpp | 3291 |
6 files changed, 1677 insertions, 1651 deletions
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index 09ae21e76..ce152334f 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -7,7 +7,7 @@ if(WIN32) # Add README.txt to list of files for CPack to ignore add_to_cpack_ignored_files("README.txt$" TRUE) endif(IN_SOURCE) - set(DOCS DEFCON FAQ INSTALL MODULES NEWS ${CMAKE_CURRENT_BINARY_DIR}/README.txt WIN32.txt) + set(DOCS DEFCON FAQ INSTALL LANGUAGES MODULES NEWS ${CMAKE_CURRENT_BINARY_DIR}/README.txt WIN32.txt) install(FILES ${DOCS} DESTINATION docs ) diff --git a/docs/LANGUAGES b/docs/LANGUAGES new file mode 100644 index 000000000..7b86a90dc --- /dev/null +++ b/docs/LANGUAGES @@ -0,0 +1,25 @@ +Anope Mutli Language Support +---------------------------- + +1) Adding a new language +2) Using languages with modules + +1) Adding a new language + + Anope uses gettext (http://www.gnu.org/software/gettext/) to translate messages for users. To add a new language + install gettext and run `msginit -l language -o anope.language.po -i anope.pot`. For example if I was translating to + Spanish I could run `msginit -l es_ES -o anope.es_ES.po -i anope.pot`. Open the newly generating .po file in a good + editor, there many pot file editors available, and start translating. Once you are done simply rerun ./Config; + make && make install and add the language to your services.conf. + + If you did a language file translation and you want others to use it, please send it to team@anope.org (don't forget + to mention clearly your (nick)name, your e-mail and the language name). You'll of course get full credit for it. + +2) Using langages with modules + + Module authors can easially add the ability to have their modules translated by adding _() around the strings they + need translated (messages to the user, etc). See a few of the modules in /modules/extras (cs_appendtopic, hs_request) + for examples of this. If you want to translate a module someone has made, first generate a .pot file if there is none. + Run `xgettext -s -d modulename -o modulename.pot --from-code=utf-8 modulename.cpp`. Then, run msginit on the .pot file + with `msginit -l language -o modulename.language.po -i modulename.pot`. Translate the new .po file, then place it in + the lang folder and rerun ./Config; make && make install. @@ -16,9 +16,9 @@ Legend: [ ] CIDR Akills, session exceptions, etc [x] Hashing system for storing just about everything needs to die [x] Add support for +k, +q, etc type umodes -[ ] Language system is disgusting, it must die. - [ ] Modules should also have a way to add strings programatically - [ ] Should be able to add many strings by dropping a file in a set location. +[x] Language system is disgusting, it must die. + [x] Modules should also have a way to add strings programatically + [x] Should be able to add many strings by dropping a file in a set location. [+] Method to store listmodes (more generically than AKICK, too) for e.g. +beI and extbans, etc. [x] Config bailing on /os reload needs to be non fatal [x] AutoID needs to be able to live through /os restart, current system is just annoying. diff --git a/lang/update.sh b/lang/update.sh index 9a71fcfbd..d1319ff6f 100755 --- a/lang/update.sh +++ b/lang/update.sh @@ -1,7 +1,7 @@ #!/bin/bash pushd ../src > /dev/null -xgettext -s -d Anope -o ../lang/anope.pot --from-code=utf-8 language.cpp +xgettext -C -s -d Anope -o ../lang/anope.pot --from-code=utf-8 --keyword=_ language.cpp popd > /dev/null for f in *.po diff --git a/modules/core/ns_set_language.cpp b/modules/core/ns_set_language.cpp index 146ebf19b..b74bac6cc 100644 --- a/modules/core/ns_set_language.cpp +++ b/modules/core/ns_set_language.cpp @@ -39,7 +39,7 @@ class CommandNSSetLanguage : public Command } } - nc->language = param; + nc->language = param != "en" ? param : ""; u->SendMessage(NickServ, NICK_SET_LANGUAGE_CHANGED); return MOD_CONT; diff --git a/src/language.cpp b/src/language.cpp index 71dabcf46..3744770a9 100644 --- a/src/language.cpp +++ b/src/language.cpp @@ -2,8 +2,9 @@ #if HAVE_GETTEXT # include <libintl.h> +# define _(x) gettext(x) #else -# define gettext(x) x +# define _(x) x #endif std::vector<Anope::string> languages; @@ -94,562 +95,562 @@ void SyntaxError(BotInfo *bi, User *u, const Anope::string &command, LanguageStr Anope::string language_strings[LANG_STRING_COUNT] = { /* LANG_NAME */ - gettext("English"), + _("English"), /* COMMAND_REQUIRES_PERM */ - gettext("Access to this command requires the permission %s to be present in your opertype."), + _("Access to this command requires the permission %s to be present in your opertype."), /* COMMAND_IDENTIFY_REQUIRED */ - gettext("You need to be identified to use this command."), + _("You need to be identified to use this command."), /* COMMAND_CANNOT_USE */ - gettext("You cannot use this command."), + _("You cannot use this command."), /* COMMAND_CAN_USE */ - gettext("You can use this command."), + _("You can use this command."), /* USER_RECORD_NOT_FOUND */ - gettext("Internal error - unable to process request."), + _("Internal error - unable to process request."), /* UNKNOWN_COMMAND */ - gettext("Unknown command %s."), + _("Unknown command %s."), /* UNKNOWN_COMMAND_HELP */ - gettext("Unknown command %s. \"%R%s HELP\" for help."), + _("Unknown command %s. \"%R%s HELP\" for help."), /* SYNTAX_ERROR */ - gettext("Syntax: %s"), + _("Syntax: %s"), /* MORE_INFO */ - gettext("%R%s HELP %s for more information."), + _("%R%s HELP %s for more information."), /* NO_HELP_AVAILABLE */ - gettext("No help available for %s."), + _("No help available for %s."), /* OBSOLETE_COMMAND */ - gettext("This command is obsolete; use %s instead."), + _("This command is obsolete; use %s instead."), /* BAD_USERHOST_MASK */ - gettext("Mask must be in the form user@host."), + _("Mask must be in the form user@host."), /* BAD_EXPIRY_TIME */ - gettext("Invalid expiry time."), + _("Invalid expiry time."), /* USERHOST_MASK_TOO_WIDE */ - gettext("%s coverage is too wide; Please use a more specific mask."), + _("%s coverage is too wide; Please use a more specific mask."), /* SERVICE_OFFLINE */ - gettext("%s is currently offline."), + _("%s is currently offline."), /* READ_ONLY_MODE */ - gettext("Notice: Services is in read-only mode; changes will not be saved!"), + _("Notice: Services is in read-only mode; changes will not be saved!"), /* PASSWORD_INCORRECT */ - gettext("Password incorrect."), + _("Password incorrect."), /* INVALID_TARGET */ - gettext("\"/msg %s\" is no longer supported. Use \"/msg %s@%s\" or \"/%s\" instead."), + _("\"/msg %s\" is no longer supported. Use \"/msg %s@%s\" or \"/%s\" instead."), /* ACCESS_DENIED */ - gettext("Access denied."), + _("Access denied."), /* MORE_OBSCURE_PASSWORD */ - gettext("Please try again with a more obscure password. Passwords should be at least five characters long, should not be something easily guessed (e.g. your real name or your nick), and cannot contain the space or tab characters."), + _("Please try again with a more obscure password. Passwords should be at least five characters long, should not be something easily guessed (e.g. your real name or your nick), and cannot contain the space or tab characters."), /* PASSWORD_TOO_LONG */ - gettext("Your password is too long. Please try again with a shorter password."), + _("Your password is too long. Please try again with a shorter password."), /* NICK_NOT_REGISTERED */ - gettext("Your nick isn't registered."), + _("Your nick isn't registered."), /* NICK_NOT_REGISTERED_HELP */ - gettext("Your nick isn't registered. Type %R%s HELP for information on registering your nickname."), + _("Your nick isn't registered. Type %R%s HELP for information on registering your nickname."), /* NICK_X_IS_SERVICES */ - gettext("Nick %s is part of this Network's Services."), + _("Nick %s is part of this Network's Services."), /* NICK_X_NOT_REGISTERED */ - gettext("Nick %s isn't registered."), + _("Nick %s isn't registered."), /* NICK_X_IN_USE */ - gettext("Nick %s is currently in use."), + _("Nick %s is currently in use."), /* NICK_X_NOT_IN_USE */ - gettext("Nick %s isn't currently in use."), + _("Nick %s isn't currently in use."), /* NICK_X_NOT_ON_CHAN */ - gettext("%s is not currently on channel %s."), + _("%s is not currently on channel %s."), /* NICK_X_FORBIDDEN */ - gettext("Nick %s may not be registered or used."), + _("Nick %s may not be registered or used."), /* NICK_X_FORBIDDEN_OPER */ - gettext("Nick %s has been forbidden by %s:\n" + _("Nick %s has been forbidden by %s:\n" "%s"), /* NICK_X_ILLEGAL */ - gettext("Nick %s is an illegal nickname and cannot be used."), + _("Nick %s is an illegal nickname and cannot be used."), /* NICK_X_TRUNCATED */ - gettext("Nick %s was truncated to %d characters."), + _("Nick %s was truncated to %d characters."), /* NICK_X_SUSPENDED */ - gettext("Nick %s is currently suspended."), + _("Nick %s is currently suspended."), /* CHAN_X_NOT_REGISTERED */ - gettext("Channel %s isn't registered."), + _("Channel %s isn't registered."), /* CHAN_X_NOT_IN_USE */ - gettext("Channel %s doesn't exist."), + _("Channel %s doesn't exist."), /* CHAN_X_FORBIDDEN */ - gettext("Channel %s may not be registered or used."), + _("Channel %s may not be registered or used."), /* CHAN_X_FORBIDDEN_OPER */ - gettext("Channel %s has been forbidden by %s:\n" + _("Channel %s has been forbidden by %s:\n" "%s"), /* CHAN_X_SUSPENDED */ - gettext(" Suspended: [%s] %s"), + _(" Suspended: [%s] %s"), /* NICK_IDENTIFY_REQUIRED */ - gettext("Password authentication required for that command.\n" + _("Password authentication required for that command.\n" "Retry after typing %R%s IDENTIFY password."), /* CHAN_IDENTIFY_REQUIRED */ - gettext("Password authentication required for that command.\n" + _("Password authentication required for that command.\n" "Retry after typing %R%s IDENTIFY %s password."), /* MAIL_DISABLED */ - gettext("Services have been configured to not send mail."), + _("Services have been configured to not send mail."), /* MAIL_INVALID */ - gettext("E-mail for %s is invalid."), + _("E-mail for %s is invalid."), /* MAIL_X_INVALID */ - gettext("%s is not a valid e-mail address."), + _("%s is not a valid e-mail address."), /* MAIL_LATER */ - gettext("Cannot send mail now; please retry a little later."), + _("Cannot send mail now; please retry a little later."), /* MAIL_DELAYED */ - gettext("Please wait %d seconds and retry."), + _("Please wait %d seconds and retry."), /* NO_REASON */ - gettext("No reason"), + _("No reason"), /* UNKNOWN */ - gettext("<unknown>"), + _("<unknown>"), /* DURATION_DAY */ - gettext("1 day"), + _("1 day"), /* DURATION_DAYS */ - gettext("%d days"), + _("%d days"), /* DURATION_HOUR */ - gettext("1 hour"), + _("1 hour"), /* DURATION_HOURS */ - gettext("%d hours"), + _("%d hours"), /* DURATION_MINUTE */ - gettext("1 minute"), + _("1 minute"), /* DURATION_MINUTES */ - gettext("%d minutes"), + _("%d minutes"), /* DURATION_SECOND */ - gettext("1 second"), + _("1 second"), /* DURATION_SECONDS */ - gettext("%d seconds"), + _("%d seconds"), /* NO_EXPIRE */ - gettext("does not expire"), + _("does not expire"), /* EXPIRES_SOON */ - gettext("expires at next database update"), + _("expires at next database update"), /* EXPIRES_M */ - gettext("expires in %d minutes"), + _("expires in %d minutes"), /* EXPIRES_1M */ - gettext("expires in %d minute"), + _("expires in %d minute"), /* EXPIRES_HM */ - gettext("expires in %d hours, %d minutes"), + _("expires in %d hours, %d minutes"), /* EXPIRES_H1M */ - gettext("expires in %d hours, %d minute"), + _("expires in %d hours, %d minute"), /* EXPIRES_1HM */ - gettext("expires in %d hour, %d minutes"), + _("expires in %d hour, %d minutes"), /* EXPIRES_1H1M */ - gettext("expires in %d hour, %d minute"), + _("expires in %d hour, %d minute"), /* EXPIRES_D */ - gettext("expires in %d days"), + _("expires in %d days"), /* EXPIRES_1D */ - gettext("expires in %d day"), + _("expires in %d day"), /* END_OF_ANY_LIST */ - gettext("End of %s list."), + _("End of %s list."), /* LIST_INCORRECT_RANGE */ - gettext("Incorrect range specified. The correct syntax is #from-to."), + _("Incorrect range specified. The correct syntax is #from-to."), /* CS_LIST_INCORRECT_RANGE */ - gettext("To search for channels starting with #, search for the channel\n" + _("To search for channels starting with #, search for the channel\n" "name without the #-sign prepended (anope instead of #anope)."), /* NICK_IS_REGISTERED */ - gettext("This nick is owned by someone else. Please choose another.\n" + _("This nick is owned by someone else. Please choose another.\n" "(If this is your nick, type %R%s IDENTIFY password.)"), /* NICK_IS_SECURE */ - gettext("This nickname is registered and protected. If it is your\n" + _("This nickname is registered and protected. If it is your\n" "nick, type %R%s IDENTIFY password. Otherwise,\n" "please choose a different nick."), /* NICK_MAY_NOT_BE_USED */ - gettext("This nickname may not be used. Please choose another one."), + _("This nickname may not be used. Please choose another one."), /* FORCENICKCHANGE_IN_1_MINUTE */ - gettext("If you do not change within one minute, I will change your nick."), + _("If you do not change within one minute, I will change your nick."), /* FORCENICKCHANGE_IN_20_SECONDS */ - gettext("If you do not change within 20 seconds, I will change your nick."), + _("If you do not change within 20 seconds, I will change your nick."), /* FORCENICKCHANGE_NOW */ - gettext("This nickname has been registered; you may not use it."), + _("This nickname has been registered; you may not use it."), /* FORCENICKCHANGE_CHANGING */ - gettext("Your nickname is now being changed to %s"), + _("Your nickname is now being changed to %s"), /* NICK_REGISTER_SYNTAX */ - gettext("REGISTER password [email]"), + _("REGISTER password [email]"), /* NICK_REGISTER_SYNTAX_EMAIL */ - gettext("REGISTER password email"), + _("REGISTER password email"), /* NICK_REGISTRATION_DISABLED */ - gettext("Sorry, nickname registration is temporarily disabled."), + _("Sorry, nickname registration is temporarily disabled."), /* NICK_REGISTRATION_FAILED */ - gettext("Sorry, registration failed."), + _("Sorry, registration failed."), /* NICK_REG_PLEASE_WAIT */ - gettext("Please wait %d seconds before using the REGISTER command again."), + _("Please wait %d seconds before using the REGISTER command again."), /* NICK_CANNOT_BE_REGISTERED */ - gettext("Nickname %s may not be registered."), + _("Nickname %s may not be registered."), /* NICK_ALREADY_REGISTERED */ - gettext("Nickname %s is already registered!"), + _("Nickname %s is already registered!"), /* NICK_REGISTERED */ - gettext("Nickname %s registered under your account: %s"), + _("Nickname %s registered under your account: %s"), /* NICK_REGISTERED_NO_MASK */ - gettext("Nickname %s registered."), + _("Nickname %s registered."), /* NICK_PASSWORD_IS */ - gettext("Your password is %s - remember this for later use."), + _("Your password is %s - remember this for later use."), /* NICK_REG_DELAY */ - gettext("You must have been using this nick for at least %d seconds to register."), + _("You must have been using this nick for at least %d seconds to register."), /* NICK_GROUP_SYNTAX */ - gettext("GROUP target password"), + _("GROUP target password"), /* NICK_GROUP_DISABLED */ - gettext("Sorry, nickname grouping is temporarily disabled."), + _("Sorry, nickname grouping is temporarily disabled."), /* NICK_GROUP_FAILED */ - gettext("Sorry, grouping failed."), + _("Sorry, grouping failed."), /* NICK_GROUP_PLEASE_WAIT */ - gettext("Please wait %d seconds before using the GROUP command again."), + _("Please wait %d seconds before using the GROUP command again."), /* NICK_GROUP_CHANGE_DISABLED */ - gettext("Your nick is already registered; type %R%s DROP first."), + _("Your nick is already registered; type %R%s DROP first."), /* NICK_GROUP_SAME */ - gettext("You are already a member of the group of %s."), + _("You are already a member of the group of %s."), /* NICK_GROUP_TOO_MANY */ - gettext("There are too many nicks in %s's group; list them and drop some.\n" + _("There are too many nicks in %s's group; list them and drop some.\n" "Type %R%s HELP GLIST and %R%s HELP DROP\n" "for more information."), /* NICK_GROUP_JOINED */ - gettext("You are now in the group of %s."), + _("You are now in the group of %s."), /* NICK_UNGROUP_ONE_NICK */ - gettext("Your nick is not grouped to anything, you can't ungroup it."), + _("Your nick is not grouped to anything, you can't ungroup it."), /* NICK_UNGROUP_NOT_IN_GROUP */ - gettext("The nick %s is not in your group."), + _("The nick %s is not in your group."), /* NICK_UNGROUP_SUCCESSFUL */ - gettext("Nick %s has been ungrouped from %s."), + _("Nick %s has been ungrouped from %s."), /* NICK_IDENTIFY_SYNTAX */ - gettext("IDENTIFY [account] password"), + _("IDENTIFY [account] password"), /* NICK_IDENTIFY_FAILED */ - gettext("Sorry, identification failed."), + _("Sorry, identification failed."), /* NICK_IDENTIFY_SUCCEEDED */ - gettext("Password accepted - you are now recognized."), + _("Password accepted - you are now recognized."), /* NICK_IDENTIFY_EMAIL_REQUIRED */ - gettext("You must now supply an e-mail for your nick.\n" + _("You must now supply an e-mail for your nick.\n" "This e-mail will allow you to retrieve your password in\n" "case you forget it."), /* NICK_IDENTIFY_EMAIL_HOWTO */ - gettext("Type %R%S SET EMAIL e-mail in order to set your e-mail.\n" + _("Type %R%S SET EMAIL e-mail in order to set your e-mail.\n" "Your privacy is respected; this e-mail won't be given to\n" "any third-party person."), /* NICK_ALREADY_IDENTIFIED */ - gettext("You are already identified."), + _("You are already identified."), /* NICK_UPDATE_SUCCESS */ - gettext("Status updated (memos, vhost, chmodes, flags)."), + _("Status updated (memos, vhost, chmodes, flags)."), /* NICK_LOGOUT_SYNTAX */ - gettext("LOGOUT"), + _("LOGOUT"), /* NICK_LOGOUT_SUCCEEDED */ - gettext("Your nick has been logged out."), + _("Your nick has been logged out."), /* NICK_LOGOUT_X_SUCCEEDED */ - gettext("Nick %s has been logged out."), + _("Nick %s has been logged out."), /* NICK_LOGOUT_SERVICESADMIN */ - gettext("Can't logout %s because he's a Services Operator."), + _("Can't logout %s because he's a Services Operator."), /* NICK_DROP_DISABLED */ - gettext("Sorry, nickname de-registration is temporarily disabled."), + _("Sorry, nickname de-registration is temporarily disabled."), /* NICK_DROPPED */ - gettext("Your nickname has been dropped."), + _("Your nickname has been dropped."), /* NICK_X_DROPPED */ - gettext("Nickname %s has been dropped."), + _("Nickname %s has been dropped."), /* NICK_SET_SYNTAX */ - gettext("SET option parameters"), + _("SET option parameters"), /* NICK_SET_SERVADMIN_SYNTAX */ - gettext("SET [nick] option parameters"), + _("SET [nick] option parameters"), /* NICK_SET_DISABLED */ - gettext("Sorry, nickname option setting is temporarily disabled."), + _("Sorry, nickname option setting is temporarily disabled."), /* NICK_SET_UNKNOWN_OPTION */ - gettext("Unknown SET option %s."), + _("Unknown SET option %s."), /* NICK_SET_OPTION_DISABLED */ - gettext("Option %s cannot be set on this network."), + _("Option %s cannot be set on this network."), /* NICK_SET_DISPLAY_INVALID */ - gettext("The new display MUST be a nickname of your nickname group!"), + _("The new display MUST be a nickname of your nickname group!"), /* NICK_SET_DISPLAY_CHANGED */ - gettext("The new display is now %s."), + _("The new display is now %s."), /* NICK_SET_PASSWORD_FAILED */ - gettext("Sorry, couldn't change password."), + _("Sorry, couldn't change password."), /* NICK_SET_PASSWORD_CHANGED */ - gettext("Password changed."), + _("Password changed."), /* NICK_SET_PASSWORD_CHANGED_TO */ - gettext("Password changed to %s."), + _("Password changed to %s."), /* NICK_SET_LANGUAGE_SYNTAX */ - gettext("SET LANGUAGE language"), + _("SET LANGUAGE language"), /* NICK_SET_LANGUAGE_UNKNOWN */ - gettext("Unknown language number %d. Type %R%s HELP SET LANGUAGE for a list of languages."), + _("Unknown language number %d. Type %R%s HELP SET LANGUAGE for a list of languages."), /* NICK_SET_LANGUAGE_CHANGED */ - gettext("Language changed to English."), + _("Language changed to English."), /* NICK_SET_EMAIL_CHANGED */ - gettext("E-mail address changed to %s."), + _("E-mail address changed to %s."), /* NICK_SET_EMAIL_UNSET */ - gettext("E-mail address unset."), + _("E-mail address unset."), /* NICK_SET_EMAIL_UNSET_IMPOSSIBLE */ - gettext("You cannot unset the e-mail on this network."), + _("You cannot unset the e-mail on this network."), /* NICK_SET_GREET_CHANGED */ - gettext("Greet message changed to %s."), + _("Greet message changed to %s."), /* NICK_SET_GREET_UNSET */ - gettext("Greet message unset."), + _("Greet message unset."), /* NICK_SET_KILL_SYNTAX */ - gettext("SET KILL {ON | QUICK | OFF}"), + _("SET KILL {ON | QUICK | OFF}"), /* NICK_SET_KILL_IMMED_SYNTAX */ - gettext("SET KILL {ON | QUICK | IMMED | OFF}"), + _("SET KILL {ON | QUICK | IMMED | OFF}"), /* NICK_SET_KILL_ON */ - gettext("Protection is now ON."), + _("Protection is now ON."), /* NICK_SET_KILL_QUICK */ - gettext("Protection is now ON, with a reduced delay."), + _("Protection is now ON, with a reduced delay."), /* NICK_SET_KILL_IMMED */ - gettext("Protection is now ON, with no delay."), + _("Protection is now ON, with no delay."), /* NICK_SET_KILL_IMMED_DISABLED */ - gettext("The IMMED option is not available on this network."), + _("The IMMED option is not available on this network."), /* NICK_SET_KILL_OFF */ - gettext("Protection is now OFF."), + _("Protection is now OFF."), /* NICK_SET_SECURE_SYNTAX */ - gettext("SET SECURE {ON | OFF}"), + _("SET SECURE {ON | OFF}"), /* NICK_SET_SECURE_ON */ - gettext("Secure option is now ON."), + _("Secure option is now ON."), /* NICK_SET_SECURE_OFF */ - gettext("Secure option is now OFF."), + _("Secure option is now OFF."), /* NICK_SET_PRIVATE_SYNTAX */ - gettext("SET PRIVATE {ON | OFF}"), + _("SET PRIVATE {ON | OFF}"), /* NICK_SET_PRIVATE_ON */ - gettext("Private option is now ON."), + _("Private option is now ON."), /* NICK_SET_PRIVATE_OFF */ - gettext("Private option is now OFF."), + _("Private option is now OFF."), /* NICK_SET_HIDE_SYNTAX */ - gettext("SET HIDE {EMAIL | STATUS | USERMASK | QUIT} {ON | OFF}"), + _("SET HIDE {EMAIL | STATUS | USERMASK | QUIT} {ON | OFF}"), /* NICK_SET_HIDE_EMAIL_ON */ - gettext("Your E-mail address will now be hidden from %s INFO displays."), + _("Your E-mail address will now be hidden from %s INFO displays."), /* NICK_SET_HIDE_EMAIL_OFF */ - gettext("Your E-mail address will now be shown in %s INFO displays."), + _("Your E-mail address will now be shown in %s INFO displays."), /* NICK_SET_HIDE_MASK_ON */ - gettext("Your last seen user@host mask will now be hidden from %s INFO displays."), + _("Your last seen user@host mask will now be hidden from %s INFO displays."), /* NICK_SET_HIDE_MASK_OFF */ - gettext("Your last seen user@host mask will now be shown in %s INFO displays."), + _("Your last seen user@host mask will now be shown in %s INFO displays."), /* NICK_SET_HIDE_QUIT_ON */ - gettext("Your last quit message will now be hidden from %s INFO displays."), + _("Your last quit message will now be hidden from %s INFO displays."), /* NICK_SET_HIDE_QUIT_OFF */ - gettext("Your last quit message will now be shown in %s INFO displays."), + _("Your last quit message will now be shown in %s INFO displays."), /* NICK_SET_HIDE_STATUS_ON */ - gettext("Your services access status will now be hidden from %s INFO displays."), + _("Your services access status will now be hidden from %s INFO displays."), /* NICK_SET_HIDE_STATUS_OFF */ - gettext("Your services access status will now be shown in %s INFO displays."), + _("Your services access status will now be shown in %s INFO displays."), /* NICK_SET_MSG_SYNTAX */ - gettext("SET MSG {ON | OFF}"), + _("SET MSG {ON | OFF}"), /* NICK_SET_MSG_ON */ - gettext("Services will now reply to you with messages."), + _("Services will now reply to you with messages."), /* NICK_SET_MSG_OFF */ - gettext("Services will now reply to you with notices."), + _("Services will now reply to you with notices."), /* NICK_SET_AUTOOP_SYNTAX */ - gettext("SET AUTOOP {ON | OFF}"), + _("SET AUTOOP {ON | OFF}"), /* NICK_SET_AUTOOP_ON */ - gettext("Services will now autoop you in channels."), + _("Services will now autoop you in channels."), /* NICK_SET_AUTOOP_OFF */ - gettext("Services will no longer autoop you in channels."), + _("Services will no longer autoop you in channels."), /* NICK_SASET_SYNTAX */ - gettext("SASET nickname option parameters"), + _("SASET nickname option parameters"), /* NICK_SASET_UNKNOWN_OPTION */ - gettext("Unknown SASET option %s."), + _("Unknown SASET option %s."), /* NICK_SASET_BAD_NICK */ - gettext("Nickname %s not registered."), + _("Nickname %s not registered."), /* NICK_SASET_DISPLAY_INVALID */ - gettext("The new display for %s MUST be a nickname of the nickname group!"), + _("The new display for %s MUST be a nickname of the nickname group!"), /* NICK_SASET_PASSWORD_FAILED */ - gettext("Sorry, couldn't change password for %s."), + _("Sorry, couldn't change password for %s."), /* NICK_SASET_PASSWORD_CHANGED */ - gettext("Password for %s changed."), + _("Password for %s changed."), /* NICK_SASET_PASSWORD_CHANGED_TO */ - gettext("Password for %s changed to %s."), + _("Password for %s changed to %s."), /* NICK_SASET_EMAIL_CHANGED */ - gettext("E-mail address for %s changed to %s."), + _("E-mail address for %s changed to %s."), /* NICK_SASET_EMAIL_UNSET */ - gettext("E-mail address for %s unset."), + _("E-mail address for %s unset."), /* NICK_SASET_GREET_CHANGED */ - gettext("Greet message for %s changed to %s."), + _("Greet message for %s changed to %s."), /* NICK_SASET_GREET_UNSET */ - gettext("Greet message for %s unset."), + _("Greet message for %s unset."), /* NICK_SASET_KILL_SYNTAX */ - gettext("SASET nickname KILL {ON | QUICK | OFF}"), + _("SASET nickname KILL {ON | QUICK | OFF}"), /* NICK_SASET_KILL_IMMED_SYNTAX */ - gettext("SASET nickname KILL {ON | QUICK | IMMED | OFF}"), + _("SASET nickname KILL {ON | QUICK | IMMED | OFF}"), /* NICK_SASET_KILL_ON */ - gettext("Protection is now ON for %s."), + _("Protection is now ON for %s."), /* NICK_SASET_KILL_QUICK */ - gettext("Protection is now ON for %s, with a reduced delay."), + _("Protection is now ON for %s, with a reduced delay."), /* NICK_SASET_KILL_IMMED */ - gettext("Protection is now ON for %s, with no delay."), + _("Protection is now ON for %s, with no delay."), /* NICK_SASET_KILL_OFF */ - gettext("Protection is now OFF for %s."), + _("Protection is now OFF for %s."), /* NICK_SASET_SECURE_SYNTAX */ - gettext("SASET nickname SECURE {ON | OFF}"), + _("SASET nickname SECURE {ON | OFF}"), /* NICK_SASET_SECURE_ON */ - gettext("Secure option is now ON for %s."), + _("Secure option is now ON for %s."), /* NICK_SASET_SECURE_OFF */ - gettext("Secure option is now OFF for %s."), + _("Secure option is now OFF for %s."), /* NICK_SASET_PRIVATE_SYNTAX */ - gettext("SASET nickname PRIVATE {ON | OFF}"), + _("SASET nickname PRIVATE {ON | OFF}"), /* NICK_SASET_PRIVATE_ON */ - gettext("Private option is now ON for %s."), + _("Private option is now ON for %s."), /* NICK_SASET_PRIVATE_OFF */ - gettext("Private option is now OFF for %s."), + _("Private option is now OFF for %s."), /* NICK_SASET_HIDE_SYNTAX */ - gettext("SASET nickname HIDE {EMAIL | STATUS | USERMASK | QUIT} {ON | OFF}"), + _("SASET nickname HIDE {EMAIL | STATUS | USERMASK | QUIT} {ON | OFF}"), /* NICK_SASET_HIDE_EMAIL_ON */ - gettext("The E-mail address of %s will now be hidden from %s INFO displays."), + _("The E-mail address of %s will now be hidden from %s INFO displays."), /* NICK_SASET_HIDE_EMAIL_OFF */ - gettext("The E-mail address of %s will now be shown in %s INFO displays."), + _("The E-mail address of %s will now be shown in %s INFO displays."), /* NICK_SASET_HIDE_MASK_ON */ - gettext("The last seen user@host mask of %s will now be hidden from %s INFO displays."), + _("The last seen user@host mask of %s will now be hidden from %s INFO displays."), /* NICK_SASET_HIDE_MASK_OFF */ - gettext("The last seen user@host mask of %s will now be shown in %s INFO displays."), + _("The last seen user@host mask of %s will now be shown in %s INFO displays."), /* NICK_SASET_HIDE_QUIT_ON */ - gettext("The last quit message of %s will now be hidden from %s INFO displays."), + _("The last quit message of %s will now be hidden from %s INFO displays."), /* NICK_SASET_HIDE_QUIT_OFF */ - gettext("The last quit message of %s will now be shown in %s INFO displays."), + _("The last quit message of %s will now be shown in %s INFO displays."), /* NICK_SASET_HIDE_STATUS_ON */ - gettext("The services access status of %s will now be hidden from %s INFO displays."), + _("The services access status of %s will now be hidden from %s INFO displays."), /* NICK_SASET_HIDE_STATUS_OFF */ - gettext("The services access status of %s will now be shown in %s INFO displays."), + _("The services access status of %s will now be shown in %s INFO displays."), /* NICK_SASET_MSG_SYNTAX */ - gettext("SASAET nickname PRIVATE {ON | OFF}"), + _("SASAET nickname PRIVATE {ON | OFF}"), /* NICK_SASET_MSG_ON */ - gettext("Services will now reply to %s with messages."), + _("Services will now reply to %s with messages."), /* NICK_SASET_MSG_OFF */ - gettext("Services will now reply to %s with notices."), + _("Services will now reply to %s with notices."), /* NICK_SASET_NOEXPIRE_SYNTAX */ - gettext("SASET nickname NOEXPIRE {ON | OFF}"), + _("SASET nickname NOEXPIRE {ON | OFF}"), /* NICK_SASET_NOEXPIRE_ON */ - gettext("Nick %s will not expire."), + _("Nick %s will not expire."), /* NICK_SASET_NOEXPIRE_OFF */ - gettext("Nick %s will expire."), + _("Nick %s will expire."), /* NICK_SASET_AUTOOP_SYNTAX */ - gettext("SASET nickname AUTOOP {ON | OFF}"), + _("SASET nickname AUTOOP {ON | OFF}"), /* NICK_SASET_AUTOOP_ON */ - gettext("Services will now autoop %s in channels."), + _("Services will now autoop %s in channels."), /* NICK_SASET_AUTOOP_OFF */ - gettext("Services will no longer autoop %s in channels."), + _("Services will no longer autoop %s in channels."), /* NICK_SASET_LANGUAGE_SYNTAX */ - gettext("SASET nickname LANGUAGE number"), + _("SASET nickname LANGUAGE number"), /* NICK_ACCESS_SYNTAX */ - gettext("ACCESS {ADD | DEL | LIST} [mask]"), + _("ACCESS {ADD | DEL | LIST} [mask]"), /* NICK_ACCESS_ALREADY_PRESENT */ - gettext("Mask %s already present on your access list."), + _("Mask %s already present on your access list."), /* NICK_ACCESS_REACHED_LIMIT */ - gettext("Sorry, you can only have %d access entries for a nickname."), + _("Sorry, you can only have %d access entries for a nickname."), /* NICK_ACCESS_ADDED */ - gettext("%s added to your access list."), + _("%s added to your access list."), /* NICK_ACCESS_NOT_FOUND */ - gettext("%s not found on your access list."), + _("%s not found on your access list."), /* NICK_ACCESS_DELETED */ - gettext("%s deleted from your access list."), + _("%s deleted from your access list."), /* NICK_ACCESS_LIST */ - gettext("Access list:"), + _("Access list:"), /* NICK_ACCESS_LIST_X */ - gettext("Access list for %s:"), + _("Access list for %s:"), /* NICK_ACCESS_LIST_EMPTY */ - gettext("Your access list is empty."), + _("Your access list is empty."), /* NICK_ACCESS_LIST_X_EMPTY */ - gettext("Access list for %s is empty."), + _("Access list for %s is empty."), /* NICK_STATUS_REPLY */ - gettext("STATUS %s %d %s"), + _("STATUS %s %d %s"), /* NICK_INFO_SYNTAX */ - gettext("INFO nick"), + _("INFO nick"), /* NICK_INFO_REALNAME */ - gettext("%s is %s"), + _("%s is %s"), /* NICK_INFO_SERVICES_OPERTYPE */ - gettext("%s is a services operator of type %s."), + _("%s is a services operator of type %s."), /* NICK_INFO_ADDRESS */ - gettext("Last seen address: %s"), + _("Last seen address: %s"), /* NICK_INFO_ADDRESS_ONLINE */ - gettext(" Is online from: %s"), + _(" Is online from: %s"), /* NICK_INFO_ADDRESS_ONLINE_NOHOST */ - gettext("%s is currently online."), + _("%s is currently online."), /* NICK_INFO_TIME_REGGED */ - gettext(" Time registered: %s"), + _(" Time registered: %s"), /* NICK_INFO_LAST_SEEN */ - gettext(" Last seen time: %s"), + _(" Last seen time: %s"), /* NICK_INFO_LAST_QUIT */ - gettext("Last quit message: %s"), + _("Last quit message: %s"), /* NICK_INFO_URL */ - gettext(" URL: %s"), + _(" URL: %s"), /* NICK_INFO_EMAIL */ - gettext(" E-mail address: %s"), + _(" E-mail address: %s"), /* NICK_INFO_VHOST */ - gettext(" vhost: %s"), + _(" vhost: %s"), /* NICK_INFO_VHOST2 */ - gettext(" vhost: %s@%s"), + _(" vhost: %s@%s"), /* NICK_INFO_GREET */ - gettext(" Greet message: %s"), + _(" Greet message: %s"), /* NICK_INFO_OPTIONS */ - gettext(" Options: %s"), + _(" Options: %s"), /* NICK_INFO_EXPIRE */ - gettext("Expires on: %s"), + _("Expires on: %s"), /* NICK_INFO_OPT_KILL */ - gettext("Protection"), + _("Protection"), /* NICK_INFO_OPT_SECURE */ - gettext("Security"), + _("Security"), /* NICK_INFO_OPT_PRIVATE */ - gettext("Private"), + _("Private"), /* NICK_INFO_OPT_MSG */ - gettext("Message mode"), + _("Message mode"), /* NICK_INFO_OPT_AUTOOP */ - gettext("Auto-op"), + _("Auto-op"), /* NICK_INFO_OPT_NONE */ - gettext("None"), + _("None"), /* NICK_INFO_NO_EXPIRE */ - gettext("This nickname will not expire."), + _("This nickname will not expire."), /* NICK_INFO_SUSPENDED */ - gettext("This nickname is currently suspended, reason: %s"), + _("This nickname is currently suspended, reason: %s"), /* NICK_INFO_SUSPENDED_NO_REASON */ - gettext("This nickname is currently suspended"), + _("This nickname is currently suspended"), /* NICK_LIST_SYNTAX */ - gettext("LIST pattern"), + _("LIST pattern"), /* NICK_LIST_SERVADMIN_SYNTAX */ - gettext("LIST pattern [FORBIDDEN] [SUSPENDED] [NOEXPIRE] [UNCONFIRMED]"), + _("LIST pattern [FORBIDDEN] [SUSPENDED] [NOEXPIRE] [UNCONFIRMED]"), /* NICK_LIST_HEADER */ - gettext("List of entries matching %s:"), + _("List of entries matching %s:"), /* NICK_LIST_RESULTS */ - gettext("End of list - %d/%d matches shown."), + _("End of list - %d/%d matches shown."), /* NICK_ALIST_SYNTAX */ - gettext("ALIST nickname"), + _("ALIST nickname"), /* NICK_ALIST_HEADER */ - gettext("Channels that you have access on:\n" + _("Channels that you have access on:\n" " Num Channel Level Description"), /* NICK_ALIST_HEADER_X */ - gettext("Channels that %s has access on:\n" + _("Channels that %s has access on:\n" " Num Channel Level Description"), /* NICK_ALIST_XOP_FORMAT */ - gettext(" %3d %c%-20s %-8s %s"), + _(" %3d %c%-20s %-8s %s"), /* NICK_ALIST_ACCESS_FORMAT */ - gettext(" %3d %c%-20s %-8d %s"), + _(" %3d %c%-20s %-8d %s"), /* NICK_ALIST_FOOTER */ - gettext("End of list - %d/%d channels shown."), + _("End of list - %d/%d channels shown."), /* NICK_GLIST_HEADER */ - gettext("List of nicknames in your group:"), + _("List of nicknames in your group:"), /* NICK_GLIST_HEADER_X */ - gettext("List of nicknames in the group of %s:"), + _("List of nicknames in the group of %s:"), /* NICK_GLIST_FOOTER */ - gettext("%d nicknames in the group."), + _("%d nicknames in the group."), /* NICK_GLIST_REPLY */ - gettext(" %s (expires in %s)"), + _(" %s (expires in %s)"), /* NICK_GLIST_REPLY_NOEXPIRE */ - gettext(" %s (does not expire)"), + _(" %s (does not expire)"), /* NICK_RECOVER_SYNTAX */ - gettext("RECOVER nickname [password]"), + _("RECOVER nickname [password]"), /* NICK_NO_RECOVER_SELF */ - gettext("You can't recover yourself!"), + _("You can't recover yourself!"), /* NICK_RECOVERED */ - gettext("User claiming your nick has been killed.\n" + _("User claiming your nick has been killed.\n" "%R%s RELEASE %s to get it back before %s timeout."), |
