Browse Source

Update example language files and translation grabber

tags/v1.0.0-rc1
Daniel Oaks 5 years ago
parent
commit
bcb8a6fe7e

+ 7
- 0
languages/example-chanserv.lang.json View File

@@ -0,0 +1,7 @@
1
+{
2
+  "ChanServ lets you register and manage channels.\n\nTo see in-depth help for a specific ChanServ command, try:\n    $b/CS HELP <command>$b\n\nHere are the commands you can use:\n%s": "ChanServ lets you register and manage channels.\n\nTo see in-depth help for a specific ChanServ command, try:\n    $b/CS HELP <command>$b\n\nHere are the commands you can use:\n%s",
3
+  "Syntax: $bAMODE #channel [mode change] [account]$b\n\nAMODE lists or modifies persistent mode settings that affect channel members.\nFor example, $bAMODE #channel +o dan$b grants the the holder of the \"dan\"\naccount the +o operator mode every time they join #channel. To list current\naccounts and modes, use $bAMODE #channel$b. Note that users are always\nreferenced by their registered account names, not their nicknames.": "Syntax: $bAMODE #channel [mode change] [account]$b\n\nAMODE lists or modifies persistent mode settings that affect channel members.\nFor example, $bAMODE #channel +o dan$b grants the the holder of the \"dan\"\naccount the +o operator mode every time they join #channel. To list current\naccounts and modes, use $bAMODE #channel$b. Note that users are always\nreferenced by their registered account names, not their nicknames.",
4
+  "Syntax: $bOP #channel [nickname]$b\n\nOP makes the given nickname, or yourself, a channel admin. You can only use\nthis command if you're the founder of the channel.": "Syntax: $bOP #channel [nickname]$b\n\nOP makes the given nickname, or yourself, a channel admin. You can only use\nthis command if you're the founder of the channel.",
5
+  "Syntax: $bREGISTER #channel$b\n\nREGISTER lets you own the given channel. If you rejoin this channel, you'll be\ngiven admin privs on it. Modes set on the channel and the topic will also be\nremembered.": "Syntax: $bREGISTER #channel$b\n\nREGISTER lets you own the given channel. If you rejoin this channel, you'll be\ngiven admin privs on it. Modes set on the channel and the topic will also be\nremembered.",
6
+  "Syntax: $bUNREGISTER #channel [code]$b\n\nUNREGISTER deletes a channel registration, allowing someone else to claim it.\nTo prevent accidental unregistrations, a verification code is required;\ninvoking the command without a code will display the necessary code.": "Syntax: $bUNREGISTER #channel [code]$b\n\nUNREGISTER deletes a channel registration, allowing someone else to claim it.\nTo prevent accidental unregistrations, a verification code is required;\ninvoking the command without a code will display the necessary code."
7
+}

+ 3
- 1
languages/example-help.lang.json View File

@@ -15,6 +15,8 @@
15 15
   "DLINE [ANDKILL] [MYSELF] [duration] <ip>/<net> [ON <server>] [reason [| oper reason]]\nDLINE LIST\n\nBans an IP address or network from connecting to the server. If the duration is\ngiven then only for that long. The reason is shown to the user themselves, but\neveryone else will see a standard message. The oper reason is shown to\noperators getting info about the DLINEs that exist.\n\nBans are saved across subsequent launches of the server.\n\n\"ANDKILL\" means that all matching clients are also removed from the server.\n\n\"MYSELF\" is required when the DLINE matches the address the person applying it is connected\nfrom. If \"MYSELF\" is not given, trying to DLINE yourself will result in an error.\n\n[duration] can be of the following forms:\n\t1y 12mo 31d 10h 8m 13s\n\n<net> is specified in typical CIDR notation. For example:\n\t127.0.0.1/8\n\t8.8.8.8/24\n\nON <server> specifies that the ban is to be set on that specific server.\n\n[reason] and [oper reason], if they exist, are separated by a vertical bar (|).\n\nIf \"DLINE LIST\" is sent, the server sends back a list of our current DLINEs.": "DLINE [ANDKILL] [MYSELF] [duration] <ip>/<net> [ON <server>] [reason [| oper reason]]\nDLINE LIST\n\nBans an IP address or network from connecting to the server. If the duration is\ngiven then only for that long. The reason is shown to the user themselves, but\neveryone else will see a standard message. The oper reason is shown to\noperators getting info about the DLINEs that exist.\n\nBans are saved across subsequent launches of the server.\n\n\"ANDKILL\" means that all matching clients are also removed from the server.\n\n\"MYSELF\" is required when the DLINE matches the address the person applying it is connected\nfrom. If \"MYSELF\" is not given, trying to DLINE yourself will result in an error.\n\n[duration] can be of the following forms:\n\t1y 12mo 31d 10h 8m 13s\n\n<net> is specified in typical CIDR notation. For example:\n\t127.0.0.1/8\n\t8.8.8.8/24\n\nON <server> specifies that the ban is to be set on that specific server.\n\n[reason] and [oper reason], if they exist, are separated by a vertical bar (|).\n\nIf \"DLINE LIST\" is sent, the server sends back a list of our current DLINEs.",
16 16
   "HELP <argument>\n\nGet an explanation of <argument>, or \"index\" for a list of help topics.": "HELP <argument>\n\nGet an explanation of <argument>, or \"index\" for a list of help topics.",
