1 #ifndef __CHANSERV_MESSAGES_H
2 #define __CHANSERV_MESSAGES_H
4 #define Q9_FORMAT_TIME "%d/%m/%y %H:%M GMT"
7 #define Q9_LOG_FORMAT_TIME "%d/%m/%y %H:%M:%S"
9 #define MAXMESSAGES 250
11 #ifdef COMPILING_MESSAGES
12 #define msg(token, message, args) message, args
13 #define BeginMessages() char *defaultmessages[MAXMESSAGES*2] =
14 #define EndMessages();
16 #define msg(token, message, argsx) token
17 #define BeginMessages(x) typedef enum csrawmessages
18 #define EndMessages() csrawmessages; extern char *defaultmessages[MAXMESSAGES*2];
22 msg(QM_PROTECTED
, "Channel $0 is protected by $1.", "ss"),
23 msg(QM_UNKNOWNCMD
, "Unknown command $0. Type SHOWCOMMANDS for a list of available commands.", "s"),
24 msg(QM_SECUREONLY
, "To prevent sensitive information being accidentally send to malicious users\non other networks, when using the $0 command, you must use\n/msg $1@$2.", "sss"),
25 msg(QM_AUTHEDONLY
, "$0 is only available to authed users. Try AUTH to authenticate with your\naccount, or HELLO to create an account.", "s"),
26 msg(QM_UNAUTHEDONLY
, "$0 is not available once you have authed.", "s"),
27 msg(QM_COMMANDLIST
, "The following commands are available to you.\nFor more information on a specific command, type HELP <command>:", ""),
28 msg(QM_ENDOFLIST
, "End of list.", ""),
29 msg(QM_DONE
, "Done.", ""),
30 msg(QM_NOTENOUGHPARAMS
, "You didn't provide enough parameters for $0.", "s"),
31 msg(QM_UNKNOWNCHAN
, "Channel $0 is unknown or suspended.", "s"),
32 msg(QM_NOACCESSONCHAN
, "You do not have sufficient access on $0 to use $1.", "ss"),
33 msg(QM_CURCHANFLAGS
, "Current channel flags for $0: $1", "ss"),
34 msg(QM_CURFORCEMODES
, "Current forced modes on $0: $1", "ss"),
35 msg(QM_NOACCESS
, "You do not have sufficient privileges to use $0.", "s"),
36 msg(QM_UNKNOWNUSER
, "Can't find user $0.", "s"),
37 msg(QM_USERNOTAUTHED
, "User $0 is not authed.", "s"),
38 msg(QM_CHANLEVHEADER
, "Known users on $0:", "s"),
39 msg(QM_CHANLEVCOLSHORT
, "Username Flags", ""),
40 msg(QM_CHANLEVCOLFULL
, "Username Flags Last join Last changed ", ""),
41 msg(QM_NOUSERSONCHANLEV
, "No known users found on $0.", "s"),
42 msg(QM_CHANUSERFLAGS
, "Flags for $0 on $1: $2", "sss"),
43 msg(QM_CHANUSERUNKNOWN
, "User $0 is not known on $1.", "ss"),
44 msg(QM_INVALIDCHANLEVCHANGE
, "Invalid or disallowed flag specified.", ""),
45 msg(QM_USERISAUTHEDAS
, "$0 is authed as $1.", "ss"),
46 msg(QM_USERISSTAFF
, "QuakeNet Staff : Staff Member", ""),
47 msg(QM_USERISHELPER
, "QuakeNet Staff : IRC Support", ""),
48 msg(QM_USERISOPER
, "QuakeNet Staff : IRC Operator", ""),
49 msg(QM_USERISADMIN
, "QuakeNet Staff : IRC Administrator", ""),
50 msg(QM_USERISDEV
, "QuakeNet Staff : Developer", ""),
51 msg(QM_WHOISHEADER
, "$0 is known on the following channels:", "s"),
52 msg(QM_WHOISCOLS
, "Channel Flags", ""),
53 msg(QM_USERONNOCHANS
, "$0 is not known on any channels.", "s"),
54 msg(QM_CHANAUTOLIMIT
, "Current autolimit setting on $0: $1", "sd"),
55 msg(QM_CHANBANAUTOREMOVE
, "Bans on $0 will be removed after: $1", "ss"),
56 msg(QM_NOCHANBANAUTOREMOVE
, "Bans on $0 will not be automatically removed.", "s"),
57 msg(QM_INVALIDCHANNAME
, "$0 is not a valid channel name.", "s"),
58 msg(QM_ALREADYREGISTERED
, "$0 is already registered.", "s"),
59 msg(QM_CURUSERFLAGS
, "User flags for $0: $1", "ss"),
60 msg(QM_WELCOMEMESSAGEIS
, "Welcome message for $0: $1", "ss"),
61 msg(QM_GLOBALINFO
, "Default info line: $0", "s"),
62 msg(QM_CHANNELINFO
, "Info line on $0: $1", "ss"),
63 msg(QM_PROTECTEDNICK
, "$0 is a protected helper or oper nick. Please use a different nickname.", "s"),
64 msg(QM_NICKWASFAKED
, "I created a fakeuser $0 to prevent your nick being stolen.", "s"),
65 msg(QM_NOTPROTECTED
, "Sorry, your nick $0 is not protected.", "s"),
66 msg(QM_SAMEAUTH
, "$0 is authed as $1. Cannot reclaim nick.", "ss"),
67 msg(QM_AUTHFAIL
, "Username or password incorrect.", ""),
68 msg(QM_AUTHOK
, "You are now logged in as $0.", "s"),
69 msg(QM_NEWACCOUNT
, "User $0 created successfully.\nInformation about how to access and use your new account will be sent to your email address, $1.\nIf you do not see an email soon be sure to check your spam folder.", "ss"),
70 msg(QM_AUTHNAMEINUSE
, "A user with that name already exists. If you have said HELLO before, use AUTH to\nlogin, or REQUESTPASSWORD if you have forgotten the password. Otherwise,\nplease change your nick and try again.", ""),
71 msg(QM_ALREADYONCHAN
, "You're already on $0.", "s"),
72 msg(QM_NOTONCHAN
, "You're not on $0.", "s"),
73 msg(QM_ALREADYOPPED
, "You're already opped on $0.", "s"),
74 msg(QM_USERNOTONCHAN
, "$0 is not on $1.", "ss"),
75 msg(QM_USEROPPEDONCHAN
, "$0 is already opped on $1.", "ss"),
76 msg(QM_CANTOP
, "Channel settings prevent $0 being opped on $1.", "ss"),
77 msg(QM_NOTOPPED
, "You're not opped on $0.", "s"),
78 msg(QM_ALREADYVOICED
, "You're already voiced on $0.", "s"),
79 msg(QM_NOTVOICED
, "You're not voiced on $0.", "s"),
80 msg(QM_USERVOICEDONCHAN
, "$0 is already voiced on $1.", "ss"),
81 msg(QM_REGBANHEADER
, "Registered bans on $0:\nID Hostmask Expires Set by Reason", "s"),
82 msg(QM_NOBANS
, "No bans on $0.", "s"),
83 msg(QM_REMOVEDCHANBAN
, "Removed channel ban $0 from $1.", "ss"),
84 msg(QM_NOTREMOVEDPERMBAN
, "You need the master flag to remove registered ban $0 from $1.", "ss"),
85 msg(QM_REMOVEDPERMBAN
, "Removed registered ban $0 from $1.", "ss"),
86 msg(QM_CANTVOICE
, "Channel settings prevent $0 being voiced on $1.", "ss"),
87 msg(QM_NOHELP
, "Sorry, no help available for $0.", "s"),
88 msg(QM_WHOISHEADER_NICK
, "-Information for user $0 (using account $1):", "ss"),
89 msg(QM_WHOISHEADER_AUTH
, "-Information for account $0:", "s"),
90 msg(QM_WHOIS_USERS
, "Account users : $0", "s"),
91 msg(QM_WHOIS_LASTAUTH
, "Last auth : $0", "s"),
92 msg(QM_WHOIS_LASTUSERHOST
, "Last user@host : $0", "s"),
93 msg(QM_WHOIS_USERID
, "User ID : $0", "d"),
94 msg(QM_WHOIS_INFO
, "Info : $0", "s"),
95 msg(QM_WHOIS_COMMENT
, "Staff comment : $0", "s"),
96 msg(QM_WHOIS_FLAGS
, "User flags : $0", "s"),
97 msg(QM_WHOIS_CREATED
, "User created : $0", "T"),
98 msg(QM_WHOIS_CHANHEADER
, "Known on the following channels:\nChannel Flags", ""),
99 msg(QM_WHOIS_EMAIL
, "Email address : $0", "s"),
100 msg(QM_WHOIS_EMAILSET
, "Email last set : $0", "T"),
101 msg(QM_COMMENT
, "Staff comment for $0: $1.", "ss"),
102 msg(QM_NOCOMMENT
, "No staff comment for $0.", "s"),
103 msg(QM_BADAUTH
, "$0: Your account has been deleted or suspended.", "s"),
104 msg(QM_USERHASBADAUTH
, "Account $0 has been deleted.", "s"),
105 msg(QM_BADEMAIL
, "Sorry, no accounts have that email address.", ""),
106 msg(QM_MAILTHROTTLED
, "Sorry, but you have already requested a password. You will have to wait atleast $0 hours, before requesting again.", "g"),
107 msg(QM_MAILQUEUED
, "Mail queued for delivery", ""),
108 msg(QM_PWDONTMATCH
, "Sorry, but passwords do not match", ""),
109 msg(QM_PWTOSHORT
, "Sorry, but new password is to short", ""),
110 msg(QM_PWCHANGED
, "Ok, password changed", ""),
111 msg(QM_INVALIDDURATION2
, "Duration too long or invalid: $0", "s"),
112 msg(QM_EMAILCHANGED
, "Ok, email changed to \"$0\"", "s"),
113 msg(QM_EMAILDONTMATCH
, "Sorry, but first and second email addresses don't match", ""),
114 msg(QM_INVALIDEMAIL
, "$0 is not a valid email address", "s"),
115 msg(QM_EMAILTOOSHORT
, "Email ($0) too short", "s"),
116 msg(QM_NOTYOUREMAIL
, "\"$0\" is not your email address", "s"),
117 msg(QM_EMAILNOAT
, "Email ($0) must contain at least one at sign (@)", "s"),
118 msg(QM_EMAILATEND
, "Email ($0) can't end with an at sign (@)", "s"),
119 msg(QM_EMAILINVCHR
, "Email ($0) contains invalid characters", "s"),
120 msg(QM_CHANNELNOTSUSPENDED
, "Channel $0 is not suspended.", "s"),
121 msg(QM_CHANNELALREADYSUSPENDED
, "Channel $0 is already suspended.", "s"),
122 msg(QM_CHANTYPE
, "Channel type: $0", "s"),
123 msg(QM_UNKNOWNCHANTYPE
, "$0: unknown channel type", "s"),
124 msg(QM_FOUNDER
, "Original founder: $0", "s"),
125 msg(QM_ADDEDBY
, "Added by: $0", "s"),
126 msg(QM_ALREADYKNOWNONCHAN
, "$0 is already known on $1.", "ss"),
127 msg(QM_CANNOTREMOVEOWNER
, "Not removing channel owner $0 from $1.", "ss"),
128 msg(QM_CANNOTREMOVEMASTER
, "Not removing channel master $0 from $1.", "ss"),
129 msg(QM_UNKNOWNBAN
, "Can't find ban $0 on $1.", "ss"),
130 msg(QM_YOURLANGUAGE
, "Your language is currently set to: $0.", "s"),
131 msg(QM_LANGUAGELIST
, "The following languages are currently known:", ""),
132 msg(QM_UNKNOWNLANGUAGE
, "Unknown language code: $0.", "s"),
133 msg(QM_WHOIS_USERLANG
, "Language : $0", "s"),
134 msg(QM_CHANTYPEIS
, "Channel type for $0 is: $1", "ss"),
135 msg(QM_STATSHEADER
, "Statistics for $0:", "s"),
136 msg(QM_STATSADDED
, "Date added: $0", "T"),
137 msg(QM_STATSJOINS
, "Since $0: maximum size $1, $2 joins ($3 joins/day).", "Tddg"),
138 msg(QM_STATSLASTACTIVE
, "Last active: $0", "T"),
139 msg(QM_AUTHSUSPENDED
, "Your Q account is suspended.", ""),
140 msg(QM_REASON
, "Reason: $0", "s"),
141 msg(QM_EXPIRES
, "Expires: $0", "T"),
142 msg(QM_TOOMANYAUTHS
, "Too many users AUTH'd to this account.", ""),
143 msg(QM_INVALIDDURATION
, "Duration must be between 1d and 1M.", ""),
144 msg(QM_DISCONNECTINGUSER
, "Disconnecting $0 (authed as $1)", "ss"),
145 msg(QM_USERALREADYSUSPENDED
, "User is already suspended.", ""),
146 msg(QM_USERNOTSUSPENDED
, "User $0 is not suspended.", "s"),
147 msg(QM_SPEWHEADER
, "Username: Suspended: Email: Last auth: Last user@host:", ""),
148 msg(QM_TOOMANYRESULTS
, "Found over $0 $1, truncating list.", "ds"),
149 msg(QM_RESULTCOUNT
, "Found $0 $1$2.", "uss"),
150 msg(QM_SUSPENDKILL
, "Attention: Your Q account has been suspended. You are being disconnected.", ""),
151 msg(QM_LISTFLAGSHEADER
, "Username: Flags: Suspended: Email: Last user@host:", ""),
152 msg(QM_SUSPENDUSERLISTHEADER
, "Username: Suspend type: Suspended by: Date suspended: Expires: Reason:", ""), /* @TIMELEN */
153 msg(QM_SUSPENDCHANLISTHEADER
, "Channel: Suspended by: Date suspended: Reason:", ""), /* @TIMELEN */
154 msg(QM_NOREQUESTOWNER
, "You cannot request ownership of $0 as there is a channel $1 present.", "ss"),
155 msg(QM_GRANTEDOWNER
, "You have been granted ownership of $0.", "s"),
156 msg(QM_AUTHHISTORYHEADER
, "#: User: Authed: Disconnected: Reason:", ""), /* @TIMELEN */
157 msg(QM_CURDOMAINMODES
, "Current modes on $0: $1", "ss"),
158 msg(QM_SPEWDOMAINHEADER
, "Domain: Users: Flags:", ""),
159 msg(QM_DOMAINLIMIT
, "Sorry, no more accounts are allowed from this email domain.", ""),
160 msg(QM_PWTOWEAK
, "Password too weak - You need to avoid repeating characters, and have different character types (e.g. 1 number and 1 letter)", ""),
161 msg(QM_GIVEOWNERNOTMASTER
, "User $0 is not a master on $1 - you must promote user to master status first.", "ss"),
162 msg(QM_GIVEOWNERALREADYOWNER
, "User $0 is already an owner on $1.", "ss"),
163 msg(QM_GIVEOWNERNEEDHASH
, "WARNING: This command will give COMPLETE control over $0 to $1,\nincluding the ability to remove you as owner. If you are sure you want to\ndo this, type: GIVEOWNER $2 #$3 $4", "sssss"),
164 msg(QM_GIVEOWNERWRONGHASH
, "Hash value incorrect, try again.", ""),
165 msg(QM_SHOWINGDURATION
, "Showing $0 for last $1.", "ss"),
166 msg(QM_INVALIDACCOUNTNAME
, "Change your nickname to something with none of the following characters: `~^[]{}|_\\", ""),
167 msg(QM_CHALLENGEBADALGORITHM
, "Invalid digest algorithm.", ""),
168 msg(QM_NOCHALLENGE
, "Challenge has either not been requested or has expired.", ""),
169 msg(QM_USEGIVEOWNER
, "For security reasons it is not possible to give the owner flag to other users\nusing CHANLEV. Use GIVEOWNER if you really wanted to do this.", ""),
170 msg(QM_NOFLAGSPECIFIED
, "You must specify at least one valid flag to add.", ""),
171 msg(QM_NEWBANALREADYBANNED
, "New ban is already contained within existing ban: $0", "s"),
172 msg(QM_NEWBANOVERLAPS
, "New ban would replace at least one existing ban ($0), use UNBANMASK $1 first if you want to set this ban.", "ss"),
173 msg(QM_REPLACINGTEMPBAN
, "A temporary ban with this mask already exists, replacing it.", ""),
174 msg(QM_PERMBANALREADYSET
, "That permanent ban already exists.", ""),
175 msg(QM_NOTREPLACINGBANLDURATION
, "That ban is already set with a longer duration.", ""),
176 msg(QM_REPLACINGBANSDURATION
, "Replaced existing ban which was set with a shorter duration.", ""),
177 msg(QM_TOOMANYCHANLEVS
, "Channel has too many user entries, aborting.", ""),
178 msg(QM_TOOMANYBANS
, "No more bans are allowed on that channel.", ""),
179 msg(QM_WARNNOTREMOVEDPERMBAN
, "Warning: not removing registered ban $0 from $1.", "ss"),
180 msg(QM_MAXHELLOLIMIT
, "Sorry, the registration service is unavailable to you at this time. Please try again later.", ""),
181 msg(QM_ADDRESSLIMIT
, "Too many accounts exist from this email address.", ""),
182 msg(UNUSED_1
, "", ""),
183 msg(QM_TYPEHELPFORHELP
, "For more information, type HELP $0.", "s"),
184 msg(QM_REQUESTPASSPRIVUSER
, "Cannot send password for that account.", ""),
185 msg(QM_EMAILMATCHESOLD
, "The new email address is the same as current one.", ""),
186 msg(QM_INVALIDLIMIT
, "Supplied autolimit is invalid: $0", "s"),
187 msg(QM_ACCOUNTLOCKED
, "This account has recently been modified. It will be unlocked on $0.", "T"),
188 msg(QM_ACCOUNTNOTLOCKED
, "That account is not locked.", ""),
189 msg(QM_RESETOK
, "Your old account settings have been restored, please check your email.", ""),
190 msg(QM_BADRESETCODE
, "Bad reset code.", ""),
191 msg(QM_CHALLENGEDDEPRECATED
, "WARNING: the selected algorithm is legacy functionality and is likely to be removed in the near future.", ""),
192 msg(QM_CHANLEVSUMMARY
, "Total: $0 (owner: $1, master: $2, op: $3, voice: $4, known: $5, ban: $6).", "ddddddd"),
193 msg(QM_MAILLOCKHEADER
, "Pattern: Created by: Reason: Created:", ""),
194 msg(QM_MAILLOCKDOESNTEXIST
, "That pattern doesn't exist.", ""),
195 msg(QM_MAILLOCKALREADYEXISTS
, "That pattern already exists!", ""),
196 msg(QM_MAILLOCKED
, "Sorry, you can't use that email address.", ""),
197 msg(QM_NOACCESSONUSER
, "You do not have sufficient access to use $0 on $1.", "ss"),
198 msg(QM_NOCHANOPHISTORY
, "No channel op events have been logged for $0.", "s"),
199 msg(QM_CHANOPHISTORYHEADER
, "Channel op events on $0:\nNickname Account used", "s"),
200 msg(QM_OTHERUSERAUTHEDLIMIT
, "Warning: $0 ($1@$2) attempted to auth with your password but you already had $3 users authed to your account.", "sssd"),
201 msg(QM_OTHERUSERAUTHED
, "Warning: $0 ($1@$2) authed with your password.", "sss"),
202 msg(QM_STATSRESET
, "Resettable statistics reset for $0.", "s"),
203 msg(QM_CHANLEVEMPTIEDCHANNEL
, "The channel has been deleted since the last known user was removed.", ""),
204 msg(QM_CHANLEVCHANGED
, "Done. Flags for $0 on $1 are now: $2.", "sss"),
205 msg(QM_CHANLEVREMOVED
, "Done. User $0 is no longer known on $1.", "ss"),
206 msg(QM_CHANLEVNOCHANGE
, "Nothing changed. This could be because you specified an impossible flag combination or don't have enough access.", ""),
207 msg(QM_USERSHEADER
, "Users currently on $0:\nNick Username Flags Host", "s"),
208 msg(QM_EMPTYCHAN
, "Channel $0 is currently empty.", "s"),
209 msg(QM_USERSSUMMARY
, "Total $0 users: $1 opped, $2 voiced, $3 others, $4 with flags ($5 ops, $6 masters)", "ddddddd"),
210 msg(QM_OPERONCHAN
, "You cannot use $0 on $1 since an oper is on the channel.","ss"),
211 msg(QM_USERSUSPENDEDTYPE
, "Suspend type : $0", "s"),
212 msg(QM_USERSUSPENDEDBY
, "Suspended by : $0", "s"),
213 msg(QM_USERSUSPENDEDREASON
, "Suspend reason : $0", "s"),
214 msg(QM_USERSUSPENDEDAT
, "Suspended at : $0", "T"),
215 msg(QM_USERSUSPENDEDEXPIRY
, "Suspend expiry : $0", "s"),
216 msg(QM_INVALIDDOMAIN
, "$0 is not a valid domain.", "s"),
217 msg(QM_SHORT_COMMENT
, "Staff comment: $0", "s"),
218 msg(QM_CHANLEV_SUSPENDREASON
, "Suspended: $0", "s"),
219 msg(QM_CHANLEV_SUSPENDSINCE
, "Suspended since: $0", "T"),
220 msg(QM_CHANLEV_SUSPENDBY
, "Suspended by: $0", "s"),
221 msg(QM_TRUNCATED
, "Warning: list truncated to $0 items.", "d"),
222 msg(QM_WHOIS_PASSSET
, "Pass last set : $0", "T"),
223 msg(QM_TICKETEXPIRED
, "Sorry, you've taken too long to log in (ticket has expired).", ""),
224 msg(QM_TICKETNOTYETVALID
, "The supplied login credentials are not valid (ticket not yet valid).", ""),
225 msg(QM_CONFIGURATIONERROR
, "Configuration error, contact an IRC Operator.", ""),
226 msg(QM_INVALIDHMAC
, "The supplied login credentials are not valid (bad HMAC).", ""),
227 msg(QM_PASSEMAILCHANGED
, "Auth failed: account password has been changed since you logged in.", ""),