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