17 17
   "HELPOP <argument>\n\nGet an explanation of <argument>, or \"index\" for a list of help topics.": "HELPOP <argument>\n\nGet an explanation of <argument>, or \"index\" for a list of help topics.",
18
+  "HOSTSERV <command> [params]\n\nHostServ lets you manage your vhost (a string displayed in place of your\nreal hostname).": "HOSTSERV <command> [params]\n\nHostServ lets you manage your vhost (a string displayed in place of your\nreal hostname).",
19
+  "HS <command> [params]\n\nHostServ lets you manage your vhost (a string displayed in place of your\nreal hostname).": "HS <command> [params]\n\nHostServ lets you manage your vhost (a string displayed in place of your\nreal hostname).",
18 20
   "INFO\n\nSends information about the server, developers, etc.": "INFO\n\nSends information about the server, developers, etc.",
19 21
   "INVITE <nickname> <channel>\n\nInvites the given user to the given channel, so long as you have the\nappropriate channel privs.": "INVITE <nickname> <channel>\n\nInvites the given user to the given channel, so long as you have the\nappropriate channel privs.",
20 22
   "ISON <nickname>{ <nickname>}\n\nReturns whether the given nicks exist on the network.": "ISON <nickname>{ <nickname>}\n\nReturns whether the given nicks exist on the network.",
@@ -41,13 +43,13 @@
41 43
   "PING <args>...\n\nRequests a PONG. Used to check link connectivity.": "PING <args>...\n\nRequests a PONG. Used to check link connectivity.",
42 44
   "PONG <args>...\n\nReplies to a PING. Used to check link connectivity.": "PONG <args>...\n\nReplies to a PING. Used to check link connectivity.",
43 45
   "PRIVMSG <target>{,<target>} <text to be sent>\n\nSends the text to the given targets as a PRIVMSG.": "PRIVMSG <target>{,<target>} <text to be sent>\n\nSends the text to the given targets as a PRIVMSG.",
44
-  "PROXY TCP4/6 <sourceip> <destip> <sourceport> <destport>\n\nUsed by haproxy's PROXY v1 protocol, to allow for alternate TLS support:\nhttp://www.haproxy.org/download/1.8/doc/proxy-protocol.txt": "PROXY TCP4/6 <sourceip> <destip> <sourceport> <destport>\n\nUsed by haproxy's PROXY v1 protocol, to allow for alternate TLS support:\nhttp://www.haproxy.org/download/1.8/doc/proxy-protocol.txt",
45 46
   "QUIT [reason]\n\nIndicates that you're leaving the server, and shows everyone the given reason.": "QUIT [reason]\n\nIndicates that you're leaving the server, and shows everyone the given reason.",
46 47
   "REHASH\n\nReloads the config file and updates TLS certificates on listeners": "REHASH\n\nReloads the config file and updates TLS certificates on listeners",
47 48
   "RENAME <channel> <newname> [<reason>]\n\nRenames the given channel with the given reason, if possible.\n\nFor example:\n\tRENAME #ircv2 #ircv3 :Protocol upgrades!": "RENAME <channel> <newname> [<reason>]\n\nRenames the given channel with the given reason, if possible.\n\nFor example:\n\tRENAME #ircv2 #ircv3 :Protocol upgrades!",
48 49
   "RESUME <oldnick> [timestamp]\n\nSent before registration has completed, this indicates that the client wants to\nresume their old connection <oldnick>.": "RESUME <oldnick> [timestamp]\n\nSent before registration has completed, this indicates that the client wants to\nresume their old connection <oldnick>.",
49 50
   "RPL_ISUPPORT CASEMAPPING\n\nOragono supports an experimental unicode casemapping designed for extended\nUnicode support. This casemapping is based off RFC 7613 and the draft rfc7613\ncasemapping spec here: https://oragono.io/specs.html": "RPL_ISUPPORT CASEMAPPING\n\nOragono supports an experimental unicode casemapping designed for extended\nUnicode support. This casemapping is based off RFC 7613 and the draft rfc7613\ncasemapping spec here: https://oragono.io/specs.html",
50 51
   "RPL_ISUPPORT PREFIX\n\nOragono supports the following channel membership prefixes:\n\n  +q (~)  |  Founder channel mode.\n  +a (&)  |  Admin channel mode.\n  +o (@)  |  Operator channel mode.\n  +h (%)  |  Halfop channel mode.\n  +v (+)  |  Voice channel mode.": "RPL_ISUPPORT PREFIX\n\nOragono supports the following channel membership prefixes:\n\n  +q (~)  |  Founder channel mode.\n  +a (&)  |  Admin channel mode.\n  +o (@)  |  Operator channel mode.\n  +h (%)  |  Halfop channel mode.\n  +v (+)  |  Voice channel mode.",
