5 Author: Pekka Riikonen <priikone@silcnet.org>
7 Copyright (C) 2001 - 2003 Pekka Riikonen
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; version 2 of the License.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
21 #include "fe-common/core/formats.h"
22 #include "printtext.h"
24 FORMAT_REC fecommon_silc_formats[] = {
25 { MODULE_NAME, "SILC", 0 },
27 /* Channel related messages */
28 { NULL, "Channel", 0 },
30 { "channel_founder_you", "You are channel founder on {channel $0}", 1, { 0 } },
31 { "channel_founder", "channel founder on {channel $0} is: {channick_hilight $1}", 2, { 0, 0 } },
32 { "channel_topic", "Topic for {channel $0} is: $1", 2, { 0, 0 } },
33 { "channel_topic_not_set", "Topic for {channel $0} not set", 1, { 0 } },
34 { "cmode", "channel mode/{channel $0} {mode $1} by {nick $2}", 3, { 0, 0, 0 } },
35 { "cumode", "channel user mode/{channel $0}/{nick $1} {mode $2} by {nick $3}", 4, { 0, 0, 0, 0 } },
36 { "inviteban_list", "channel {channel $0} $1 list:", 2, { 0, 0 } },
37 { "inviteban_string", "$0 - {channel $1}: $2 {ban $3}", 4, { 1, 0, 0, 0 } },
38 { "inviteban_pubkey", "$0 - {channel $1}: $2 Fingerprint (SHA1) {ban $3} (Babbleprint (SHA1) {ban $4})", 5, { 1, 0, 0, 0, 0 } },
39 { "inviteban_reget", "Resolving incomplete information found in the $0 list for {channel $1}.", 2, { 0, 0 } },
40 { "no_inviteban_list", "channel {channel $0} $1 list not set", 2, { 0, 0 } },
41 { "inviting", "Inviting {nick $0} to channel {channel $1}", 2, { 0, 0 } },
42 { "kicked_you", "You have been kicked off channel {channel $0} by {nick $1} ($2)", 3, { 0, 0, 0 } },
43 { "kicked", "{nick $0} has been kicked off channel {channel $1} by {nick $2} ($3)", 4, { 0, 0, 0, 0 } },
44 { "killed_you", "You have been killed from the SILC Network by {nick $0} ($1)", 2, { 0, 0 } },
45 { "killed", "{nick $0} has been killed from the SILC Network by {nick $1} ($2)", 3, { 0, 0, 0 } },
46 { "quieted", "You have been quieted and cannot talk on {channel $0}", 1, { 0 } },
47 { "appears", "{channick $0} now appears as {channick_hilight $1}", 4, { 0, 0, 0, 0 } },
48 { "pubmsg_hilight_signed", "{pubmsghinick_signed $0 $3 $1}$2", 4, { 0, 0, 0, 0 } },
49 { "pubmsg_hilight_unknown", "{pubmsghinick_unknown $0 $3 $1}$2", 4, { 0, 0, 0, 0 } },
50 { "pubmsg_hilight_failed", "{pubmsghinick_failed $0 $3 $1}$2", 4, { 0, 0, 0, 0 } },
51 { "pubmsg_me_signed", "{pubmsgmenick_signed $2 {menick $0}}$1", 3, { 0, 0, 0 } },
52 { "pubmsg_me_unknown", "{pubmsgmenick_unknown $2 {menick $0}}$1", 3, { 0, 0, 0 } },
53 { "pubmsg_me_failed", "{pubmsgmenick_failed $2 {menick $0}}$1", 3, { 0, 0, 0 } },
54 { "pubmsg_signed", "{pubmsgnick_signed $2 {pubnick $0}}$1", 3, { 0, 0, 0 } },
55 { "pubmsg_unknown", "{pubmsgnick_unknown $2 {pubnick $0}}$1", 3, { 0, 0, 0 } },
56 { "pubmsg_failed", "{pubmsgnick_failed $2 {pubnick $0}}$1", 3, { 0, 0, 0 } },
57 { "pubmsg_hilight_channel_signed", "{pubmsghinick_signed $0 $4 $1{msgchannel $2}}$3", 5, { 0, 0, 0, 0, 0 } },
58 { "pubmsg_hilight_channel_unknown", "{pubmsghinick_unknown $0 $4 $1{msgchannel $2}}$3", 5, { 0, 0, 0, 0, 0 } },
59 { "pubmsg_hilight_channel_failed", "{pubmsghinick_failed $0 $4 $1{msgchannel $2}}$3", 5, { 0, 0, 0, 0, 0 } },
60 { "pubmsg_me_channel_signed", "{pubmsgmenick_signed $3 {menick $0}{msgchannel $1}}$2", 4, { 0, 0, 0, 0 } },
61 { "pubmsg_me_channel_unknown", "{pubmsgmenick_unknown $3 {menick $0}{msgchannel $1}}$2", 4, { 0, 0, 0, 0 } },
62 { "pubmsg_me_channel_failed", "{pubmsgmenick_failed $3 {menick $0}{msgchannel $1}}$2", 4, { 0, 0, 0, 0 } },
63 { "pubmsg_channel_signed", "{pubmsgnick_signed $3 {pubnick $0}{msgchannel $1}}$2", 4, { 0, 0, 0, 0 } },
64 { "pubmsg_channel_unknown", "{pubmsgnick_unknown $3 {pubnick $0}{msgchannel $1}}$2", 4, { 0, 0, 0, 0 } },
65 { "pubmsg_channel_failed", "{pubmsgnick_failed $3 {pubnick $0}{msgchannel $1}}$2", 4, { 0, 0, 0, 0 } },
66 { "msg_private_signed", "{privmsg_signed $0 $1}$2", 3, { 0, 0, 0 } },
67 { "msg_private_unknown", "{privmsg_unknown $0 $1}$2", 3, { 0, 0, 0 } },
68 { "msg_private_failed", "{privmsg_failed $0 $1}$2", 3, { 0, 0, 0 } },
69 { "msg_private_query_signed", "{privmsgnick_signed $0}$2", 3, { 0, 0, 0 } },
70 { "msg_private_query_unknown", "{privmsgnick_unknown $0}$2", 3, { 0, 0, 0 } },
71 { "msg_private_query_failed", "{privmsgnick_failed $0}$2", 3, { 0, 0, 0 } },
72 { "own_msg_signed", "{ownmsgnick_signed $2 {ownnick $0}}$1", 3, { 0, 0, 0 } },
73 { "own_msg_channel_signed", "{ownmsgnick_signed $3 {ownnick $0}{msgchannel $1}}$2", 4, { 0, 0, 0, 0 } },
74 { "no_msgs_got", "You have not received a message from anyone yet", 0 },
75 { "no_msgs_sent", "You have not sent a message to anyone yet", 0 },
76 { "own_msg_private_signed", "{ownprivmsg_signed msg $0}$1", 2, { 0, 0 } },
77 { "own_msg_private_query_signed", "{ownprivmsgnick_signed {ownprivnick $2}}$1", 3, { 0, 0, 0 } },
78 { "channel_pk_list", "Channel {channel $0} Public Key List:", 1, { 0 } },
79 { "channel_pk_list_entry", "$0 - {channel $1}: $2 $3: Fingerprint (SHA1) {ban $4} (Babbleprint (SHA1) {ban $5})", 6, { 1, 0, 0, 0, 0, 0 } },
80 { "channel_pk_no_list", "No Channel Public Key List for {channel $0}", 1, { 0 } },
81 { "own_action", "{ownaction $0}$1", 3, { 0, 0, 0 } },
82 { "own_action_signed", "{ownaction {flag_signed}$0}$1", 3, { 0, 0, 0 } },
83 { "own_action_target", "{ownaction_target $0 $2}$1", 3, { 0, 0, 0 } },
84 { "own_action_target_signed", "{ownaction_target {flag_signed}$0 $2}$1", 3, { 0, 0, 0 } },
85 { "action_public", "{pubaction $0}$2", 3, { 0, 0, 0 } },
86 { "action_public_signed", "{pubaction {flag_signed}$0}$2", 3, { 0, 0, 0 } },
87 { "action_public_unknown", "{pubaction {flag_unknown}$0}$2", 3, { 0, 0, 0 } },
88 { "action_public_failed", "{pubaction {flag_failed}$0}$2", 3, { 0, 0, 0 } },
89 { "action_public_channel", "{pubaction $0{msgchannel $1}}$2", 3, { 0, 0, 0 } },
90 { "action_public_channel_signed", "{pubaction {flag_signed}$0{msgchannel $1}}$2", 3, { 0, 0, 0 } },
91 { "action_public_channel_unknown", "{pubaction {flag_unknown}$0{msgchannel $1}}$2", 3, { 0, 0, 0 } },
92 { "action_public_channel_failed", "{pubaction {flag_failed}$0{msgchannel $1}}$2", 3, { 0, 0, 0 } },
93 { "action_private", "{pvtaction $0}$2", 3, { 0, 0, 0 } },
94 { "action_private_signed", "{pvtaction {flag_signed}$0}$2", 3, { 0, 0, 0 } },
95 { "action_private_unknown", "{pvtaction {flag_unknown}$0}$2", 3, { 0, 0, 0 } },
96 { "action_private_failed", "{pvtaction {flag_failed}$0}$2", 3, { 0, 0, 0 } },
97 { "action_private_query", "{pvtaction_query $0}$2", 3, { 0, 0, 0 } },
98 { "action_private_query_signed", "{pvtaction_query {flag_signed}$0}$2", 3, { 0, 0, 0 } },
99 { "action_private_query_unknown", "{pvtaction_query {flag_unknown}$0}$2", 3, { 0, 0, 0 } },
100 { "action_private_query_failed", "{pvtaction_query {flag_failed}$0}$2", 3, { 0, 0, 0 } },
101 { "own_notice", "{ownnotice notice $0}$1", 2, { 0, 0 } },
102 { "own_notice_signed", "{ownnotice notice {flag_signed}$0}$1", 2, { 0, 0 } },
103 { "notice_public", "{notice $0{pubnotice_channel $1}}$2", 3, { 0, 0, 0 } },
104 { "notice_public_signed", "{notice {flag_signed}$0{pubnotice_channel $1}}$2", 3, { 0, 0, 0 } },
105 { "notice_public_unknown", "{notice {flag_unknown}$0{pubnotice_channel $1}}$2", 3, { 0, 0, 0 } },
106 { "notice_public_failed", "{notice {flag_failed}$0{pubnotice_channel $1}}$2", 3, { 0, 0, 0 } },
107 { "notice_private", "{notice $0{pvtnotice_host $1}}$2", 3, { 0, 0, 0 } },
108 { "notice_private_signed", "{notice {flag_signed}$0{pvtnotice_host $1}}$2", 3, { 0, 0, 0 } },
109 { "notice_private_unknown", "{notice {flag_unknown}$0{pvtnotice_host $1}}$2", 3, { 0, 0, 0 } },
110 { "notice_private_failed", "{notice {flag_failed}$0{pvtnotice_host $1}}$2", 3, { 0, 0, 0 } },
112 /* WHOIS, WHOWAS and USERS (alias WHO) messages */
113 { NULL, "Who Queries", 0 },
115 { "whois", "{nick $0} {nickhost $1@$2}%: nickname : $3 ($4)", 5, { 0, 0, 0, 0, 0 } },
116 { "whois_realname", " realname : $0", 1, { 0 } },
117 { "whois_channels", " channels : $0", 1, { 0 } },
118 { "whois_modes", " modes : $0", 1, { 0 } },
119 { "whois_idle", " idle : $0", 1, { 0 } },
120 { "whois_fingerprint", " fingerprint : $0", 1, { 0 } },
121 { "whowas", "{nick $0} was {nickhost $1} ($2)", 3, { 0, 0, 0 } },
122 { "users_header", "Users on {channelhilight $0}", 1, { 0 } },
123 { "users", " %|{nick $[!20]0} $[!5]1 $2@$3 {comment {hilight $4}}", 5, { 0, 0, 0, 0, 0 } },
125 /* Key management and key agreement */
126 { NULL, "Key Management And Key Agreement", 0 },
128 { "channel_private_key_add", "Private key set to channel {channel $0}", 1, { 0 } },
129 { "channel_private_key_nomode", "Private key mode is not set on channel {channel $0}", 1, { 0 } },
130 { "channel_private_key_error", "Could not add private key to channel {channel $0}", 1, { 0 } },
131 { "channel_private_key_list", "Channel {channel $0} private keys%: Cipher Hmac Key", 1, { 0 } },
132 { "channel_private_change", "You are using private key n:o $0 on {channel $1}", 2, { 1, 0 } },
133 { "private_key_list", "Private message keys%: Client Cipher Key", 0 },
134 { "private_key_list_nick", "Private message keys with {nick $0}%: Client Cipher Key", 1, { 0 } },
135 { "key_agreement", "Requesting key agreement with {nick $0}", 1, { 0 } },
136 { "key_agreement_request", "{nick $0} wants to perform key agreement", 1, { 0 } },
137 { "key_agreement_request_host", "{nick $0} wants to perform key agreement on {nickhost $1} port {hilight $2}", 3, { 0, 0, 0 } },
138 { "key_agreement_negotiate", "Starting key agreement with {nick $0}", 1, { 0 } },
139 { "key_agreement_privmsg", "The private messages with {nick $0} are now protected with private key", 1, { 0 } },
140 { "key_agreement_ok", "Key agreement completed successfully with {nick $0}", 1, { 0 } },
141 { "key_agreement_error", "Error occurred during key agreement with {nick $0}", 1, { 0 } },
142 { "key_agreement_failure", "Key agreement failed with {nick $0}", 1, { 0 } },
143 { "key_agreement_timeout", "Timeout during key agreement. The key agreement was not performed with {nick $0}", 1, { 0 } },
144 { "key_agreement_aborted", "Key agreement was aborted with {nick $0}", 1, { 0 } },
145 { "key_agreement_started", "Key agreement is already started with {nick $0}", 1, { 0 } },
146 { "key_agreement_denied", "Key agreement cannot be started with yourself", 0 },
147 { "pubkey_received", "Received {hilight $0} public key", 1, { 0 } },
148 { "pubkey_fingerprint", "Fingerprint and babbleprint for the {hilight $0} key are %: $1", 2, { 0, 0 } },
149 { "pubkey_babbleprint", " $0", 1, { 0 } },
150 { "pubkey_unsupported", "We don't support {hilight $0} public key type {hilight $1}", 2, { 0, 0 } },
151 { "pubkey_discard", "Will not accept the {hilight $0} key", 1, { 0 } },
152 { "pubkey_accept", "Would you like to accept the key (y/n)? ", 0 },
153 { "pubkey_accept_anyway", "Would you like to accept the key anyway (y/n)? ", 0 },
154 { "pubkey_could_not_load", "Could not load your local copy of the {hilight $0} key", 1, { 0 } },
155 { "pubkey_malformed", "Your local copy of the {hilight $0} key is malformed", 1, { 0 } },
156 { "pubkey_no_match", "{hilight $0} key does not match with your local copy", 1, { 0 } },
157 { "pubkey_maybe_expired", "It is possible that the key has expired or changed", 0 },
158 { "pubkey_mitm_attack", "It is also possible that someone is performing a man-in-the-middle attack", 0 },
159 { "pubkey_notkey", "Server did not return any public key", 0 },
160 { "pubkey_verified", "Verified successfully $0 {hilight $1}'s cached public key", 2, { 0, 0 } },
161 { "pubkey_notverified", "Could not verify $0 {hilight $1}'s public key", 2, { 0, 0 } },
166 { "server_oper", "You are now {hilight server operator}", 0 },
167 { "router_oper", "You are now {hilight SILC operator}", 0 },
168 { "list_header", " Channel Users Topic", 0 },
169 { "list", " %|{channelhilight $[36]0} {hilight $[7]1} $2", 3, { 0, 0, 0 } },
170 { "bad_nick", "Bad nickname {hilight $0}", 1, { 0 } },
171 { "unknown_notify", "Unknown notify type {hilight $0}", 1, { 1 } },
172 { "ke_bad_version", "You are running an incompatible client version (it may be too old or too new) ", 0 },
173 { "ke_unsupported_public_key", "Remote does not trust/support your public key", 0 },
174 { "ke_unknown_group", "Remote does not support one of your proposed KE group", 0 },
175 { "ke_unknown_cipher", "Remote does not support one of your proposed cipher", 0 },
176 { "ke_unknown_pkcs", "Remote does not support one of your proposed PKCS", 0 },
177 { "ke_unknown_hash_function", "Remote does not support one of your proposed hash function", 0 },
178 { "ke_unknown_hmac", "Remote does not support one of your proposed HMAC", 0 },
179 { "ke_incorrect_signature", "Incorrect signature", 0 },
180 { "ke_invalid_cookie", "Invalid cookie", 0 },
181 { "auth_failed", "Authentication failed", 0 },
182 { "set_away", "You have been marked as being away (away message: {hilight $0})", 1, { 0 } },
183 { "unset_away", "You are no longer marked as being away", 0 },
184 { "auth_meth_unresolved", "Could not resolve authentication method to use, assume no authentication", 0 },
185 { "watch_present", "Watch: {nick $0} is now present in the network", 1, { 0 } },
186 { "watch_signoff", "Watch: {nick $0} left the network", 1, { 0 } },
187 { "watch_killed", "Watch: {nick $0} was killed from the network", 1, { 0 } },
188 { "watch_umode_change", "Watch: {nick $0} is now {hilight $1}", 2, { 0, 0 } },
189 { "watch_nick_change", "Watch: {nick $0} changed nickname to {nick $1}", 2, { 0, 0 } },
190 { "message_data", "{nick $0} sent \"{hilight $1}\" data message: cannot display", 2, { 0, 0 } },
191 { "stats", "$[25]0: {hilight $1}", 2, { 0, 0 } },
192 { "reattach", "Resuming old session on {hilight $0}, may take a while ...", 1, { 0 } },
193 { "reattach_failed", "Resuming session failed, you may want to remove {hilight $0} before the next connection attempt", 1, { 0 } },
195 /* File transfer messages */
196 { NULL, "FileTransfer", 0 },
198 { "file_send", "File transfer request sent to {nick $0} for $1", 2, { 0, 0 } },
199 { "file_transmit", "Transmitting file {hilight $0} [$1kB] to {nick $2}", 3, { 0, 0, 0 } },
200 { "file_transmitted", "Transmitted file {hilight $0} [$1kB] to {nick $2} [{hilight $3kB/s}]", 4, { 0, 0, 0, 3 } },
201 { "file_receive", "Receiving file {hilight $0} [$1kB] from {nick $2}", 3, { 0, 0 } },
202 { "file_received", "Received file {hilight $0} [$1kB] from {nick $2} [{hilight $3kB/s}]", 4, { 0, 0, 0, 3 } },
203 { "file_request", "File transfer request from {nick $0}", 1, { 0 } },
204 { "file_request_host", "File transfer request from {nick $0} [$1 port $2]", 3, { 0, 0, 0 } },
205 { "file_key_exchange", "Negotiating keys for file transfer with {nick $0}", 1, { 0 } },
206 { "file_na", "No file transfers available", 0 },
207 { "file_client_na", "No file transfer offered by {nick $0}", 1, { 0 } },
208 { "file_show_header", "File transfers", 0 },
209 { "file_show_line", " $0 [$1] $2: $3kB of $4kB ($5%%) - $6kB/s - $7", 7, { 0, 1, 0, 1, 1, 1, 3, 0 } },
210 { "file_already_started", "File transfer already started with {nick $0}", 1, { 0 } },
211 { "file_error", "Error during file transfer with {nick $0}", 1, { 0 } },
212 { "file_error_no_such_file", "Error during file transfer with {nick $0}: $1: No such file", 2, { 0, 0 } },
213 { "file_error_permission_denied", "Error during file transfer with {nick $0}: Permission denied", 1, { 0 } },
214 { "file_close", "File transfer closed with {nick $0} - $1", 2, { 0, 0 } },
216 /* Requested Attributes */
217 { NULL, "Requested Attributes", 0 },
219 { "attr_header", "Requested Attributes", 0 },
220 { "attr_footer", "End of Requested Attributes", 0 },
221 { "attr_allow", " Sending allowed : $0", 1, { 0 } },
222 { "attr_vcard_file", " Business card : $0", 1, { 0 } },
223 { "attr_services", " Services used : $0", 1, { 0 } },
224 { "attr_service", " Service : port [$0] address [$1] logged in [$2] login time [$3] idle [$4]", 5, { 0, 0, 0, 0, 0 } },
225 { "attr_status_mood", " User's mood : $0", 1, { 0 } },
226 { "attr_status_text", " User's message : $0", 1, { 0 } },
227 { "attr_status_message", " User's message : $0", 1, { 0 } },
228 { "attr_status_message_file", " Message file : $0", 1, { 0 } },
229 { "attr_preferred_language", " Preferred language : $0", 1, { 0 } },
230 { "attr_preferred_contact", " Preferred contact : $0", 1, { 0 } },
231 { "attr_geolocation", " Geolocation : $0", 1, { 0 } },
232 { "attr_device_info", " Device Info : $0", 1, { 0 } },
233 { "attr_public_keys", " Public keys : $0", 1, { 0 } },
234 { "attr_timezone", " Timezone : $0", 1, { 0 } },
235 { "attr_timezone_allow", " Sending timezone : $0", 1, { 0 } },
236 { "attr_user_sign_verified", " User's signature : verified successfully", 0 },
237 { "attr_user_sign_failed", " User's signature : {hilight signature failed}", 0 },
238 { "attr_user_sign_not_present", " User's signature : not available", 0 },
239 { "attr_server_sign_verified", " Server's signature : verified successfully", 0 },
240 { "attr_server_sign_failed", " Server's signature : {hilight signature failed}", 0 },
241 { "attr_extension", " Extension : $0", 1, { 0 } },
242 { "attr_save", "Would you like to save the attributes (y/n)?", 0 },
243 { "attr_saved", "Requested Attributes located in {hilight $0}", 1, { 0 } },
244 /* Public Key Information */
245 { NULL, "Public Key Information", 0},
247 { "lstkey_file", "Public key file : $0", 1, { 0 } },
248 { "lstkey_alg", "Algorithm : $0", 1, { 0 } },
249 { "lstkey_bits", "Key length (bits) : $0", 1, { 1 } },
250 { "lstkey_rn", "Real name : $0", 1, { 0 } },
251 { "lstkey_un", "Username : $0", 1, { 0 } },
252 { "lstkey_hn", "Hostname : $0", 1, { 0 } },
253 { "lstkey_email", "Email : $0", 1, { 0 } },
254 { "lstkey_org", "Organization : $0", 1, { 0 } },
255 { "lstkey_c", "Country : $0", 1, { 0 } },
256 { "lstkey_finger", "Fingerprint (SHA1) : $0", 1, { 0 } },
257 { "lstkey_babl", "Babbelprint (SHA1) : $0", 1, { 0 } },
258 { "lstkey_loadpub", "Could not load public key file `$0'", 1, { 0 } },
259 { "lstkey_list", "Stored {hilight $0} public keys:", 1, { 0 } },
262 { NULL, "Network", 0},
264 { "silcnet_added", "SILCNet $0 saved", 1, { 0 } },
265 { "silcnet_removed", "SILCNet $0 removed", 1, { 0 } },
266 { "silcnet_not_found", "SILCNet $0 not found", 1, { 0 } },
267 { "silcnet_header", "%#SILCNets:", 0 },
268 { "silcnet_line", "%#$0: $1", 2, { 0, 0 } },
269 { "silcnet_footer", "", 0 },