mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-12-04 08:59:23 +01:00
Internationalize Alias, Anonymous, AutoMode, and BadWord
This commit is contained in:
parent
1cc1ec93a5
commit
ca23f946e5
@ -29,6 +29,8 @@
|
|||||||
|
|
||||||
import supybot.conf as conf
|
import supybot.conf as conf
|
||||||
import supybot.registry as registry
|
import supybot.registry as registry
|
||||||
|
from supybot.i18n import PluginInternationalization, internationalizeDocstring
|
||||||
|
_ = PluginInternationalization('Alias')
|
||||||
|
|
||||||
def configure(advanced):
|
def configure(advanced):
|
||||||
# This will be called by supybot to configure this module. advanced is
|
# This will be called by supybot to configure this module. advanced is
|
||||||
|
87
plugins/Alias/messages.pot
Normal file
87
plugins/Alias/messages.pot
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR ORGANIZATION
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2010-10-16 14:10+CEST\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: ENCODING\n"
|
||||||
|
"Generated-By: pygettext.py 1.5\n"
|
||||||
|
|
||||||
|
|
||||||
|
#: plugin.py:45
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"Returns the channel the msg came over or the channel given in args.\n"
|
||||||
|
"\n"
|
||||||
|
" If the channel was given in args, args is modified (the channel is\n"
|
||||||
|
" removed).\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:164
|
||||||
|
msgid " at least"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:165
|
||||||
|
msgid ""
|
||||||
|
"<an alias,%s %n>\n"
|
||||||
|
"\n"
|
||||||
|
"Alias for %q."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:220
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"<alias>\n"
|
||||||
|
"\n"
|
||||||
|
" Locks an alias so that no one else can change it.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:229 plugin.py:243
|
||||||
|
msgid "There is no such alias."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:234
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"<alias>\n"
|
||||||
|
"\n"
|
||||||
|
" Unlocks an alias so that people can define new aliases over it.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:254
|
||||||
|
msgid "That name isn't valid. Try %q instead."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:292
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"<name> <alias>\n"
|
||||||
|
"\n"
|
||||||
|
" Defines an alias <name> that executes <alias>. The <alias>\n"
|
||||||
|
" should be in the standard \"command argument [nestedcommand argument]\"\n"
|
||||||
|
" arguments to the alias; they'll be filled with the first, second, etc.\n"
|
||||||
|
" arguments. $1, $2, etc. can be used for required arguments. @1, @2,\n"
|
||||||
|
" etc. can be used for optional arguments. $* simply means \"all\n"
|
||||||
|
" remaining arguments,\" and cannot be combined with optional arguments.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:315
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"<name>\n"
|
||||||
|
"\n"
|
||||||
|
" Removes the given alias, if unlocked.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
@ -37,6 +37,8 @@ from supybot.commands import *
|
|||||||
import supybot.ircutils as ircutils
|
import supybot.ircutils as ircutils
|
||||||
import supybot.registry as registry
|
import supybot.registry as registry
|
||||||
import supybot.callbacks as callbacks
|
import supybot.callbacks as callbacks
|
||||||
|
from supybot.i18n import PluginInternationalization, internationalizeDocstring
|
||||||
|
_ = PluginInternationalization('Alias')
|
||||||
|
|
||||||
# Copied from the old privmsgs.py.
|
# Copied from the old privmsgs.py.
|
||||||
def getChannel(msg, args=()):
|
def getChannel(msg, args=()):
|
||||||
@ -159,8 +161,8 @@ def makeNewAlias(name, alias):
|
|||||||
self.Proxy(irc, msg, tokens)
|
self.Proxy(irc, msg, tokens)
|
||||||
flexargs = ''
|
flexargs = ''
|
||||||
if biggestDollar and (wildcard or biggestAt):
|
if biggestDollar and (wildcard or biggestAt):
|
||||||
flexargs = ' at least'
|
flexargs = _(' at least')
|
||||||
doc =format('<an alias,%s %n>\n\nAlias for %q.',
|
doc =format(_('<an alias,%s %n>\n\nAlias for %q.'),
|
||||||
flexargs, (biggestDollar, 'argument'), alias)
|
flexargs, (biggestDollar, 'argument'), alias)
|
||||||
f = utils.python.changeFunctionName(f, name, doc)
|
f = utils.python.changeFunctionName(f, name, doc)
|
||||||
return f
|
return f
|
||||||
@ -213,6 +215,7 @@ class Alias(callbacks.Plugin):
|
|||||||
except AttributeError:
|
except AttributeError:
|
||||||
return self.aliases[command[0]][2]
|
return self.aliases[command[0]][2]
|
||||||
|
|
||||||
|
@internationalizeDocstring
|
||||||
def lock(self, irc, msg, args, name):
|
def lock(self, irc, msg, args, name):
|
||||||
"""<alias>
|
"""<alias>
|
||||||
|
|
||||||
@ -223,9 +226,10 @@ class Alias(callbacks.Plugin):
|
|||||||
conf.supybot.plugins.Alias.aliases.get(name).locked.setValue(True)
|
conf.supybot.plugins.Alias.aliases.get(name).locked.setValue(True)
|
||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
else:
|
else:
|
||||||
irc.error('There is no such alias.')
|
irc.error(_('There is no such alias.'))
|
||||||
lock = wrap(lock, [('checkCapability', 'admin'), 'commandName'])
|
lock = wrap(lock, [('checkCapability', 'admin'), 'commandName'])
|
||||||
|
|
||||||
|
@internationalizeDocstring
|
||||||
def unlock(self, irc, msg, args, name):
|
def unlock(self, irc, msg, args, name):
|
||||||
"""<alias>
|
"""<alias>
|
||||||
|
|
||||||
@ -236,7 +240,7 @@ class Alias(callbacks.Plugin):
|
|||||||
conf.supybot.plugins.Alias.aliases.get(name).locked.setValue(False)
|
conf.supybot.plugins.Alias.aliases.get(name).locked.setValue(False)
|
||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
else:
|
else:
|
||||||
irc.error('There is no such alias.')
|
irc.error(_('There is no such alias.'))
|
||||||
unlock = wrap(unlock, [('checkCapability', 'admin'), 'commandName'])
|
unlock = wrap(unlock, [('checkCapability', 'admin'), 'commandName'])
|
||||||
|
|
||||||
_invalidCharsRe = re.compile(r'[\[\]\s]')
|
_invalidCharsRe = re.compile(r'[\[\]\s]')
|
||||||
@ -247,7 +251,7 @@ class Alias(callbacks.Plugin):
|
|||||||
raise AliasError, 'Names cannot contain pipes.'
|
raise AliasError, 'Names cannot contain pipes.'
|
||||||
realName = callbacks.canonicalName(name)
|
realName = callbacks.canonicalName(name)
|
||||||
if name != realName:
|
if name != realName:
|
||||||
s = format('That name isn\'t valid. Try %q instead.', realName)
|
s = format(_('That name isn\'t valid. Try %q instead.'), realName)
|
||||||
raise AliasError, s
|
raise AliasError, s
|
||||||
name = realName
|
name = realName
|
||||||
if self.isCommandMethod(name):
|
if self.isCommandMethod(name):
|
||||||
@ -283,6 +287,7 @@ class Alias(callbacks.Plugin):
|
|||||||
else:
|
else:
|
||||||
raise AliasError, 'There is no such alias.'
|
raise AliasError, 'There is no such alias.'
|
||||||
|
|
||||||
|
@internationalizeDocstring
|
||||||
def add(self, irc, msg, args, name, alias):
|
def add(self, irc, msg, args, name, alias):
|
||||||
"""<name> <alias>
|
"""<name> <alias>
|
||||||
|
|
||||||
@ -305,6 +310,7 @@ class Alias(callbacks.Plugin):
|
|||||||
irc.error(str(e))
|
irc.error(str(e))
|
||||||
add = wrap(add, ['commandName', 'text'])
|
add = wrap(add, ['commandName', 'text'])
|
||||||
|
|
||||||
|
@internationalizeDocstring
|
||||||
def remove(self, irc, msg, args, name):
|
def remove(self, irc, msg, args, name):
|
||||||
"""<name>
|
"""<name>
|
||||||
|
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
|
|
||||||
import supybot.conf as conf
|
import supybot.conf as conf
|
||||||
import supybot.registry as registry
|
import supybot.registry as registry
|
||||||
|
from supybot.i18n import PluginInternationalization, internationalizeDocstring
|
||||||
|
_ = PluginInternationalization('Anonymous')
|
||||||
|
|
||||||
def configure(advanced):
|
def configure(advanced):
|
||||||
# This will be called by supybot to configure this module. advanced is
|
# This will be called by supybot to configure this module. advanced is
|
||||||
@ -44,20 +46,20 @@ Anonymous = conf.registerPlugin('Anonymous')
|
|||||||
# conf.registerGlobalValue(Anonymous, 'someConfigVariableName',
|
# conf.registerGlobalValue(Anonymous, 'someConfigVariableName',
|
||||||
# registry.Boolean(False, """Help for someConfigVariableName."""))
|
# registry.Boolean(False, """Help for someConfigVariableName."""))
|
||||||
conf.registerChannelValue(conf.supybot.plugins.Anonymous,
|
conf.registerChannelValue(conf.supybot.plugins.Anonymous,
|
||||||
'requirePresenceInChannel', registry.Boolean(True, """Determines whether
|
'requirePresenceInChannel', registry.Boolean(True, _("""Determines whether
|
||||||
the bot should require people trying to use this plugin to be in the
|
the bot should require people trying to use this plugin to be in the
|
||||||
channel they wish to anonymously send to."""))
|
channel they wish to anonymously send to.""")))
|
||||||
conf.registerGlobalValue(conf.supybot.plugins.Anonymous, 'requireRegistration',
|
conf.registerGlobalValue(conf.supybot.plugins.Anonymous, 'requireRegistration',
|
||||||
registry.Boolean(True, """Determines whether the bot should require people
|
registry.Boolean(True, _("""Determines whether the bot should require
|
||||||
trying to use this plugin to be registered."""))
|
people trying to use this plugin to be registered.""")))
|
||||||
conf.registerGlobalValue(conf.supybot.plugins.Anonymous, 'requireCapability',
|
conf.registerGlobalValue(conf.supybot.plugins.Anonymous, 'requireCapability',
|
||||||
registry.String('', """Determines what capability (if any) the bot should
|
registry.String('', _("""Determines what capability (if any) the bot should
|
||||||
require people trying to use this plugin to have."""))
|
require people trying to use this plugin to have.""")))
|
||||||
conf.registerGlobalValue(conf.supybot.plugins.Anonymous, 'allowPrivateTarget',
|
conf.registerGlobalValue(conf.supybot.plugins.Anonymous, 'allowPrivateTarget',
|
||||||
registry.Boolean(False, """Determines whether the bot will require targets
|
registry.Boolean(False, _("""Determines whether the bot will require
|
||||||
of the "say" command to be public (i.e., channels). If this is True, the
|
targets of the "say" command to be public (i.e., channels). If this is
|
||||||
bot will allow people to use the "say" command to send private messages to
|
True, the bot will allow people to use the "say" command to send private
|
||||||
other users."""))
|
messages to other users.""")))
|
||||||
|
|
||||||
|
|
||||||
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
||||||
|
79
plugins/Anonymous/messages.pot
Normal file
79
plugins/Anonymous/messages.pot
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR ORGANIZATION
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2010-10-16 15:14+CEST\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: ENCODING\n"
|
||||||
|
"Generated-By: pygettext.py 1.5\n"
|
||||||
|
|
||||||
|
|
||||||
|
#: config.py:49
|
||||||
|
msgid ""
|
||||||
|
"Determines whether\n"
|
||||||
|
" the bot should require people trying to use this plugin to be in the\n"
|
||||||
|
" channel they wish to anonymously send to."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:53
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the bot should require\n"
|
||||||
|
" people trying to use this plugin to be registered."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:56
|
||||||
|
msgid ""
|
||||||
|
"Determines what capability (if any) the bot should\n"
|
||||||
|
" require people trying to use this plugin to have."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:59
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the bot will require \n"
|
||||||
|
" targets of the \"say\" command to be public (i.e., channels). If this is\n"
|
||||||
|
" True, the bot will allow people to use the \"say\" command to send private\n"
|
||||||
|
" messages to other users."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:41
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"This plugin allows users to act through the bot anonymously. The 'do'\n"
|
||||||
|
" command has the bot perform an anonymous action in a given channel, and\n"
|
||||||
|
" the 'say' command allows other people to speak through the bot. Since\n"
|
||||||
|
" this can be fairly well abused, you might want to set\n"
|
||||||
|
" supybot.plugins.Anonymous.requireCapability so only users with that\n"
|
||||||
|
" capability can use this plugin. For extra security, you can require that\n"
|
||||||
|
" the user be *in* the channel they are trying to address anonymously with\n"
|
||||||
|
" supybot.plugins.Anonymous.requirePresenceInChannel, or you can require\n"
|
||||||
|
" that the user be registered by setting\n"
|
||||||
|
" supybot.plugins.Anonymous.requireRegistration.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:81
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"<channel|nick> <text>\n"
|
||||||
|
"\n"
|
||||||
|
" Sends <text> to <channel|nick>. Can only send to <nick> if\n"
|
||||||
|
" supybot.plugins.Anonymous.allowPrivateTarget is True.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:95
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"<channel> <action>\n"
|
||||||
|
"\n"
|
||||||
|
" Performs <action> in <channel>.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
@ -33,7 +33,10 @@ import supybot.utils as utils
|
|||||||
from supybot.commands import *
|
from supybot.commands import *
|
||||||
import supybot.ircmsgs as ircmsgs
|
import supybot.ircmsgs as ircmsgs
|
||||||
import supybot.callbacks as callbacks
|
import supybot.callbacks as callbacks
|
||||||
|
from supybot.i18n import PluginInternationalization, internationalizeDocstring
|
||||||
|
_ = PluginInternationalization('Anonymous')
|
||||||
|
|
||||||
|
@internationalizeDocstring
|
||||||
class Anonymous(callbacks.Plugin):
|
class Anonymous(callbacks.Plugin):
|
||||||
"""This plugin allows users to act through the bot anonymously. The 'do'
|
"""This plugin allows users to act through the bot anonymously. The 'do'
|
||||||
command has the bot perform an anonymous action in a given channel, and
|
command has the bot perform an anonymous action in a given channel, and
|
||||||
@ -73,6 +76,7 @@ class Anonymous(callbacks.Plugin):
|
|||||||
action),
|
action),
|
||||||
Raise=True)
|
Raise=True)
|
||||||
|
|
||||||
|
@internationalizeDocstring
|
||||||
def say(self, irc, msg, args, target, text):
|
def say(self, irc, msg, args, target, text):
|
||||||
"""<channel|nick> <text>
|
"""<channel|nick> <text>
|
||||||
|
|
||||||
@ -86,6 +90,7 @@ class Anonymous(callbacks.Plugin):
|
|||||||
irc.noReply()
|
irc.noReply()
|
||||||
say = wrap(say, [first('nick', 'inChannel'), 'text'])
|
say = wrap(say, [first('nick', 'inChannel'), 'text'])
|
||||||
|
|
||||||
|
@internationalizeDocstring
|
||||||
def do(self, irc, msg, args, channel, text):
|
def do(self, irc, msg, args, channel, text):
|
||||||
"""<channel> <action>
|
"""<channel> <action>
|
||||||
|
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
|
|
||||||
import supybot.conf as conf
|
import supybot.conf as conf
|
||||||
import supybot.registry as registry
|
import supybot.registry as registry
|
||||||
|
from supybot.i18n import PluginInternationalization, internationalizeDocstring
|
||||||
|
_ = PluginInternationalization('AutoMode')
|
||||||
|
|
||||||
def configure(advanced):
|
def configure(advanced):
|
||||||
# This will be called by supybot to configure this module. advanced is
|
# This will be called by supybot to configure this module. advanced is
|
||||||
@ -41,30 +43,33 @@ def configure(advanced):
|
|||||||
|
|
||||||
AutoMode = conf.registerPlugin('AutoMode')
|
AutoMode = conf.registerPlugin('AutoMode')
|
||||||
conf.registerChannelValue(AutoMode, 'enable',
|
conf.registerChannelValue(AutoMode, 'enable',
|
||||||
registry.Boolean(True, """Determines whether this plugin is enabled."""))
|
registry.Boolean(True, _("""Determines whether this plugin is enabled.
|
||||||
|
""")))
|
||||||
conf.registerGlobalValue(AutoMode, 'owner',
|
conf.registerGlobalValue(AutoMode, 'owner',
|
||||||
registry.Boolean(True, """Determines whether this plugin will automode owners."""))
|
registry.Boolean(True, _("""Determines whether this plugin will automode
|
||||||
|
owners.""")))
|
||||||
conf.registerChannelValue(AutoMode, 'fallthrough',
|
conf.registerChannelValue(AutoMode, 'fallthrough',
|
||||||
registry.Boolean(False, """Determines whether the bot will "fall through" to
|
registry.Boolean(False, _("""Determines whether the bot will "fall through
|
||||||
halfop/voicing when auto-opping is turned off but auto-halfopping/voicing
|
to halfop/voicing when auto-opping is turned off but
|
||||||
are turned on."""))
|
auto-halfopping/voicing are turned on.""")))
|
||||||
conf.registerChannelValue(AutoMode, 'op',
|
conf.registerChannelValue(AutoMode, 'op',
|
||||||
registry.Boolean(True, """Determines whether the bot will automatically op
|
registry.Boolean(True, _("""Determines whether the bot will automatically
|
||||||
people with the <channel>,op capability when they join the channel."""))
|
op people with the <channel>,op capability when they join the channel.
|
||||||
|
""")))
|
||||||
conf.registerChannelValue(AutoMode, 'halfop',
|
conf.registerChannelValue(AutoMode, 'halfop',
|
||||||
registry.Boolean(True, """Determines whether the bot will automatically
|
registry.Boolean(True, _("""Determines whether the bot will automatically
|
||||||
halfop people with the <channel>,halfop capability when they join the
|
halfop people with the <channel>,halfop capability when they join the
|
||||||
channel."""))
|
channel.""")))
|
||||||
conf.registerChannelValue(AutoMode, 'voice',
|
conf.registerChannelValue(AutoMode, 'voice',
|
||||||
registry.Boolean(True, """Determines whether the bot will automatically
|
registry.Boolean(True, _("""Determines whether the bot will automatically
|
||||||
voice people with the <channel>,voice capability when they join the
|
voice people with the <channel>,voice capability when they join the
|
||||||
channel."""))
|
channel.""")))
|
||||||
conf.registerChannelValue(AutoMode, 'ban',
|
conf.registerChannelValue(AutoMode, 'ban',
|
||||||
registry.Boolean(True, """Determines whether the bot will automatically ban
|
registry.Boolean(True, _("""Determines whether the bot will automatically
|
||||||
people who join the channel and are on the banlist."""))
|
ban people who join the channel and are on the banlist.""")))
|
||||||
conf.registerChannelValue(AutoMode.ban, 'period',
|
conf.registerChannelValue(AutoMode.ban, 'period',
|
||||||
registry.PositiveInteger(86400, """Determines how many seconds the bot will
|
registry.PositiveInteger(86400, _("""Determines how many seconds the bot
|
||||||
automatically ban a person when banning."""))
|
will automatically ban a person when banning.""")))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
69
plugins/AutoMode/messages.pot
Normal file
69
plugins/AutoMode/messages.pot
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR ORGANIZATION
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2010-10-16 18:48+CEST\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: ENCODING\n"
|
||||||
|
"Generated-By: pygettext.py 1.5\n"
|
||||||
|
|
||||||
|
|
||||||
|
#: config.py:46
|
||||||
|
msgid ""
|
||||||
|
"Determines whether this plugin is enabled.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:49
|
||||||
|
msgid ""
|
||||||
|
"Determines whether this plugin will automode\n"
|
||||||
|
" owners."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:52
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the bot will \"fall through\n"
|
||||||
|
" to halfop/voicing when auto-opping is turned off but\n"
|
||||||
|
" auto-halfopping/voicing are turned on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:56
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the bot will automatically\n"
|
||||||
|
" op people with the <channel>,op capability when they join the channel.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:60
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the bot will automatically\n"
|
||||||
|
" halfop people with the <channel>,halfop capability when they join the\n"
|
||||||
|
" channel."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:64
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the bot will automatically\n"
|
||||||
|
" voice people with the <channel>,voice capability when they join the\n"
|
||||||
|
" channel."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:68
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the bot will automatically\n"
|
||||||
|
" ban people who join the channel and are on the banlist."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:71
|
||||||
|
msgid ""
|
||||||
|
"Determines how many seconds the bot\n"
|
||||||
|
" will automatically ban a person when banning."
|
||||||
|
msgstr ""
|
||||||
|
|
@ -35,6 +35,8 @@ import supybot.ircmsgs as ircmsgs
|
|||||||
import supybot.ircutils as ircutils
|
import supybot.ircutils as ircutils
|
||||||
import supybot.schedule as schedule
|
import supybot.schedule as schedule
|
||||||
import supybot.callbacks as callbacks
|
import supybot.callbacks as callbacks
|
||||||
|
from supybot.i18n import PluginInternationalization, internationalizeDocstring
|
||||||
|
_ = PluginInternationalization('AutoMode')
|
||||||
|
|
||||||
class Continue(Exception):
|
class Continue(Exception):
|
||||||
pass # Used below, look in the "do" function nested in doJoin.
|
pass # Used below, look in the "do" function nested in doJoin.
|
||||||
|
@ -31,12 +31,15 @@ import time
|
|||||||
|
|
||||||
import supybot.conf as conf
|
import supybot.conf as conf
|
||||||
import supybot.registry as registry
|
import supybot.registry as registry
|
||||||
|
from supybot.i18n import PluginInternationalization, internationalizeDocstring
|
||||||
|
_ = PluginInternationalization('BadWords')
|
||||||
|
|
||||||
def configure(advanced):
|
def configure(advanced):
|
||||||
from supybot.questions import output, expect, anything, something, yn
|
from supybot.questions import output, expect, anything, something, yn
|
||||||
conf.registerPlugin('BadWords', True)
|
conf.registerPlugin('BadWords', True)
|
||||||
if yn('Would you like to add some bad words?'):
|
if yn(_('Would you like to add some bad words?')):
|
||||||
words = anything('What words? (separate individual words by spaces)')
|
words = anything(_('What words? (separate individual words by '
|
||||||
|
'spaces)'))
|
||||||
conf.supybot.plugins.BadWords.words.set(words)
|
conf.supybot.plugins.BadWords.words.set(words)
|
||||||
|
|
||||||
class LastModifiedSetOfStrings(registry.SpaceSeparatedSetOfStrings):
|
class LastModifiedSetOfStrings(registry.SpaceSeparatedSetOfStrings):
|
||||||
@ -47,14 +50,14 @@ class LastModifiedSetOfStrings(registry.SpaceSeparatedSetOfStrings):
|
|||||||
|
|
||||||
BadWords = conf.registerPlugin('BadWords')
|
BadWords = conf.registerPlugin('BadWords')
|
||||||
conf.registerGlobalValue(BadWords, 'words',
|
conf.registerGlobalValue(BadWords, 'words',
|
||||||
LastModifiedSetOfStrings([], """Determines what words are
|
LastModifiedSetOfStrings([], _("""Determines what words are
|
||||||
considered to be 'bad' so the bot won't say them."""))
|
considered to be 'bad' so the bot won't say them.""")))
|
||||||
conf.registerGlobalValue(BadWords,'requireWordBoundaries',
|
conf.registerGlobalValue(BadWords,'requireWordBoundaries',
|
||||||
registry.Boolean(False, """Determines whether the bot will require bad
|
registry.Boolean(False, _("""Determines whether the bot will require bad
|
||||||
words to be independent words, or whether it will censor them within other
|
words to be independent words, or whether it will censor them within other
|
||||||
words. For instance, if 'darn' is a bad word, then if this is true, 'darn'
|
words. For instance, if 'darn' is a bad word, then if this is true, 'darn'
|
||||||
will be censored, but 'darnit' will not. You probably want this to be
|
will be censored, but 'darnit' will not. You probably want this to be
|
||||||
false."""))
|
false.""")))
|
||||||
|
|
||||||
class String256(registry.String):
|
class String256(registry.String):
|
||||||
def __call__(self):
|
def __call__(self):
|
||||||
@ -65,39 +68,39 @@ class String256(registry.String):
|
|||||||
return self.value
|
return self.value
|
||||||
|
|
||||||
conf.registerGlobalValue(BadWords, 'nastyChars',
|
conf.registerGlobalValue(BadWords, 'nastyChars',
|
||||||
String256('!@#&', """Determines what characters will replace bad words; a
|
String256('!@#&', _("""Determines what characters will replace bad words; a
|
||||||
chunk of these characters matching the size of the replaced bad word will
|
chunk of these characters matching the size of the replaced bad word will
|
||||||
be used to replace the bad words you've configured."""))
|
be used to replace the bad words you've configured.""")))
|
||||||
|
|
||||||
class ReplacementMethods(registry.OnlySomeStrings):
|
class ReplacementMethods(registry.OnlySomeStrings):
|
||||||
validStrings = ('simple', 'nastyCharacters')
|
validStrings = ('simple', 'nastyCharacters')
|
||||||
|
|
||||||
conf.registerGlobalValue(BadWords, 'replaceMethod',
|
conf.registerGlobalValue(BadWords, 'replaceMethod',
|
||||||
ReplacementMethods('nastyCharacters', """Determines the manner in which
|
ReplacementMethods('nastyCharacters', _("""Determines the manner in which
|
||||||
bad words will be replaced. 'nastyCharacters' (the default) will replace a
|
bad words will be replaced. 'nastyCharacters' (the default) will replace a
|
||||||
bad word with the same number of 'nasty characters' (like those used in
|
bad word with the same number of 'nasty characters' (like those used in
|
||||||
comic books; configurable by supybot.plugins.BadWords.nastyChars).
|
comic books; configurable by supybot.plugins.BadWords.nastyChars).
|
||||||
'simple' will replace a bad word with a simple strings (regardless of the
|
'simple' will replace a bad word with a simple strings (regardless of the
|
||||||
length of the bad word); this string is configurable via
|
length of the bad word); this string is configurable via
|
||||||
supybot.plugins.BadWords.simpleReplacement."""))
|
supybot.plugins.BadWords.simpleReplacement.""")))
|
||||||
conf.registerGlobalValue(BadWords,'simpleReplacement',
|
conf.registerGlobalValue(BadWords,'simpleReplacement',
|
||||||
registry.String('[CENSORED]', """Determines what word will replace bad
|
registry.String('[CENSORED]', _("""Determines what word will replace bad
|
||||||
words if the replacement method is 'simple'."""))
|
words if the replacement method is 'simple'.""")))
|
||||||
conf.registerGlobalValue(BadWords, 'stripFormatting',
|
conf.registerGlobalValue(BadWords, 'stripFormatting',
|
||||||
registry.Boolean(True, """Determines whether the bot will strip
|
registry.Boolean(True, _("""Determines whether the bot will strip
|
||||||
formatting characters from messages before it checks them for bad words.
|
formatting characters from messages before it checks them for bad words.
|
||||||
If this is False, it will be relatively trivial to circumvent this plugin's
|
If this is False, it will be relatively trivial to circumvent this plugin's
|
||||||
filtering. If it's True, however, it will interact poorly with other
|
filtering. If it's True, however, it will interact poorly with other
|
||||||
plugins that do coloring or bolding of text."""))
|
plugins that do coloring or bolding of text.""")))
|
||||||
|
|
||||||
conf.registerChannelValue(BadWords, 'kick',
|
conf.registerChannelValue(BadWords, 'kick',
|
||||||
registry.Boolean(False, """Determines whether the bot will kick people with
|
registry.Boolean(False, _("""Determines whether the bot will kick people with
|
||||||
a warning when they use bad words."""))
|
a warning when they use bad words.""")))
|
||||||
conf.registerChannelValue(BadWords.kick, 'message',
|
conf.registerChannelValue(BadWords.kick, 'message',
|
||||||
registry.NormalizedString("""You have been kicked for using a word
|
registry.NormalizedString(_("""You have been kicked for using a word
|
||||||
prohibited in the presence of this bot. Please use more appropriate
|
prohibited in the presence of this bot. Please use more appropriate
|
||||||
language in the future.""", """Determines the kick message used by the bot
|
language in the future."""), _("""Determines the kick message used by the
|
||||||
when kicking users for saying bad words."""))
|
bot when kicking users for saying bad words.""")))
|
||||||
|
|
||||||
|
|
||||||
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
||||||
|
110
plugins/BadWords/messages.pot
Normal file
110
plugins/BadWords/messages.pot
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR ORGANIZATION
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2010-10-16 18:51+CEST\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: ENCODING\n"
|
||||||
|
"Generated-By: pygettext.py 1.5\n"
|
||||||
|
|
||||||
|
|
||||||
|
#: config.py:40
|
||||||
|
msgid "Would you like to add some bad words?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:41
|
||||||
|
msgid "What words? (separate individual words by spaces)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:53
|
||||||
|
msgid ""
|
||||||
|
"Determines what words are\n"
|
||||||
|
" considered to be 'bad' so the bot won't say them."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:56
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the bot will require bad\n"
|
||||||
|
" words to be independent words, or whether it will censor them within other\n"
|
||||||
|
" words. For instance, if 'darn' is a bad word, then if this is true, 'darn'\n"
|
||||||
|
" will be censored, but 'darnit' will not. You probably want this to be\n"
|
||||||
|
" false."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:71
|
||||||
|
msgid ""
|
||||||
|
"Determines what characters will replace bad words; a\n"
|
||||||
|
" chunk of these characters matching the size of the replaced bad word will\n"
|
||||||
|
" be used to replace the bad words you've configured."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:79
|
||||||
|
msgid ""
|
||||||
|
"Determines the manner in which\n"
|
||||||
|
" bad words will be replaced. 'nastyCharacters' (the default) will replace a\n"
|
||||||
|
" bad word with the same number of 'nasty characters' (like those used in\n"
|
||||||
|
" comic books; configurable by supybot.plugins.BadWords.nastyChars).\n"
|
||||||
|
" 'simple' will replace a bad word with a simple strings (regardless of the\n"
|
||||||
|
" length of the bad word); this string is configurable via\n"
|
||||||
|
" supybot.plugins.BadWords.simpleReplacement."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:87
|
||||||
|
msgid ""
|
||||||
|
"Determines what word will replace bad\n"
|
||||||
|
" words if the replacement method is 'simple'."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:90
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the bot will strip\n"
|
||||||
|
" formatting characters from messages before it checks them for bad words.\n"
|
||||||
|
" If this is False, it will be relatively trivial to circumvent this plugin's\n"
|
||||||
|
" filtering. If it's True, however, it will interact poorly with other\n"
|
||||||
|
" plugins that do coloring or bolding of text."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: config.py:97
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the bot will kick people with\n"
|
||||||
|
" a warning when they use bad words."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:110
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"takes no arguments\n"
|
||||||
|
"\n"
|
||||||
|
" Returns the list of words being censored.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:120
|
||||||
|
msgid "I'm not currently censoring any bad words."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:125
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"<word> [<word> ...]\n"
|
||||||
|
"\n"
|
||||||
|
" Adds all <word>s to the list of words the bot isn't to say.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugin.py:137
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"<word> [<word> ...]\n"
|
||||||
|
"\n"
|
||||||
|
" Removes a <word>s from the list of words the bot isn't to say.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
@ -39,6 +39,8 @@ import supybot.ircmsgs as ircmsgs
|
|||||||
from supybot.commands import *
|
from supybot.commands import *
|
||||||
import supybot.ircutils as ircutils
|
import supybot.ircutils as ircutils
|
||||||
import supybot.callbacks as callbacks
|
import supybot.callbacks as callbacks
|
||||||
|
from supybot.i18n import PluginInternationalization, internationalizeDocstring
|
||||||
|
_ = PluginInternationalization('BadWords')
|
||||||
|
|
||||||
class BadWords(callbacks.Privmsg):
|
class BadWords(callbacks.Privmsg):
|
||||||
def __init__(self, irc):
|
def __init__(self, irc):
|
||||||
@ -103,6 +105,7 @@ class BadWords(callbacks.Privmsg):
|
|||||||
s = r'\b%s\b' % s
|
s = r'\b%s\b' % s
|
||||||
self.regexp = re.compile(s, re.I)
|
self.regexp = re.compile(s, re.I)
|
||||||
|
|
||||||
|
@internationalizeDocstring
|
||||||
def list(self, irc, msg, args):
|
def list(self, irc, msg, args):
|
||||||
"""takes no arguments
|
"""takes no arguments
|
||||||
|
|
||||||
@ -114,9 +117,10 @@ class BadWords(callbacks.Privmsg):
|
|||||||
utils.sortBy(str.lower, L)
|
utils.sortBy(str.lower, L)
|
||||||
irc.reply(format('%L', L))
|
irc.reply(format('%L', L))
|
||||||
else:
|
else:
|
||||||
irc.reply('I\'m not currently censoring any bad words.')
|
irc.reply(_('I\'m not currently censoring any bad words.'))
|
||||||
list = wrap(list, ['admin'])
|
list = wrap(list, ['admin'])
|
||||||
|
|
||||||
|
@internationalizeDocstring
|
||||||
def add(self, irc, msg, args, words):
|
def add(self, irc, msg, args, words):
|
||||||
"""<word> [<word> ...]
|
"""<word> [<word> ...]
|
||||||
|
|
||||||
@ -128,6 +132,7 @@ class BadWords(callbacks.Privmsg):
|
|||||||
irc.replySuccess()
|
irc.replySuccess()
|
||||||
add = wrap(add, ['admin', many('something')])
|
add = wrap(add, ['admin', many('something')])
|
||||||
|
|
||||||
|
@internationalizeDocstring
|
||||||
def remove(self, irc, msg, args, words):
|
def remove(self, irc, msg, args, words):
|
||||||
"""<word> [<word> ...]
|
"""<word> [<word> ...]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user