52
+  "SAJOIN [nick] #channel{,#channel}\n\nForcibly joins a user to a channel, ignoring restrictions like bans, user limits\nand channel keys. If [nick] is omitted, it defaults to the operator.": "SAJOIN [nick] #channel{,#channel}\n\nForcibly joins a user to a channel, ignoring restrictions like bans, user limits\nand channel keys. If [nick] is omitted, it defaults to the operator.",
51 53
   "SAMODE <target> [<modestring> [<mode arguments>...]]\n\nForcibly sets and removes modes from the given target -- only available to\nopers. For more specific information on mode characters, see the help for\n\"cmode\" and \"umode\".": "SAMODE <target> [<modestring> [<mode arguments>...]]\n\nForcibly sets and removes modes from the given target -- only available to\nopers. For more specific information on mode characters, see the help for\n\"cmode\" and \"umode\".",
52 54
   "SANICK <currentnick> <newnick>\n\nGives the given user a new nickname.": "SANICK <currentnick> <newnick>\n\nGives the given user a new nickname.",
53 55
   "SCENE <target> <text to be sent>\n\nThe SCENE command is used to send a scene notification to the given target.": "SCENE <target> <text to be sent>\n\nThe SCENE command is used to send a scene notification to the given target.",

+ 12
- 0
languages/example-hostserv.lang.json View File

@@ -0,0 +1,12 @@
1
+{
2
+  "HostServ lets you manage your vhost (i.e., the string displayed\nin place of your client's hostname/IP).\n\nTo see in-depth help for a specific HostServ command, try:\n    $b/HS HELP <command>$b\n\nHere are the commands you can use:\n%s": "HostServ lets you manage your vhost (i.e., the string displayed\nin place of your client's hostname/IP).\n\nTo see in-depth help for a specific HostServ command, try:\n    $b/HS HELP <command>$b\n\nHere are the commands you can use:\n%s",
3
+  "Syntax: $bAPPROVE <user>$b\n\nAPPROVE approves a user's vhost request.": "Syntax: $bAPPROVE <user>$b\n\nAPPROVE approves a user's vhost request.",
4
+  "Syntax: $bDEL <user>$b\n\nDEL deletes a user's vhost.": "Syntax: $bDEL <user>$b\n\nDEL deletes a user's vhost.",
5
+  "Syntax: $bOFF$b\n\nOFF disables your vhost, if you have one approved.": "Syntax: $bOFF$b\n\nOFF disables your vhost, if you have one approved.",
6
+  "Syntax: $bON$b\n\nON enables your vhost, if you have one approved.": "Syntax: $bON$b\n\nON enables your vhost, if you have one approved.",
7
+  "Syntax: $bREJECT <user> [<reason>]$b\n\nREJECT rejects a user's vhost request, optionally giving them a reason\nfor the rejection.": "Syntax: $bREJECT <user> [<reason>]$b\n\nREJECT rejects a user's vhost request, optionally giving them a reason\nfor the rejection.",
8
+  "Syntax: $bREQUEST <vhost>$b\n\nREQUEST requests that a new vhost by assigned to your account. The request must\nthen be approved by a server operator.": "Syntax: $bREQUEST <vhost>$b\n\nREQUEST requests that a new vhost by assigned to your account. The request must\nthen be approved by a server operator.",
9
+  "Syntax: $bSET <user> <vhost>$b\n\nSET sets a user's vhost, bypassing the request system.": "Syntax: $bSET <user> <vhost>$b\n\nSET sets a user's vhost, bypassing the request system.",
10
+  "Syntax: $bSTATUS [user]$b\n\nSTATUS displays your current vhost, if any, and the status of your most recent\nrequest for a new one. A server operator can view someone else's status.": "Syntax: $bSTATUS [user]$b\n\nSTATUS displays your current vhost, if any, and the status of your most recent\nrequest for a new one. A server operator can view someone else's status.",
11
+  "Syntax: $bWAITING$b\n\nWAITING shows a list of pending vhost requests, which can then be approved\nor rejected.": "Syntax: $bWAITING$b\n\nWAITING shows a list of pending vhost requests, which can then be approved\nor rejected."
12
+}

+ 63
- 20
languages/example-irc.lang.json View File

@@ -1,15 +1,24 @@
1 1
 {
2
-  "%d IRC Operators online": "%d IRC Operators online",
3
-  "%d channels formed": "%d channels formed",
4
-  "*** $bChanServ HELP$b ***": "*** $bChanServ HELP$b ***",
5
-  "*** $bEnd of ChanServ HELP$b ***": "*** $bEnd of ChanServ HELP$b ***",
6
-  "*** $bEnd of NickServ HELP$b ***": "*** $bEnd of NickServ HELP$b ***",
7
-  "*** $bNickServ HELP$b ***": "*** $bNickServ HELP$b ***",
2
+  "$bWarning: unregistering this account will remove its stored privileges.$b": "$bWarning: unregistering this account will remove its stored privileges.$b",
3
+  "$bWarning: unregistering this channel will remove all stored channel attributes.$b": "$bWarning: unregistering this channel will remove all stored channel attributes.$b",
4
+  "%d. User %s requests vhost: %s": "%d. User %s requests vhost: %s",
5
+  "%s [account: %s] joined the channel": "%s [account: %s] joined the channel",
6
+  "%s joined the channel": "%s joined the channel",
7
+  "%s kicked %s (%s)": "%s kicked %s (%s)",
8
+  "%s left the channel (%s)": "%s left the channel (%s)",
9
+  "%s quit (%s)": "%s quit (%s)",
10
+  "*** $bEnd of %s HELP$b ***": "*** $bEnd of %s HELP$b ***",
8 11
   "*** Could not find your username": "*** Could not find your username",
9 12
   "*** Found your username": "*** Found your username",
10 13
   "*** Got a malformed username, ignoring": "*** Got a malformed username, ignoring",
11 14
   "*** Looking up your username": "*** Looking up your username",
12 15
   "- %s Message of the day - ": "- %s Message of the day - ",
16
+  "... and other commands which have been disabled": "... and other commands which have been disabled",
17
+  "A request is pending for vhost: %s": "A request is pending for vhost: %s",
18
+  "A request was previously made for vhost: %s": "A request was previously made for vhost: %s",
19
+  "Account %s has no vhost": "Account %s has no vhost",
20
+  "Account %s has vhost: %s": "Account %s has vhost: %s",
21
+  "Account %s receives mode +%s": "Account %s receives mode +%s",
13 22
   "Account already exists": "Account already exists",
14 23
   "Account created": "Account created",
15 24
   "Account created, pending verification; verification code has been sent to %s:%s": "Account created, pending verification; verification code has been sent to %s:%s",
@@ -25,32 +34,36 @@
25 34
   "Added temporary (%[1]s) K-Line for %[2]s": "Added temporary (%[1]s) K-Line for %[2]s",
26 35
   "Additional grouped nick: %s": "Additional grouped nick: %s",
27 36
   "An account already exists for your certificate fingerprint": "An account already exists for your certificate fingerprint",
37
+  "An error occurred": "An error occurred",
28 38
   "Authentication successful": "Authentication successful",
39
+  "Bad or unauthorized PROXY command": "Bad or unauthorized PROXY command",
29 40
   "Bad password": "Bad password",
30 41
   "Ban - %[1]s - added by %[2]s - %[3]s": "Ban - %[1]s - added by %[2]s - %[3]s",
31 42
   "Callback namespace is not supported": "Callback namespace is not supported",
32 43
   "Can't change modes for other users": "Can't change modes for other users",
33 44
   "Can't view modes for other users": "Can't view modes for other users",
34 45
   "Cannot join channel (+%s)": "Cannot join channel (+%s)",
46
+  "Cannot resume connection": "Cannot resume connection",
35 47
   "Cannot resume connection, connection registration has already been completed": "Cannot resume connection, connection registration has already been completed",
36
-  "Cannot resume connection, old and new clients must be logged into the same account": "Cannot resume connection, old and new clients must be logged into the same account",
48
+  "Cannot resume connection, invalid resume token": "Cannot resume connection, invalid resume token",
37 49
   "Cannot resume connection, old and new clients must have TLS": "Cannot resume connection, old and new clients must have TLS",
38 50
   "Cannot resume connection, old client not found": "Cannot resume connection, old client not found",
39
-  "Cannot resume connection, old nickname contains spaces": "Cannot resume connection, old nickname contains spaces",
40 51
   "Cannot send to channel": "Cannot send to channel",
52
+  "Change was a no-op": "Change was a no-op",
53
+  "Channel %s has %d persistent modes set": "Channel %s has %d persistent modes set",
54
+  "Channel %s is now unregistered": "Channel %s is now unregistered",
41 55
   "Channel %s successfully registered": "Channel %s successfully registered",
42 56
   "Channel does not exist": "Channel does not exist",
43 57
   "Channel doesn't have roleplaying mode available": "Channel doesn't have roleplaying mode available",
58
+  "Channel is not registered": "Channel is not registered",
44 59
   "Channel list is full": "Channel list is full",
45 60
   "Channel name is not valid": "Channel name is not valid",
46
-  "Channel registration is not enabled": "Channel registration is not enabled",
47 61
   "Channel renamed: %s": "Channel renamed: %s",
48 62
   "Client reconnected": "Client reconnected",
49
-  "Command error. Please report this to the developers": "Command error. Please report this to the developers",
63
+  "Client reconnected (up to %d seconds of history lost)": "Client reconnected (up to %d seconds of history lost)",
50 64
   "Command restricted": "Command restricted",
51 65
   "Contributors and Former Developers:": "Contributors and Former Developers:",
52 66
   "Core Developers:": "Core Developers:",
53
-  "Could not apply mode changes: +%s": "Could not apply mode changes: +%s",
54 67
   "Could not find given client": "Could not find given client",
55 68
   "Could not login with your TLS certificate or supplied username/password": "Could not login with your TLS certificate or supplied username/password",
56 69
   "Could not parse IP address or CIDR network": "Could not parse IP address or CIDR network",
@@ -70,6 +83,7 @@
70 83
   "End of WHO list": "End of WHO list",
71 84
   "End of WHOWAS": "End of WHOWAS",
72 85
   "End of list": "End of list",
86
+  "Enforcement method set": "Enforcement method set",
73 87
   "Erroneous nickname": "Erroneous nickname",
74 88
   "Error reserving nickname": "Error reserving nickname",
75 89
   "Error while unregistering account": "Error while unregistering account",
@@ -79,22 +93,31 @@
79 93
   "HELPOP <argument>\n\nGet an explanation of <argument>, or \"index\" for a list of help topics.": "HELPOP <argument>\n\nGet an explanation of <argument>, or \"index\" for a list of help topics.",
80 94
   "Help not found": "Help not found",
81 95
   "I have %[1]d clients and %[2]d servers": "I have %[1]d clients and %[2]d servers",
96
+  "IRC Operators online": "IRC Operators online",
82 97
   "Insufficient oper privs": "Insufficient oper privs",
98
+  "Insufficient privileges": "Insufficient privileges",
99
+  "Internal error": "Internal error",
83 100
   "Invalid CAP subcommand": "Invalid CAP subcommand",
84
-  "Invalid username": "Invalid username",
101
+  "Invalid account name": "Invalid account name",
102
+  "Invalid mode change": "Invalid mode change",
103
+  "Invalid parameters": "Invalid parameters",
104
+  "Invalid parameters. For usage, do /msg %s HELP %s": "Invalid parameters. For usage, do /msg %s HELP %s",
105
+  "Invalid vhost": "Invalid vhost",
106
+  "It was rejected for reason: %s": "It was rejected for reason: %s",
85 107
   "JOIN 0 is not allowed": "JOIN 0 is not allowed",
86 108
   "Language preferences have been set": "Language preferences have been set",
87 109
   "Languages are not supported by this server": "Languages are not supported by this server",
88
-  "Login has been disabled": "Login has been disabled",
89 110
   "MOTD File is missing": "MOTD File is missing",
90 111
   "Malformed username": "Malformed username",
91 112
   "Mask isn't valid": "Mask isn't valid",
113
+  "Network service, for more info /msg %s HELP": "Network service, for more info /msg %s HELP",
92 114
   "Nickname is already in use": "Nickname is already in use",
93 115
   "Nickname is reserved by a different account": "Nickname is reserved by a different account",
94 116
   "No DLINEs have been set!": "No DLINEs have been set!",
95 117
   "No command given": "No command given",
96 118
   "No masks given": "No masks given",
97 119
   "No nickname given": "No nickname given",
120
+  "No such account": "No such account",
98 121
   "No such channel": "No such channel",
99 122
   "No such nick": "No such nick",
100 123
   "No topic is set": "No topic is set",
@@ -102,10 +125,13 @@
102 125
   "Not enough parameters": "Not enough parameters",
103 126
   "Only channel founders can change registered channels": "Only channel founders can change registered channels",
104 127
   "Oragono is released under the MIT license.": "Oragono is released under the MIT license.",
105
-  "PROXY command is not usable from your address": "PROXY command is not usable from your address",
128
+  "Passphrase contains forbidden characters or is otherwise invalid": "Passphrase contains forbidden characters or is otherwise invalid",
129
+  "Password changed": "Password changed",
130
+  "Password could not be changed due to server error": "Password could not be changed due to server error",
106 131
   "Password incorrect": "Password incorrect",
107 132
   "Permission Denied": "Permission Denied",
108 133
   "Permission Denied - You're not an IRC operator": "Permission Denied - You're not an IRC operator",
134
+  "Please wait at least %v and try again": "Please wait at least %v and try again",
109 135
   "Proxied IP address is not valid: [%s]": "Proxied IP address is not valid: [%s]",
110 136
   "Received malformed line": "Received malformed line",
111 137
   "Registered at: %s": "Registered at: %s",
@@ -114,6 +140,7 @@
114 140
   "Remote servers not yet supported": "Remote servers not yet supported",
115 141
   "Removed D-Line for %s": "Removed D-Line for %s",
116 142
   "Removed K-Line for %s": "Removed K-Line for %s",
143
+  "Resume may have lost up to %d seconds of history": "Resume may have lost up to %d seconds of history",
117 144
   "SASL authentication aborted": "SASL authentication aborted",
118 145
   "SASL authentication failed": "SASL authentication failed",
119 146
   "SASL authentication failed, you are not connecting with a certificate": "SASL authentication failed, you are not connecting with a certificate",
@@ -123,28 +150,38 @@
123 150
   "SASL authentication failed: authcid and authzid should be the same": "SASL authentication failed: authcid and authzid should be the same",
124 151
   "SASL message too long": "SASL message too long",
125 152
   "Server notice masks": "Server notice masks",
153
+  "Some additional message history may have been lost": "Some additional message history may have been lost",
154
+  "Successfully approved vhost request for %s": "Successfully approved vhost request for %s",
155
+  "Successfully cleared vhost": "Successfully cleared vhost",
156
+  "Successfully disabled your vhost": "Successfully disabled your vhost",
157
+  "Successfully enabled your vhost": "Successfully enabled your vhost",
126 158
   "Successfully grouped nick %s with your account": "Successfully grouped nick %s with your account",
127 159
   "Successfully op'd in channel %s": "Successfully op'd in channel %s",
160
+  "Successfully rejected vhost request for %s": "Successfully rejected vhost request for %s",
161
+  "Successfully set mode %s": "Successfully set mode %s",
162
+  "Successfully set vhost": "Successfully set vhost",
128 163
   "Successfully ungrouped nick %s with your account": "Successfully ungrouped nick %s with your account",
129 164
   "Successfully unregistered account %s": "Successfully unregistered account %s",
130
-  "Syntax: $bOP #channel [nickname]$b": "Syntax: $bOP #channel [nickname]$b",
131
-  "Syntax: $bREGISTER #channel$b": "Syntax: $bREGISTER #channel$b",
132 165
   "Thanks to Jeremy Latt for founding Ergonomadic, the project this is based on": "Thanks to Jeremy Latt for founding Ergonomadic, the project this is based on",
133 166
   "That nickname is already reserved by someone else": "That nickname is already reserved by someone else",
134 167
   "That nickname is not registered": "That nickname is not registered",
135 168
   "There are %[1]d users and %[2]d invisible on %[3]d server(s)": "There are %[1]d users and %[2]d invisible on %[3]d server(s)",
169
+  "There are %d pending requests for vhosts (%d displayed)": "There are %d pending requests for vhosts (%d displayed)",
136 170
   "There was no such nickname": "There was no such nickname",
137 171
   "They aren't on that channel": "They aren't on that channel",
138 172
   "This ban matches you. To DLINE yourself, you must use the command:  /DLINE MYSELF <arguments>": "This ban matches you. To DLINE yourself, you must use the command:  /DLINE MYSELF <arguments>",
139 173
   "This ban matches you. To KLINE yourself, you must use the command:  /KLINE MYSELF <arguments>": "This ban matches you. To KLINE yourself, you must use the command:  /KLINE MYSELF <arguments>",
174
+  "This command has been disabled by the server administrators": "This command has been disabled by the server administrators",
140 175
   "This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.": "This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.",
141 176
   "This server was created %s": "This server was created %s",
177
+  "This vhost is currently disabled, but can be enabled with /HS ON": "This vhost is currently disabled, but can be enabled with /HS ON",
142 178
   "Timestamp is not in 2006-01-02T15:04:05.999Z format, ignoring it": "Timestamp is not in 2006-01-02T15:04:05.999Z format, ignoring it",
179
+  "To confirm account unregistration, type: /NS UNREGISTER %s %s": "To confirm account unregistration, type: /NS UNREGISTER %s %s",
180
+  "To confirm channel unregistration, type: /CS UNREGISTER %s %s": "To confirm channel unregistration, type: /CS UNREGISTER %s %s",
143 181
   "To verify your account, issue one of these commands:": "To verify your account, issue one of these commands:",
144 182
   "Translators:": "Translators:",
145 183
   "Unknown command": "Unknown command",
146
-  "Unknown command. To see available commands, run /CS HELP": "Unknown command. To see available commands, run /CS HELP",
147
-  "Unknown command. To see available commands, run /NS HELP": "Unknown command. To see available commands, run /NS HELP",
184
+  "Unknown command. To see available commands, run": "Unknown command. To see available commands, run",
148 185
   "Unknown subcommand": "Unknown subcommand",
149 186
   "User doesn't have roleplaying mode enabled": "User doesn't have roleplaying mode enabled",
150 187
   "Verification code: %s": "Verification code: %s",
@@ -158,15 +195,16 @@
158 195
   "You are now logged in as %s": "You are now logged in as %s",
159 196
   "You can't GHOST yourself (try /QUIT instead)": "You can't GHOST yourself (try /QUIT instead)",
160 197
   "You can't ungroup your primary nickname (try unregistering your account instead)": "You can't ungroup your primary nickname (try unregistering your account instead)",
198
+  "You don't have enough channel privileges": "You don't have enough channel privileges",
161 199
   "You don't own that nick": "You don't own that nick",
162 200
   "You have been banned from this server (%s)": "You have been banned from this server (%s)",
163 201
   "You have been marked as being away": "You have been marked as being away",
164 202
   "You have too many nicks reserved already (you can remove some with /NS DROP)": "You have too many nicks reserved already (you can remove some with /NS DROP)",
165 203
   "You may not reregister": "You may not reregister",
166 204
   "You must be an oper on the channel to register it": "You must be an oper on the channel to register it",
167
-  "You must be logged in to op on a channel": "You must be logged in to op on a channel",
168
-  "You must be logged in to register a channel": "You must be logged in to register a channel",
169 205
   "You must be the channel founder to op": "You must be the channel founder to op",
206
+  "You must specify an account": "You must specify an account",
207
+  "You must wait an additional %v before making another request": "You must wait an additional %v before making another request",
170 208
   "You need to either supply a passphrase or be connected via TLS with a client cert": "You need to either supply a passphrase or be connected via TLS with a client cert",
171 209
   "You need to register before you can use that command": "You need to register before you can use that command",
172 210
   "You specified too many languages": "You specified too many languages",
@@ -176,9 +214,14 @@
176 214
   "You're not logged into an account": "You're not logged into an account",
177 215
   "You're not on that channel": "You're not on that channel",
178 216
   "You're now logged in as %s": "You're now logged in as %s",
217
+  "Your current nickname enforcement is: %s": "Your current nickname enforcement is: %s",
179 218
   "Your host is %[1]s, running version %[2]s": "Your host is %[1]s, running version %[2]s",
219
+  "Your vhost request was approved by an administrator": "Your vhost request was approved by an administrator",
220
+  "Your vhost request was rejected by an administrator. The reason given was: %s": "Your vhost request was rejected by an administrator. The reason given was: %s",
221
+  "Your vhost request will be reviewed by an administrator": "Your vhost request will be reviewed by an administrator",
180 222
   "are supported by this server": "are supported by this server",
181 223
   "can speak these languages": "can speak these languages",
224
+  "channels formed": "channels formed",
182 225
   "has client certificate fingerprint %s": "has client certificate fingerprint %s",
183 226
   "is a $bBot$b on %s": "is a $bBot$b on %s",
184 227
   "is an unknown mode character to me": "is an unknown mode character to me",

+ 4
- 3
languages/example-nickserv.lang.json View File

@@ -1,13 +1,14 @@
1 1
 {
2 2
   "NickServ lets you register and login to an account.\n\nTo see in-depth help for a specific NickServ command, try:\n    $b/NS HELP <command>$b\n\nHere are the commands you can use:\n%s": "NickServ lets you register and login to an account.\n\nTo see in-depth help for a specific NickServ command, try:\n    $b/NS HELP <command>$b\n\nHere are the commands you can use:\n%s",
3 3
   "Syntax: $bDROP [nickname]$b\n\nDROP de-links the given (or your current) nickname from your user account.": "Syntax: $bDROP [nickname]$b\n\nDROP de-links the given (or your current) nickname from your user account.",
4
+  "Syntax: $bENFORCE [method]$b\n\nENFORCE lets you specify a custom enforcement mechanism for your registered\nnicknames. Your options are:\n1. 'none'    [no enforcement, overriding the server default]\n2. 'timeout' [anyone using the nick must authenticate before a deadline,\n              or else they will be renamed]\n3. 'strict'  [you must already be authenticated to use the nick]\n4. 'default' [use the server default]\nWith no arguments, queries your current enforcement status.": "Syntax: $bENFORCE [method]$b\n\nENFORCE lets you specify a custom enforcement mechanism for your registered\nnicknames. Your options are:\n1. 'none'    [no enforcement, overriding the server default]\n2. 'timeout' [anyone using the nick must authenticate before a deadline,\n              or else they will be renamed]\n3. 'strict'  [you must already be authenticated to use the nick]\n4. 'default' [use the server default]\nWith no arguments, queries your current enforcement status.",
4 5
   "Syntax: $bGHOST <nickname>$b\n\nGHOST disconnects the given user from the network if they're logged in with the\nsame user account, letting you reclaim your nickname.": "Syntax: $bGHOST <nickname>$b\n\nGHOST disconnects the given user from the network if they're logged in with the\nsame user account, letting you reclaim your nickname.",
5 6
   "Syntax: $bGROUP$b\n\nGROUP links your current nickname with your logged-in account, preventing other\nusers from changing to it (or forcing them to rename).": "Syntax: $bGROUP$b\n\nGROUP links your current nickname with your logged-in account, preventing other\nusers from changing to it (or forcing them to rename).",
6
-  "Syntax: $bHELP [command]$b\n\nHELP returns information on the given command.": "Syntax: $bHELP [command]$b\n\nHELP returns information on the given command.",
7 7
   "Syntax: $bIDENTIFY <username> [password]$b\n\nIDENTIFY lets you login to the given username using either password auth, or\ncertfp (your client certificate) if a password is not given.": "Syntax: $bIDENTIFY <username> [password]$b\n\nIDENTIFY lets you login to the given username using either password auth, or\ncertfp (your client certificate) if a password is not given.",
8 8
   "Syntax: $bINFO [username]$b\n\nINFO gives you information about the given (or your own) user account.": "Syntax: $bINFO [username]$b\n\nINFO gives you information about the given (or your own) user account.",
9
+  "Syntax: $bPASSWD <current> <new> <new_again>$b\nOr:     $bPASSWD <username> <new>$b\n\nPASSWD lets you change your account password. You must supply your current\npassword and confirm the new one by typing it twice. If you're an IRC operator\nwith the correct permissions, you can use PASSWD to reset someone else's\npassword by supplying their username and then the desired password.": "Syntax: $bPASSWD <current> <new> <new_again>$b\nOr:     $bPASSWD <username> <new>$b\n\nPASSWD lets you change your account password. You must supply your current\npassword and confirm the new one by typing it twice. If you're an IRC operator\nwith the correct permissions, you can use PASSWD to reset someone else's\npassword by supplying their username and then the desired password.",
9 10
   "Syntax: $bREGISTER <username> <email> [password]$b\n\nREGISTER lets you register a user account. If the server allows anonymous\nregistration, you can send an asterisk (*) as the email address.\n\nIf the password is left out, your account will be registered to your TLS client\ncertificate (and you will need to use that certificate to login in future).": "Syntax: $bREGISTER <username> <email> [password]$b\n\nREGISTER lets you register a user account. If the server allows anonymous\nregistration, you can send an asterisk (*) as the email address.\n\nIf the password is left out, your account will be registered to your TLS client\ncertificate (and you will need to use that certificate to login in future).",
10
-  "Syntax: $bSADROP <nickname>$b\n\nSADROP foribly de-links the given nickname from the attached user account.": "Syntax: $bSADROP <nickname>$b\n\nSADROP foribly de-links the given nickname from the attached user account.",
11
-  "Syntax: $bUNREGISTER [username]$b\n\nUNREGISTER lets you delete your user account (or the given one, if you're an\nIRC operator with the correct permissions).": "Syntax: $bUNREGISTER [username]$b\n\nUNREGISTER lets you delete your user account (or the given one, if you're an\nIRC operator with the correct permissions).",
11
+  "Syntax: $bSADROP <nickname>$b\n\nSADROP forcibly de-links the given nickname from the attached user account.": "Syntax: $bSADROP <nickname>$b\n\nSADROP forcibly de-links the given nickname from the attached user account.",
12
+  "Syntax: $bUNREGISTER <username> [code]$b\n\nUNREGISTER lets you delete your user account (or someone else's, if you're an\nIRC operator with the correct permissions). To prevent accidental\nunregistrations, a verification code is required; invoking the command without\na code will display the necessary code.": "Syntax: $bUNREGISTER <username> [code]$b\n\nUNREGISTER lets you delete your user account (or someone else's, if you're an\nIRC operator with the correct permissions). To prevent accidental\nunregistrations, a verification code is required; invoking the command without\na code will display the necessary code.",
12 13
   "Syntax: $bVERIFY <username> <code>$b\n\nVERIFY lets you complete an account registration, if the server requires email\nor other verification.": "Syntax: $bVERIFY <username> <code>$b\n\nVERIFY lets you complete an account registration, if the server requires email\nor other verification."
13 14
 }

+ 49
- 9
updatetranslations.py View File

@@ -54,8 +54,10 @@ if __name__ == '__main__':
54 54
                         if match not in irc_strings:
55 55
                             irc_strings.append(match)
56 56
 
57
-        print("irc strings:")
58
-        print(json.dumps({k:k for k in irc_strings}, sort_keys=True, indent=2, separators=(',', ': ')))
57
+        print("irc strings:", len(irc_strings))
58
+        with open(os.path.join(arguments['<languages-dir>'], 'example-irc.lang.json'), 'w') as f:
59
+            f.write(json.dumps({k:k for k in irc_strings}, sort_keys=True, indent=2, separators=(',', ': ')))
60
+            f.write('\n')
59 61
 
60 62
         # help entries
61 63
         help_strings = []
@@ -71,10 +73,10 @@ if __name__ == '__main__':
71 73
                         if '\n' in match and match not in help_strings:
72 74
                             help_strings.append(match)
73 75
 
74
-        print()
75
-
76
-        print("help strings:")
77
-        print(json.dumps({k:k for k in help_strings}, sort_keys=True, indent=2, separators=(',', ': ')))
76
+        print("help strings:", len(help_strings))
77
+        with open(os.path.join(arguments['<languages-dir>'], 'example-help.lang.json'), 'w') as f:
78
+            f.write(json.dumps({k:k for k in help_strings}, sort_keys=True, indent=2, separators=(',', ': ')))
79
+            f.write('\n')
78 80
 
79 81
         # nickserv help entries
80 82
         help_strings = []
@@ -90,7 +92,45 @@ if __name__ == '__main__':
90 92
                         if '\n' in match and match not in help_strings:
91 93
                             help_strings.append(match)
92 94
 
93
-        print()
95
+        print("nickserv help strings:", len(help_strings))
96
+        with open(os.path.join(arguments['<languages-dir>'], 'example-nickserv.lang.json'), 'w') as f:
97
+            f.write(json.dumps({k:k for k in help_strings}, sort_keys=True, indent=2, separators=(',', ': ')))
98
+            f.write('\n')
99
+
100
+        # chanserv help entries
101
+        help_strings = []
102
+
103
+        for subdir, dirs, files in os.walk(arguments['<irc-dir>']):
104
+            for fname in files:
105
+                filepath = subdir + os.sep + fname
106
+                if fname == 'chanserv.go':
107
+                    content = open(filepath, 'r', encoding='UTF-8').read()
108
+
109
+                    matches = re.findall(r'\`([^\`]+)\`', content)
110
+                    for match in matches:
111
+                        if '\n' in match and match not in help_strings:
112
+                            help_strings.append(match)
113
+
114
+        print("chanserv help strings:", len(help_strings))
115
+        with open(os.path.join(arguments['<languages-dir>'], 'example-chanserv.lang.json'), 'w') as f:
116
+            f.write(json.dumps({k:k for k in help_strings}, sort_keys=True, indent=2, separators=(',', ': ')))
117
+            f.write('\n')
118
+
119
+        # hostserv help entries
120
+        help_strings = []
121
+
122
+        for subdir, dirs, files in os.walk(arguments['<irc-dir>']):
123
+            for fname in files:
124
+                filepath = subdir + os.sep + fname
125
+                if fname == 'hostserv.go':
126
+                    content = open(filepath, 'r', encoding='UTF-8').read()
127
+
128
+                    matches = re.findall(r'\`([^\`]+)\`', content)
129
+                    for match in matches:
130
+                        if '\n' in match and match not in help_strings:
131
+                            help_strings.append(match)
94 132
 
95
-        print("nickserv help strings:")
96
-        print(json.dumps({k:k for k in help_strings}, sort_keys=True, indent=2, separators=(',', ': ')))
133
+        print("hostserv help strings:", len(help_strings))
134
+        with open(os.path.join(arguments['<languages-dir>'], 'example-hostserv.lang.json'), 'w') as f:
135
+            f.write(json.dumps({k:k for k in help_strings}, sort_keys=True, indent=2, separators=(',', ': ')))
136
+            f.write('\n')

Loading…
Cancel
Save