From ef6fe23e02f73aaa5fd0965fb57923de104d27d4 Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Mon, 4 Apr 2011 16:30:52 -0400 Subject: [PATCH 001/244] Seen: fix tests so they pass. fix seen command so it properly accepts nick wildcards. Conflicts: src/version.py --- plugins/Seen/plugin.py | 4 ++-- src/version.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/Seen/plugin.py b/plugins/Seen/plugin.py index 7f1fbd718..565a28c54 100644 --- a/plugins/Seen/plugin.py +++ b/plugins/Seen/plugin.py @@ -222,10 +222,10 @@ class Seen(callbacks.Plugin): Returns the last time was seen and what was last seen saying. is only necessary if the message isn't sent on the - channel itself. + channel itself. may contain * as a wildcard. """ self._seen(irc, channel, name) - seen = wrap(seen, ['channel', 'nick']) + seen = wrap(seen, ['channel', 'something']) @internationalizeDocstring def any(self, irc, msg, args, channel, optlist, name): diff --git a/src/version.py b/src/version.py index b73d4b4e4..c772ecd95 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-04-26T10:32:24+0200)' +version = '0.83.4.1+limnoria (2011-05-27T18:16:23+0200)' From 865bd93244755616f51f2a5bd16846bfce7710f2 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 27 May 2011 18:18:53 +0200 Subject: [PATCH 002/244] MessageParser: remove redundant spaces --- plugins/MessageParser/plugin.py | 62 ++++++++++++++++----------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/plugins/MessageParser/plugin.py b/plugins/MessageParser/plugin.py index d72516696..45385d878 100644 --- a/plugins/MessageParser/plugin.py +++ b/plugins/MessageParser/plugin.py @@ -78,7 +78,7 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): def __init__(self, irc): callbacks.Plugin.__init__(self, irc) plugins.ChannelDBHandler.__init__(self) - + def makeDb(self, filename): """Create the database and connect to it.""" if os.path.exists(filename): @@ -99,7 +99,7 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): )""") db.commit() return db - + # override this because sqlite3 doesn't have autocommit # use isolation_level instead. def getDb(self, channel): @@ -113,7 +113,7 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): db = self.dbCache[channel] db.isolation_level = None return db - + def _updateRank(self, channel, regexp): if self.registryValue('keepRankInfo', channel): db = self.getDb(channel) @@ -124,15 +124,15 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): old_count = cursor.fetchall()[0][0] cursor.execute("UPDATE triggers SET usage_count=? WHERE regexp=?", (old_count + 1, regexp,)) db.commit() - + def _runCommandFunction(self, irc, msg, command): """Run a command from message, as if command was sent over IRC.""" - tokens = callbacks.tokenize(command) + tokens = callbacks.tokenize(command) try: self.Proxy(irc.irc, msg, tokens) except Exception, e: log.exception('Uncaught exception in function called by MessageParser:') - + def _checkManageCapabilities(self, irc, msg, channel): """Check if the user has any of the required capabilities to manage the regexp database.""" @@ -147,7 +147,7 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): return False else: return True - + def doPrivmsg(self, irc, msg): channel = msg.args[0] if not irc.isChannel(channel): @@ -170,17 +170,17 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): for (i, j) in enumerate(match.groups()): thisaction = re.sub(r'\$' + str(i+1), match.group(i+1), thisaction) actions.append(thisaction) - + for action in actions: self._runCommandFunction(irc, msg, action) - + @internationalizeDocstring def add(self, irc, msg, args, channel, regexp, action): """[] Associates with . is only necessary if the message isn't sent on the channel - itself. Action is echoed upon regexp match, with variables $1, $2, + itself. Action is echoed upon regexp match, with variables $1, $2, etc. being interpolated from the regexp match groups.""" if not self._checkManageCapabilities(irc, msg, channel): capabilities = self.registryValue('requireManageCapability') @@ -213,12 +213,12 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): irc.error(_('That trigger is locked.')) return add = wrap(add, ['channel', 'something', 'something']) - + @internationalizeDocstring def remove(self, irc, msg, args, channel, optlist, regexp): """[] [--id] ] - Removes the trigger for from the triggers database. + Removes the trigger for from the triggers database. is only necessary if the message isn't sent in the channel itself. If option --id specified, will retrieve by regexp id, not content. @@ -240,11 +240,11 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): else: irc.error(_('There is no such regexp trigger.')) return - + if locked: irc.error(_('This regexp trigger is locked.')) return - + cursor.execute("""DELETE FROM triggers WHERE id=?""", (id,)) db.commit() irc.replySuccess() @@ -303,7 +303,7 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): """[] [--id] Looks up the value of in the triggers database. - is only necessary if the message isn't sent in the channel + is only necessary if the message isn't sent in the channel itself. If option --id specified, will retrieve by regexp id, not content. """ @@ -321,9 +321,9 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): else: irc.error(_('There is no such regexp trigger.')) return - + irc.reply("The action for regexp trigger \"%s\" is \"%s\"" % (regexp, action)) - show = wrap(show, ['channel', + show = wrap(show, ['channel', getopts({'id': '',}), 'something']) @@ -332,7 +332,7 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): """[] [--id] Display information about in the triggers database. - is only necessary if the message isn't sent in the channel + is only necessary if the message isn't sent in the channel itself. If option --id specified, will retrieve by regexp id, not content. """ @@ -346,23 +346,23 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): cursor.execute(sql, (regexp,)) results = cursor.fetchall() if len(results) != 0: - (id, regexp, added_by, added_at, usage_count, + (id, regexp, added_by, added_at, usage_count, action, locked) = results[0] else: irc.error(_('There is no such regexp trigger.')) return - + irc.reply(_("The regexp id is %d, regexp is \"%s\", and action is" " \"%s\". It was added by user %s on %s, has been " "triggered %d times, and is %s.") % (id, - regexp, + regexp, action, added_by, time.strftime(conf.supybot.reply.format.time(), time.localtime(int(added_at))), usage_count, locked and _("locked") or _("not locked"),)) - info = wrap(info, ['channel', + info = wrap(info, ['channel', getopts({'id': '',}), 'something']) @@ -371,7 +371,7 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): """[] Lists regexps present in the triggers database. - is only necessary if the message isn't sent in the channel + is only necessary if the message isn't sent in the channel itself. Regexp ID listed in paretheses. """ db = self.getDb(channel) @@ -383,7 +383,7 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): else: irc.reply(_('There are no regexp triggers in the database.')) return - + s = [ "\"%s\" (%d)" % (regexp[0], regexp[1]) for regexp in regexps ] separator = self.registryValue('listSeparator', channel) irc.reply(separator.join(s)) @@ -392,10 +392,10 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): @internationalizeDocstring def rank(self, irc, msg, args, channel): """[] - - Returns a list of top-ranked regexps, sorted by usage count - (rank). The number of regexps returned is set by the - rankListLength registry value. is only necessary if the + + Returns a list of top-ranked regexps, sorted by usage count + (rank). The number of regexps returned is set by the + rankListLength registry value. is only necessary if the message isn't sent in the channel itself. """ numregexps = self.registryValue('rankListLength', channel) @@ -416,12 +416,12 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): @internationalizeDocstring def vacuum(self, irc, msg, args, channel): """[] - + Vacuums the database for . See SQLite vacuum doc here: http://www.sqlite.org/lang_vacuum.html - is only necessary if the message isn't sent in + is only necessary if the message isn't sent in the channel itself. - First check if user has the required capability specified in plugin + First check if user has the required capability specified in plugin config requireVacuumCapability. """ capability = self.registryValue('requireVacuumCapability') From 0c7e2ce9e84c3dd0fea9b04d49ed5f9db3daee92 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Wed, 1 Jun 2011 22:47:36 +0200 Subject: [PATCH 003/244] =?UTF-8?q?Rename=20'permission'=20to=20'capacit?= =?UTF-8?q?=C3=A9'=20in=20French=20translations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locale/fr.po | 10 +++++----- plugins/Admin/locale/fr.po | 6 +++--- plugins/Anonymous/locale/fr.po | 2 +- plugins/Channel/locale/fr.po | 20 ++++++++++---------- plugins/Herald/locale/fr.po | 2 +- plugins/MessageParser/locale/fr.po | 4 ++-- plugins/Owner/locale/fr.po | 6 +++--- plugins/Topic/locale/fr.po | 2 +- plugins/User/locale/fr.po | 2 +- 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/locale/fr.po b/locale/fr.po index 1bc929a46..bb2768c59 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -360,7 +360,7 @@ msgid "" " the necessary capability. You may wish to make this True if you don't want\n" " users to understand the underlying security system preventing them from\n" " running certain commands." -msgstr "Détermine si le bot enverra un message d'erreur aux utilisateurs qui tentent d'appeler une commande pour laquelle ils n'ont pas de permission suffisante. Vous pouvez le mettre à True si vous ne voulez pas que les utilisateurs comprennent le système sous-jacent de permissions pour lancer certaines commandes." +msgstr "Détermine si le bot enverra un message d'erreur aux utilisateurs qui tentent d'appeler une commande pour laquelle ils n'ont pas de capacité suffisante. Vous pouvez le mettre à True si vous ne voulez pas que les utilisateurs comprennent le système sous-jacent de capacités pour lancer certaines commandes." #: conf.py:383 msgid "" @@ -421,7 +421,7 @@ msgid "" " channel when it's invited. If this value is False, the bot will only join\n" " a channel if the user inviting it has the 'admin' capability (or if it's\n" " explicitly told to join the channel using the Admin.join command)" -msgstr "Détermine si le bot joindra toujours les canaux sur lesquels il est invité. Si cette valeur est à False, le bot ne joindra un canal que si l'utilisateur l'invitant a la permission 'admin' (ou si il lui a directement envoyé la commande Admin join)" +msgstr "Détermine si le bot joindra toujours les canaux sur lesquels il est invité. Si cette valeur est à False, le bot ne joindra un canal que si l'utilisateur l'invitant a la capacité 'admin' (ou si il lui a directement envoyé la commande Admin join)" #: conf.py:429 msgid "" @@ -543,7 +543,7 @@ msgid "" " think that you should have this capability, be sure that you are identified\n" " before trying again. The 'whoami' command can tell you if you're\n" " identified." -msgstr "Vous n'avez pas la permission %s. Si vous pensez que vous l'avez, assurez-vous d'être identifié(e) et réessayez. La commande 'whoami' vous dit si vous êtes identifié(e)." +msgstr "Vous n'avez pas la capacité %s. Si vous pensez que vous l'avez, assurez-vous d'être identifié(e) et réessayez. La commande 'whoami' vous dit si vous êtes identifié(e)." #: conf.py:513 msgid "" @@ -562,7 +562,7 @@ msgid "" " supybot.capabilities.default is set to False, meaning that no commands are\n" " allowed unless explicitly in your capabilities. Either way, you can't do\n" " what you want to do." -msgstr "Il vous manque une permission. Ceci peut être dû au fait que vous possédez actuellement une anti-permission quant à la commande que vous tentez d'utiliser, ou que le canal fourni cette anti-capacité par défaut, ou parce que les permissions globales incluent cette anti-capacité. Cela peut également être du au fait que supybot.capabilities.default est défini à False, ce qui signifit qu'une commande n'est autorisée par défaut (elles doivent être autorisées une par une par un administrateur). En clair, vous ne pouvez pas le faire." +msgstr "Il vous manque une capacité. Ceci peut être dû au fait que vous possédez actuellement une anti-capacité quant à la commande que vous tentez d'utiliser, ou que le canal fourni cette anti-capacité par défaut, ou parce que les capacités globales incluent cette anti-capacité. Cela peut également être du au fait que supybot.capabilities.default est défini à False, ce qui signifit qu'une commande n'est autorisée par défaut (elles doivent être autorisées une par une par un administrateur). En clair, vous ne pouvez pas le faire." #: conf.py:526 msgid "" @@ -570,7 +570,7 @@ msgid "" " someone that they aren't cool enough to use the command they tried to use,\n" " and the author of the code calling errorNoCapability didn't provide an\n" " explicit capability for whatever reason." -msgstr "Détermine le message d'erreur générique qui est donné par le bot pour dire à quelqu'un qu'il n'a pas les permissions requises pour utiliser une commande qu'il essaye d'utiliser, si l'auteur du code appelant errorNoCapability ne fourni pas d'information explicite sur la raison de ce refus." +msgstr "Détermine le message d'erreur générique qui est donné par le bot pour dire à quelqu'un qu'il n'a pas les capacités requises pour utiliser une commande qu'il essaye d'utiliser, si l'auteur du code appelant errorNoCapability ne fourni pas d'information explicite sur la raison de ce refus." #: conf.py:532 msgid "" diff --git a/plugins/Admin/locale/fr.po b/plugins/Admin/locale/fr.po index 88c6d002e..314a7fe75 100644 --- a/plugins/Admin/locale/fr.po +++ b/plugins/Admin/locale/fr.po @@ -133,7 +133,7 @@ msgstr "La capabilité \"owner\" ne peut être ajoutée via le bot. Utilisez le #: plugin.py:283 msgid "You can't add capabilities you don't have." -msgstr "Vous ne pouvez ajouter des permissions que vous n'avez pas." +msgstr "Vous ne pouvez ajouter des capacités que vous n'avez pas." #: plugin.py:288 msgid "" @@ -149,11 +149,11 @@ msgstr "" #: plugin.py:300 msgid "That user doesn't have that capability." -msgstr "Cet utilisateur n'a pas cette permission." +msgstr "Cet utilisateur n'a pas cette capacité." #: plugin.py:302 msgid "You can't remove capabilities you don't have." -msgstr "Vous ne pouvez retirer des permissions que vous n'avez pas." +msgstr "Vous ne pouvez retirer des capacités que vous n'avez pas." #: plugin.py:310 msgid "" diff --git a/plugins/Anonymous/locale/fr.po b/plugins/Anonymous/locale/fr.po index 527d8bc2a..a56140e97 100644 --- a/plugins/Anonymous/locale/fr.po +++ b/plugins/Anonymous/locale/fr.po @@ -30,7 +30,7 @@ msgstr "Détermine si le bot requiérera que les personnes utilisant ce plugin s msgid "" "Determines what capability (if any) the bot should\n" " require people trying to use this plugin to have." -msgstr "Détermine quelle permission (s'il y en a une) le bot requiéra que les gens utilisant ce plugin aient." +msgstr "Détermine quelle capacité (s'il y en a une) le bot requiéra que les gens utilisant ce plugin aient." #: config.py:59 msgid "" diff --git a/plugins/Channel/locale/fr.po b/plugins/Channel/locale/fr.po index d9fc7bdfe..71834f9e1 100644 --- a/plugins/Channel/locale/fr.po +++ b/plugins/Channel/locale/fr.po @@ -116,7 +116,7 @@ msgid "" msgstr "" "[] [ ...]\n" "\n" -"Si vous avez la permission #canal,op, ceci vous permet de oper tous les s. Si vous ne fournissez aucun , ceci vous opera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." +"Si vous avez la capacité #canal,op, ceci vous permet de oper tous les s. Si vous ne fournissez aucun , ceci vous opera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." #: plugin.py:147 msgid "op someone" @@ -134,7 +134,7 @@ msgid "" msgstr "" "[] [ ...]\n" "\n" -"Si vous avez la permission #canal,halfop, ceci vous permet de halfoper tous les s. Si vous ne fournissez aucun , ceci vous halfopera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." +"Si vous avez la capacité #canal,halfop, ceci vous permet de halfoper tous les s. Si vous ne fournissez aucun , ceci vous halfopera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." #: plugin.py:163 msgid "halfop someone" @@ -152,7 +152,7 @@ msgid "" msgstr "" "[] [ ...]\n" "\n" -"Si vous avez la permission #canal,voice, ceci vous permet de voicer tous les s. Si vous ne fournissez aucun , ceci vous voicera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." +"Si vous avez la capacité #canal,voice, ceci vous permet de voicer tous les s. Si vous ne fournissez aucun , ceci vous voicera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." #: plugin.py:190 msgid "voice someone" @@ -169,7 +169,7 @@ msgid "" msgstr "" "[] [ ...]\n" "\n" -"Si vous avez la permission #canal,op, ceci vous permet de déoper tous les s. Si vous ne fournissez aucun , ceci vous déopera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." +"Si vous avez la capacité #canal,op, ceci vous permet de déoper tous les s. Si vous ne fournissez aucun , ceci vous déopera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." #: plugin.py:202 msgid "I cowardly refuse to deop myself. If you really want me deopped, tell me to op you and then deop me yourself." @@ -190,7 +190,7 @@ msgid "" msgstr "" "[] [ ...]\n" "\n" -"Si vous avez la permission #canal,op, ceci vous permet de déhalfoper tous les s. Si vous ne fournissez aucun , ceci vous déhalfopera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." +"Si vous avez la capacité #canal,op, ceci vous permet de déhalfoper tous les s. Si vous ne fournissez aucun , ceci vous déhalfopera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." #: plugin.py:222 msgid "I cowardly refuse to dehalfop myself. If you really want me dehalfopped, tell me to op you and then dehalfop me yourself." @@ -211,7 +211,7 @@ msgid "" msgstr "" "[] [ ...]\n" "\n" -"Si vous avez la permission #canal,op, ceci vous permet de dévoicer tous les s. Si vous ne fournissez aucun , ceci vous dévoicera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." +"Si vous avez la capacité #canal,op, ceci vous permet de dévoicer tous les s. Si vous ne fournissez aucun , ceci vous dévoicera. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." #: plugin.py:242 msgid "I cowardly refuse to devoice myself. If you really want me devoiced, tell me to op you and then devoice me yourself." @@ -531,7 +531,7 @@ msgid "" msgstr "" "[] [ ...]\n" "\n" -" Vous permet de prendre la de l'utilisateur (ou celui à qui appartient le , à condition que vous ayez la permission #canal,op. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." +" Vous permet de prendre la de l'utilisateur (ou celui à qui appartient le , à condition que vous ayez la capacité #canal,op. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." #: plugin.py:653 msgid "That user didn't have the %L %s." @@ -580,7 +580,7 @@ msgstr "" #: plugin.py:711 msgid "capability" -msgstr "permission" +msgstr "capacité" #: plugin.py:714 msgid "I do not know about the %L %s." @@ -611,7 +611,7 @@ msgid "" msgstr "" "[] [] []\n" "\n" -" Si vous avez la permission #canal,op, ceci désactive la sur le . Si le est fourni, toutes les commandes de ce plugin seront désactivées. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." +" Si vous avez la capacité #canal,op, ceci désactive la sur le . Si le est fourni, toutes les commandes de ce plugin seront désactivées. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." #: plugin.py:749 #: plugin.py:788 @@ -636,7 +636,7 @@ msgid "" msgstr "" "[] [] []\n" "\n" -"Si vous avez la permission #canal,op, ceci activera la sur le , si elle a auparavant été désactivée. Si le seule la commande de ce plugin sera activée. n'est nécessaire n'est pas envoyé sur le canal lui-même." +"Si vous avez la capacité #canal,op, ceci activera la sur le , si elle a auparavant été désactivée. Si le seule la commande de ce plugin sera activée. n'est nécessaire n'est pas envoyé sur le canal lui-même." #: plugin.py:809 msgid "%s was not disabled." diff --git a/plugins/Herald/locale/fr.po b/plugins/Herald/locale/fr.po index 830c2c3f4..05b446ada 100644 --- a/plugins/Herald/locale/fr.po +++ b/plugins/Herald/locale/fr.po @@ -24,7 +24,7 @@ msgstr "Détermine si les messages seront envoyés sur le canal lorsqu'un utilis msgid "" "Determines what capability (if any) is required to\n" " add/change/remove the herald of another user." -msgstr "Détermine quelle permission (s'il en est une) est requise pour ajouter/changer/supprimer le message d'annonce d'un autre utilisateur." +msgstr "Détermine quelle capacité (s'il en est une) est requise pour ajouter/changer/supprimer le message d'annonce d'un autre utilisateur." #: config.py:53 msgid "" diff --git a/plugins/MessageParser/locale/fr.po b/plugins/MessageParser/locale/fr.po index 64968eefa..abddb5c84 100644 --- a/plugins/MessageParser/locale/fr.po +++ b/plugins/MessageParser/locale/fr.po @@ -46,7 +46,7 @@ msgid "" " channel-level capabilities.\n" " Note that absence of an explicit anticapability means user has\n" " capability." -msgstr "Détermine les capacités requises (s'il y en a) pour gérer la base de données d'expressions régulières, ce qui inclue l'ajout, la suppression, le verrouillage, et le déverrouillage. Utilisez 'canal,capa' pour des permissions par canal. Notez que l'absence de toute anti-capacité explicite signifit que l'utilisateur peut le faire." +msgstr "Détermine les capacités requises (s'il y en a) pour gérer la base de données d'expressions régulières, ce qui inclue l'ajout, la suppression, le verrouillage, et le déverrouillage. Utilisez 'canal,capa' pour des capacités par canal. Notez que l'absence de toute anti-capacité explicite signifit que l'utilisateur peut le faire." #: config.py:69 msgid "" @@ -237,5 +237,5 @@ msgid "" msgstr "" "[]\n" "\n" -"Fait un vacuum de la base de données pour le .Lisez la documentation de SQLite sur cette fonctionnalité : http://www.sqlite.org/lang_vacuum.htmlVérifie d'abord si l'utilisateur a bien la permission spécifiée dans la variable de configuration supybot.plugins.requireVacuumCapability n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." +"Fait un vacuum de la base de données pour le .Lisez la documentation de SQLite sur cette fonctionnalité : http://www.sqlite.org/lang_vacuum.htmlVérifie d'abord si l'utilisateur a bien la capacité spécifiée dans la variable de configuration supybot.plugins.requireVacuumCapability n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." diff --git a/plugins/Owner/locale/fr.po b/plugins/Owner/locale/fr.po index c20805298..87cd7cdd9 100644 --- a/plugins/Owner/locale/fr.po +++ b/plugins/Owner/locale/fr.po @@ -149,9 +149,9 @@ msgid "" " supybot.capabilities stores these).\n" " " msgstr "" -"{add|remove} \n" +"{add|remove} \n" "\n" -"Ajoute ou supprime (en fonction du premier argument) la à la liste des permissions par défaut données aux utilisateurs (stockée dans la variable de configuration supybot.capabilities)." +"Ajoute ou supprime (en fonction du premier argument) la à la liste des capacités par défaut données aux utilisateurs (stockée dans la variable de configuration supybot.capabilities)." #: plugin.py:525 msgid "" @@ -166,7 +166,7 @@ msgid "" msgstr "" "[] \n" "\n" -"Désactive la pour tous les utilisateurs (y compris le propriétaire. Si le est donné, ne désactive la que pour le . Si vous voulez désactiver la commande pour tous les utilisateurs sauf vous-même, définissez la permission par défaut -plugin.command ou -command." +"Désactive la pour tous les utilisateurs (y compris le propriétaire. Si le est donné, ne désactive la que pour le . Si vous voulez désactiver la commande pour tous les utilisateurs sauf vous-même, définissez la capacité par défaut -plugin.command ou -command." #: plugin.py:552 msgid "" diff --git a/plugins/Topic/locale/fr.po b/plugins/Topic/locale/fr.po index a5d70583b..a5d106512 100644 --- a/plugins/Topic/locale/fr.po +++ b/plugins/Topic/locale/fr.po @@ -59,7 +59,7 @@ msgid "" " channel-level capabilities.\n" " Note that absence of an explicit anticapability means user has\n" " capability." -msgstr "Détermine les permissions requises (s'il y en a) pour changer le topic (c'est à dire tout ce qui n'est pas une opération en lecture seule). Utilisez #canal,capacité pour les capacités de canaux. Notez qu'en l'absence d'une anticapacité explicite, l'utilisateur a cette capacité." +msgstr "Détermine les capacités requises (s'il y en a) pour changer le topic (c'est à dire tout ce qui n'est pas une opération en lecture seule). Utilisez #canal,capacité pour les capacités de canaux. Notez qu'en l'absence d'une anticapacité explicite, l'utilisateur a cette capacité." #: plugin.py:57 msgid "I'm not currently in %s." diff --git a/plugins/User/locale/fr.po b/plugins/User/locale/fr.po index 0018f89af..0ca1e4e61 100644 --- a/plugins/User/locale/fr.po +++ b/plugins/User/locale/fr.po @@ -21,7 +21,7 @@ msgid "" " not given, returns all registered usernames.\n" " " msgstr "" -"[--capacility=] []\n" +"[--capacility=] []\n" "\n" "Retourne les utilisateurs enregistrés correspondant au . Si n'est pas donné, retourne tous les noms d'utilisateur." From e41dedb1124bba8428cc9ff92c617374cb8c6a5c Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 4 Jun 2011 17:59:35 +0200 Subject: [PATCH 004/244] Games: fix typo (die -> dice) --- plugins/Games/locale/fr.po | 2 +- plugins/Games/messages.pot | 2 +- plugins/Games/plugin.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/Games/locale/fr.po b/plugins/Games/locale/fr.po index bdeabee12..321c7b552 100644 --- a/plugins/Games/locale/fr.po +++ b/plugins/Games/locale/fr.po @@ -40,7 +40,7 @@ msgstr "pile" msgid "" "d\n" "\n" -" Rolls a die with number of sides times.\n" +" Rolls a dice with number of sides times.\n" " For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10\n" " ten-sided dice.\n" " " diff --git a/plugins/Games/messages.pot b/plugins/Games/messages.pot index 3f15674d2..1958f5ff6 100644 --- a/plugins/Games/messages.pot +++ b/plugins/Games/messages.pot @@ -37,7 +37,7 @@ msgstr "" msgid "" "d\n" "\n" -" Rolls a die with number of sides times.\n" +" Rolls a dice with number of sides times.\n" " For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10\n" " ten-sided dice.\n" " " diff --git a/plugins/Games/plugin.py b/plugins/Games/plugin.py index 931c79d2d..f6b720224 100644 --- a/plugins/Games/plugin.py +++ b/plugins/Games/plugin.py @@ -57,7 +57,7 @@ class Games(callbacks.Plugin): def dice(self, irc, msg, args, m): """d - Rolls a die with number of sides times. + Rolls a dice with number of sides times. For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10 ten-sided dice. """ From 73cf53f8e66442bfbd405e62ca94104b37e9ca35 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 5 Jun 2011 19:58:50 +0200 Subject: [PATCH 005/244] Revert "Games: fix typo (die -> dice)" This reverts commit e41dedb1124bba8428cc9ff92c617374cb8c6a5c. --- plugins/Games/locale/fr.po | 2 +- plugins/Games/messages.pot | 2 +- plugins/Games/plugin.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/Games/locale/fr.po b/plugins/Games/locale/fr.po index 321c7b552..bdeabee12 100644 --- a/plugins/Games/locale/fr.po +++ b/plugins/Games/locale/fr.po @@ -40,7 +40,7 @@ msgstr "pile" msgid "" "d\n" "\n" -" Rolls a dice with number of sides times.\n" +" Rolls a die with number of sides times.\n" " For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10\n" " ten-sided dice.\n" " " diff --git a/plugins/Games/messages.pot b/plugins/Games/messages.pot index 1958f5ff6..3f15674d2 100644 --- a/plugins/Games/messages.pot +++ b/plugins/Games/messages.pot @@ -37,7 +37,7 @@ msgstr "" msgid "" "d\n" "\n" -" Rolls a dice with number of sides times.\n" +" Rolls a die with number of sides times.\n" " For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10\n" " ten-sided dice.\n" " " diff --git a/plugins/Games/plugin.py b/plugins/Games/plugin.py index f6b720224..931c79d2d 100644 --- a/plugins/Games/plugin.py +++ b/plugins/Games/plugin.py @@ -57,7 +57,7 @@ class Games(callbacks.Plugin): def dice(self, irc, msg, args, m): """d - Rolls a dice with number of sides times. + Rolls a die with number of sides times. For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10 ten-sided dice. """ From 6c1699583b23f13b5a76f67a597505097df14cc3 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 5 Jun 2011 20:30:32 +0200 Subject: [PATCH 006/244] Misc: use Limnoria version string. --- plugins/Misc/plugin.py | 18 ++++++++++++++---- src/version.py | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/plugins/Misc/plugin.py b/plugins/Misc/plugin.py index 4f9510148..14ca111bc 100644 --- a/plugins/Misc/plugin.py +++ b/plugins/Misc/plugin.py @@ -28,6 +28,7 @@ # POSSIBILITY OF SUCH DAMAGE. ### +import re import os import sys import time @@ -212,13 +213,22 @@ class Misc(callbacks.Plugin): Returns the version of the current bot. """ try: - newest = utils.web.getUrl('http://supybot.sf.net/version.txt') - newest = _('The newest version available online is %s.') % \ - newest.strip() + newestUrl = 'https://github.com/ProgVal/Limnoria/raw/%s/' + \ + 'src/version.py' + versions = {} + for branch in ('master', 'testing'): + file = utils.web.getUrl(newestUrl % branch) + match = re.search(r"^version = '([^']+)'$", file, re.M) + if match is None: + continue + versions[branch] = match.group(1) + newest = _('The newest versions available online are %s.') % \ + ', '.join(['%s (in %s)' % (y,x) + for x,y in versions.items()]) except utils.web.Error, e: self.log.info('Couldn\'t get website version: %s', e) newest = _('I couldn\'t fetch the newest version ' - 'from the Supybot website.') + 'from the Limnoria repository.') s = _('The current (running) version of this Supybot is %s. %s') % \ (conf.version, newest) irc.reply(s) diff --git a/src/version.py b/src/version.py index c772ecd95..e70bdf65e 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-05-27T18:16:23+0200)' +version = '0.83.4.1+limnoria (2011-06-05T20:30:31+0200)' From 28a3067eeeb5de297f36e9c7a98423d801220bd2 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Mon, 6 Jun 2011 19:06:52 +0200 Subject: [PATCH 007/244] Misc: update i18n and l10n-fr --- plugins/Misc/locale/fr.po | 60 ++++++++++++++++++------------- plugins/Misc/messages.pot | 76 ++++++++++++++++++++------------------- plugins/Misc/plugin.py | 2 +- 3 files changed, 77 insertions(+), 61 deletions(-) diff --git a/plugins/Misc/locale/fr.po b/plugins/Misc/locale/fr.po index 560125e56..304287d31 100644 --- a/plugins/Misc/locale/fr.po +++ b/plugins/Misc/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2010-10-17 15:35+CEST\n" +"POT-Creation-Date: 2011-06-06 19:05+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -123,19 +123,23 @@ msgstr "" "\n" "Retourne la version actuelle du bot" -#: plugin.py:217 -msgid "The newest version available online is %s." -msgstr "La dernière version disponible en ligne est %s." +#: plugin.py:225 +msgid "The newest versions available online are %s." +msgstr "Les dernières versions disponibles en ligne sont %s." -#: plugin.py:221 -msgid "I couldn't fetch the newest version from the Supybot website." -msgstr "Je ne peux récupérer la dernière version sur le site de Supybot." +#: plugin.py:226 +msgid "%s (in %s)" +msgstr "%s (dans %s)" -#: plugin.py:223 +#: plugin.py:230 +msgid "I couldn't fetch the newest version from the Limnoria repository." +msgstr "Je ne peux récupérer la dernière version sur le dépôt de Limnoria." + +#: plugin.py:232 msgid "The current (running) version of this Supybot is %s. %s" msgstr "La version de ce Supybot est %s. %s" -#: plugin.py:230 +#: plugin.py:239 msgid "" "takes no arguments\n" "\n" @@ -146,11 +150,11 @@ msgstr "" "\n" "Retourne une URL disant où trouver Supybot." -#: plugin.py:234 +#: plugin.py:243 msgid "My source is at http://supybot.com/" msgstr "Ma source est disponible sur http://supybot.com/" -#: plugin.py:239 +#: plugin.py:248 msgid "" "[]\n" "\n" @@ -164,23 +168,31 @@ msgstr "" "\n" "Si la dernière commande était tronquée par les limitations de taille des messages sur IRC, retourne le morceau suivant résultant de la dernière commande. Si le est donné, continue la dernière commande du plutôt que de la personne envoyant ce message." -#: plugin.py:253 +#: plugin.py:262 msgid "%s has no public mores." msgstr "%s n'a pas de 'more' public." -#: plugin.py:256 +#: plugin.py:265 msgid "Sorry, I can't find any mores for %s" msgstr "Désolé, je ne peux trouver de 'more' pour %s" -#: plugin.py:265 +#: plugin.py:272 +msgid "more message" +msgstr "autre message" + +#: plugin.py:274 +msgid "more messages" +msgstr "autres messages" + +#: plugin.py:278 msgid "You haven't asked me a command; perhaps you want to see someone else's more. To do so, call this command with that person's nick." msgstr "Vous ne m'avez donné aucune commande. Peut-être que vous voulez voir celle de quelqu'un d'autre. Pour cela, appelez cette commande en ajoutant le nick de cette personne." -#: plugin.py:269 +#: plugin.py:282 msgid "That's all, there is no more." msgstr "C'est tout, il n'y a plus de 'more'" -#: plugin.py:279 +#: plugin.py:292 msgid "" "[--{from,in,on,with,without,regexp} ] [--nolimit]\n" "\n" @@ -197,11 +209,11 @@ msgstr "" "\n" "Retourne le dernier message correspondant aux critères donnés. --from requiert le nick de la personne qui a envoyé le message ; --in requiert le canal sur lequel a été envoyé le message ; --with requiert une chaîne qui doit être dans le message --regexp requiert une expression régulière à laquelle le message doit correspondre ; --nolimit retourne tous les messages qui peuvent être trouvés. Par défaut, recherche dans les logs du canal sur lequel est envoyée cette commande." -#: plugin.py:373 +#: plugin.py:386 msgid "I couldn't find a message matching that criteria in my history of %s messages." msgstr "Je ne peux trouver de message correspondant à ce critère dans mon historique de %s messages." -#: plugin.py:388 +#: plugin.py:401 msgid "" " \n" "\n" @@ -213,23 +225,23 @@ msgstr "" "\n" "Dit le au . Utile si vous utilisez des commandes imbriquées." -#: plugin.py:396 +#: plugin.py:409 msgid "Dude, just give the command. No need for the tell." msgstr "Mec, contentes-toi de me donner la commande. Pas besoin d'utiliser 'tell'." -#: plugin.py:401 +#: plugin.py:414 msgid "You just told me, why should I tell myself?" msgstr "Vous venez de me le dire, pourquoi devrais-je me le dire moi-même ?" -#: plugin.py:406 +#: plugin.py:419 msgid "I haven't seen %s, I'll let you do the telling." msgstr "Je n'ai pas vu %s, je vous laisse lui dire." -#: plugin.py:411 +#: plugin.py:424 msgid "%s wants me to tell you: %s" msgstr "%s veut que je vous dise : %s" -#: plugin.py:417 +#: plugin.py:430 msgid "" "takes no arguments\n" "\n" @@ -240,7 +252,7 @@ msgstr "" "\n" "Vérifie si le bot est encore en vie." -#: plugin.py:421 +#: plugin.py:434 msgid "pong" msgstr "pong" diff --git a/plugins/Misc/messages.pot b/plugins/Misc/messages.pot index 61ee56d81..0cffa4cff 100644 --- a/plugins/Misc/messages.pot +++ b/plugins/Misc/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-06-06 19:05+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -45,15 +45,15 @@ msgid "" " command" msgstr "" -#: plugin.py:80 +#: plugin.py:81 msgid "You've given me %s invalid commands within the last minute; I'm now ignoring you for %s." msgstr "" -#: plugin.py:92 +#: plugin.py:93 msgid "The %q plugin is loaded, but there is no command named %q in it. Try \"list %s\" to see the commands in the %q plugin." msgstr "" -#: plugin.py:118 +#: plugin.py:119 #, docstring msgid "" "[--private] []\n" @@ -64,19 +64,19 @@ msgid "" " " msgstr "" -#: plugin.py:143 +#: plugin.py:144 msgid "There are no private plugins." msgstr "" -#: plugin.py:145 +#: plugin.py:146 msgid "There are no public plugins." msgstr "" -#: plugin.py:152 +#: plugin.py:153 msgid "That plugin exists, but has no commands. This probably means that it has some configuration variables that can be changed in order to modify its behavior. Try \"config list supybot.plugins.%s\" to see what configuration variables it has." msgstr "" -#: plugin.py:163 +#: plugin.py:164 #, docstring msgid "" "\n" @@ -86,11 +86,11 @@ msgid "" " " msgstr "" -#: plugin.py:182 +#: plugin.py:183 msgid "No appropriate commands were found." msgstr "" -#: plugin.py:187 +#: plugin.py:188 #, docstring msgid "" "[] []\n" @@ -100,15 +100,15 @@ msgid "" " " msgstr "" -#: plugin.py:197 +#: plugin.py:198 msgid "That command exists in the %L plugins. Please specify exactly which plugin command you want help with." msgstr "" -#: plugin.py:204 +#: plugin.py:205 msgid "There is no command %q." msgstr "" -#: plugin.py:210 +#: plugin.py:211 #, docstring msgid "" "takes no arguments\n" @@ -117,19 +117,23 @@ msgid "" " " msgstr "" -#: plugin.py:216 -msgid "The newest version available online is %s." +#: plugin.py:225 +msgid "The newest versions available online are %s." msgstr "" -#: plugin.py:220 -msgid "I couldn't fetch the newest version from the Supybot website." +#: plugin.py:226 +msgid "%s (in %s)" msgstr "" -#: plugin.py:222 +#: plugin.py:230 +msgid "I couldn't fetch the newest version from the Limnoria repository." +msgstr "" + +#: plugin.py:232 msgid "The current (running) version of this Supybot is %s. %s" msgstr "" -#: plugin.py:229 +#: plugin.py:239 #, docstring msgid "" "takes no arguments\n" @@ -138,11 +142,11 @@ msgid "" " " msgstr "" -#: plugin.py:233 +#: plugin.py:243 msgid "My source is at http://supybot.com/" msgstr "" -#: plugin.py:238 +#: plugin.py:248 #, docstring msgid "" "[]\n" @@ -154,31 +158,31 @@ msgid "" " " msgstr "" -#: plugin.py:252 +#: plugin.py:262 msgid "%s has no public mores." msgstr "" -#: plugin.py:255 +#: plugin.py:265 msgid "Sorry, I can't find any mores for %s" msgstr "" -#: plugin.py:262 +#: plugin.py:272 msgid "more message" msgstr "" -#: plugin.py:264 +#: plugin.py:274 msgid "more messages" msgstr "" -#: plugin.py:268 +#: plugin.py:278 msgid "You haven't asked me a command; perhaps you want to see someone else's more. To do so, call this command with that person's nick." msgstr "" -#: plugin.py:272 +#: plugin.py:282 msgid "That's all, there is no more." msgstr "" -#: plugin.py:282 +#: plugin.py:292 #, docstring msgid "" "[--{from,in,on,with,without,regexp} ] [--nolimit]\n" @@ -193,11 +197,11 @@ msgid "" " " msgstr "" -#: plugin.py:376 +#: plugin.py:386 msgid "I couldn't find a message matching that criteria in my history of %s messages." msgstr "" -#: plugin.py:391 +#: plugin.py:401 #, docstring msgid "" " \n" @@ -207,23 +211,23 @@ msgid "" " " msgstr "" -#: plugin.py:399 +#: plugin.py:409 msgid "Dude, just give the command. No need for the tell." msgstr "" -#: plugin.py:404 +#: plugin.py:414 msgid "You just told me, why should I tell myself?" msgstr "" -#: plugin.py:409 +#: plugin.py:419 msgid "I haven't seen %s, I'll let you do the telling." msgstr "" -#: plugin.py:414 +#: plugin.py:424 msgid "%s wants me to tell you: %s" msgstr "" -#: plugin.py:420 +#: plugin.py:430 #, docstring msgid "" "takes no arguments\n" @@ -232,7 +236,7 @@ msgid "" " " msgstr "" -#: plugin.py:424 +#: plugin.py:434 msgid "pong" msgstr "" diff --git a/plugins/Misc/plugin.py b/plugins/Misc/plugin.py index 14ca111bc..483098007 100644 --- a/plugins/Misc/plugin.py +++ b/plugins/Misc/plugin.py @@ -223,7 +223,7 @@ class Misc(callbacks.Plugin): continue versions[branch] = match.group(1) newest = _('The newest versions available online are %s.') % \ - ', '.join(['%s (in %s)' % (y,x) + ', '.join([_('%s (in %s)') % (y,x) for x,y in versions.items()]) except utils.web.Error, e: self.log.info('Couldn\'t get website version: %s', e) From 7ce41c78adc53f64ac35104ff86c50a1e05f5a7c Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Tue, 7 Jun 2011 06:08:07 +0200 Subject: [PATCH 008/244] Admin: fix typo in French translation --- plugins/Admin/locale/fr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Admin/locale/fr.po b/plugins/Admin/locale/fr.po index 314a7fe75..22034eb42 100644 --- a/plugins/Admin/locale/fr.po +++ b/plugins/Admin/locale/fr.po @@ -129,7 +129,7 @@ msgstr "" #: plugin.py:272 msgid "The \"owner\" capability can't be added in the bot. Use the supybot-adduser program (or edit the users.conf file yourself) to add an owner capability." -msgstr "La capabilité \"owner\" ne peut être ajoutée via le bot. Utilisez le programme supybot-adduser (ou éditez le fichier users.conf vous-même) pour ajouter la capacité owner." +msgstr "La capacité \"owner\" ne peut être ajoutée via le bot. Utilisez le programme supybot-adduser (ou éditez le fichier users.conf vous-même) pour ajouter la capacité owner." #: plugin.py:283 msgid "You can't add capabilities you don't have." From c85daa4fb10a78d925fd941701b43fa56b901971 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Tue, 7 Jun 2011 20:52:51 +0200 Subject: [PATCH 009/244] Conditional: Add Finnish translation. --- plugins/Conditional/locale/fi.po | 266 +++++++++++++++++++++++++++++++ 1 file changed, 266 insertions(+) create mode 100644 plugins/Conditional/locale/fi.po diff --git a/plugins/Conditional/locale/fi.po b/plugins/Conditional/locale/fi.po new file mode 100644 index 000000000..53c39c765 --- /dev/null +++ b/plugins/Conditional/locale/fi.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2010-11-02 11:39+CET\n" +"PO-Revision-Date: 2011-06-07 21:48+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:64 +msgid "" +"Add the help for \"@plugin help Conditional\" here\n" +" This should describe *how* to use this plugin." +msgstr "" +"Lisää ohje \"@plugin help Conditional\" tähän.\n" +" Tämän pitäisi kuvata *kuinka* tätä lisäosaa käytetään." + +#: plugin.py:71 +msgid "Run a command from message, as if command was sent over IRC." +msgstr "Suorita komento viestistä, kuin komento olisi lähetetty IRC:stä." + +#: plugin.py:80 +msgid "" +" \n" +" \n" +" Runs if evaluates to true, runs \n" +" if it evaluates to false.\n" +" \n" +" Use other logical operators defined in this plugin and command nesting\n" +" to your advantage here.\n" +" " +msgstr "" +" \n" +" \n" +" Suorittaa jos arvioituu todeksi, suorittaa \n" +" jos se arvioituu vääräksi.\n" +" \n" +"Käytä toisia loogisia operaatioita, jotka on määritetty lisäosassa ja rinnastettuja komentoja\n" +"eduksesi tässä.\n" +" " + +#: plugin.py:97 +msgid "" +" [ ... ]\n" +" \n" +" Returns true if all conditions supplied evaluate to true.\n" +" " +msgstr "" +" [ ... ]\n" +" \n" +"Palauttaa kaikki edellytykset jotka tukevat arviotumista todeksi.\n" +" " + +#: plugin.py:109 +msgid "" +" [ ... ]\n" +" \n" +" Returns true if any one of conditions supplied evaluates to true.\n" +" " +msgstr "" +" [ ... ]\n" +" \n" +" Palauttaa toden, jos yksikään edellytys tukee arvioimista todeksi.\n" +" " + +#: plugin.py:121 +msgid "" +" [ ... ]\n" +" \n" +" Returns true if only one of conditions supplied evaluates to true.\n" +" " +msgstr "" +" [ ... ]\n" +" \n" +"Palauttaa toden, jos vain yksi edellytys tukee arvioimista todeksi.\n" +" " + +#: plugin.py:133 +msgid "" +" \n" +" \n" +" Does a string comparison on and . \n" +" Returns true if they are equal.\n" +" " +msgstr "" +" \n" +" \n" +" Tekee ketju vertailun ja . \n" +" Palauttaa toden jos ne ovat yhtäläisia.\n" +" " + +#: plugin.py:146 +msgid "" +" \n" +" \n" +" Does a string comparison on and . \n" +" Returns true if they are not equal.\n" +" " +msgstr "" +" \n" +" \n" +" Tekee ketju vertailun ja . \n" +" Palauttaa toden, jos ne eivät ole yhtäläisia.\n" +" " + +#: plugin.py:159 +msgid "" +" \n" +" \n" +" Does a string comparison on and . \n" +" Returns true if is greater than .\n" +" " +msgstr "" +" \n" +" \n" +" tekee ketju vertailun ja . \n" +" Palauttaa toden jos on suurempi kuin .\n" +" " + +#: plugin.py:172 +msgid "" +" \n" +" \n" +" Does a string comparison on and . \n" +" Returns true if is greater than or equal to .\n" +" " +msgstr "" +" \n" +" \n" +" Tekee ketju vertailun ja . \n" +" Palauttaa toden jos on suurempi tai yhtäläinen .\n" +" " + +#: plugin.py:185 +msgid "" +" \n" +" \n" +" Does a string comparison on and . \n" +" Returns true if is less than .\n" +" " +msgstr "" +" \n" +" \n" +"Tekee ketju vertailun ja . \n" +"Palauttaa toden jos on vähemmän kuin .\n" +" " + +#: plugin.py:198 +msgid "" +" \n" +" \n" +" Does a string comparison on and . \n" +" Returns true if is less than or equal to .\n" +" " +msgstr "" +" \n" +" \n" +" Tekee ketju vertailun ja . \n" +" Palauttaa toden jos on vähemmän tai yhtäläinen .\n" +" " + +#: plugin.py:211 +msgid "" +" \n" +" \n" +" Determines if is a substring of . \n" +" Returns true if is contained in .\n" +" " +msgstr "" +" \n" +" \n" +" Määrittää onko . \n" +" Palauttaa toden, jos .\n" +" " + +#: plugin.py:224 +msgid "" +" \n" +" \n" +" Does a numeric comparison on and . \n" +" Returns true if they are equal.\n" +" " +msgstr "" +" \n" +" \n" +"Tekee numerollisen vertailun ja välillä. \n" +"Palauttaa toden, jos ne ovat yhtäläisiä.\n" +" " + +#: plugin.py:237 +msgid "" +" \n" +" \n" +" Does a numeric comparison on and . \n" +" Returns true if they are not equal.\n" +" " +msgstr "" +" \n" +" \n" +" Tekee numerollisen vertailun ja . \n" +" Palauttaa toden, jos ne eivät ole yhtäläisiä.\n" +" " + +#: plugin.py:250 +msgid "" +" \n" +" \n" +" Does a numeric comparison on and . \n" +" Returns true if they is greater than .\n" +" " +msgstr "" +" \n" +" \n" +" Tekee numerollisen vertailun ja . \n" +" Palauttaa toden jos on suurempi kuin .\n" +" " + +#: plugin.py:263 +msgid "" +" \n" +" \n" +" Does a numeric comparison on and . \n" +" Returns true if is greater than or equal to .\n" +" " +msgstr "" +" \n" +" \n" +" Tekee numerollisen vertailun ja . \n" +" Palauttaa toden, jos on suurempi tai yhtäläinen .\n" +" " + +#: plugin.py:276 +msgid "" +" \n" +" \n" +" Does a numeric comparison on and . \n" +" Returns true if is less than .\n" +" " +msgstr "" +" \n" +" \n" +" Tekee numerollisen vertailun ja . \n" +" Palauttaa toden jos on vähemmän kuin .\n" +" " + +#: plugin.py:289 +msgid "" +" \n" +" \n" +" Does a numeric comparison on and . \n" +" Returns true if is less than or equal to .\n" +" " +msgstr "" +" \n" +" \n" +" Tekee numerollisen vertailun ja . \n" +" Palauttaa toden jos on vähemmän tai yhtäläinen .\n" +" " + From 37f2ef163451a744cb0878b070509ffe33bef29f Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 8 Jun 2011 19:33:21 +0200 Subject: [PATCH 010/244] Ctcp & Dict & Dunno: Add finnish translation --- plugins/Ctcp/locale/fi.po | 64 +++++++++++++++++++++ plugins/Dict/locale/fi.po | 115 +++++++++++++++++++++++++++++++++++++ plugins/Dunno/locale/fi.po | 38 ++++++++++++ 3 files changed, 217 insertions(+) create mode 100644 plugins/Ctcp/locale/fi.po create mode 100644 plugins/Dict/locale/fi.po create mode 100644 plugins/Dunno/locale/fi.po diff --git a/plugins/Ctcp/locale/fi.po b/plugins/Ctcp/locale/fi.po new file mode 100644 index 000000000..0d916ae6d --- /dev/null +++ b/plugins/Ctcp/locale/fi.po @@ -0,0 +1,64 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-08 10:13+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:77 +msgid "PING ?(.*)" +msgstr "PING ?(.*)" + +#: plugin.py:86 +msgid "VERSION" +msgstr "VERSION" + +#: plugin.py:91 +msgid "USERINFO" +msgstr "USERINFO" + +#: plugin.py:96 +msgid "TIME" +msgstr "TIME" + +#: plugin.py:101 +msgid "FINGER" +msgstr "FINGER" + +#: plugin.py:104 +msgid "Supybot, the best Python IRC bot in existence!" +msgstr "Supybot, paras Python IRC botti, joka on olemassa!" + +#: plugin.py:107 +msgid "SOURCE" +msgstr "SOURCE" + +#: plugin.py:123 +msgid "" +"[] [--nicks]\n" +"\n" +" Sends a CTCP VERSION to , returning the various\n" +" version strings returned. It waits for 10 seconds before returning\n" +" the versions received at that point. If --nicks is given, nicks are\n" +" associated with the version strings; otherwise, only the version\n" +" strings are given.\n" +" " +msgstr "" +"[] [--nicks]\n" +"\n" +" Lähettää CTCP VERSION , palauttaen \n" +" palaavat versioketjut. Se odottaa 10 sekuntia ennen kuin palauttaa\n" +" versiot, jotka vastaanotettiin tuolloin. Jos --nicks on annettu, nimimerkit\n" +" liitetään versioketjuihin; muutoin vain versio-\n" +" ketjut annetaan.\n" +" " + diff --git a/plugins/Dict/locale/fi.po b/plugins/Dict/locale/fi.po new file mode 100644 index 000000000..d6764fb91 --- /dev/null +++ b/plugins/Dict/locale/fi.po @@ -0,0 +1,115 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-08 10:59+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:38 +msgid "The default dictd server is dict.org." +msgstr "Oletus dictd palvelin on dict.org." + +#: config.py:39 +msgid "Would you like to specify a different dictd server?" +msgstr "Tahtoisitko määrittää eri dictd palvelimen?" + +#: config.py:45 +msgid "" +"Determines what server the bot will\n" +" retrieve definitions from." +msgstr "" +"Määrittää miltä palvelimelta botti\n" +"hakee määritykset." + +#: config.py:48 +msgid "" +"Determines the default dictionary the bot will\n" +" ask for definitions in. If this value is '*' (without the quotes) the bot\n" +" will use all dictionaries to define words." +msgstr "" +"Määrittää oletus sanakirjan, josta botti \n" +"pyytää määrityksiä. Jos arvo on '*' (ilman lainausmerkkejä) botti\n" +"käyttää kaikkia sanakirjoja määrittääkseen sanat." + +#: plugin.py:54 +#, fuzzy +msgid "" +"takes no arguments\n" +"\n" +" Returns the dictionaries valid for the dict command.\n" +" " +msgstr "" +"Ei ota parametrejä\n" +"\n" +" Palauttaa sanakirjojen kelvollisen dict komennolle.\n" +" " + +#: plugin.py:70 +msgid "" +"takes no arguments\n" +"\n" +" Returns a random valid dictionary.\n" +" " +msgstr "" +"ei ota parametrejä\n" +"\n" +" Palauttaa satunnaisen kelvollisen sanakirjan.\n" +" " + +#: plugin.py:85 +msgid "" +"[] \n" +"\n" +" Looks up the definition of on the dictd server specified by\n" +" the supybot.plugins.Dict.server config variable.\n" +" " +msgstr "" +"[] \n" +"\n" +" Etsii määritystä dictd palvelimelta, joka on määritetty\n" +" supybot.plugins.Dict.server asetus arvossa.\n" +" " + +#: plugin.py:108 +msgid "You must give a word to define." +msgstr "Sinun täytyy antaa sana määritettäväksi." + +#: plugin.py:114 +msgid "No definition for %q could be found." +msgstr "Määritystä %q:lle ei löydetty." + +#: plugin.py:117 +msgid "No definition for %q could be found in %s" +msgstr "Määritystä %q:lle ei löydetty %s:stä." + +#: plugin.py:129 +msgid "%L responded: %s" +msgstr "%L vastasi: %s" + +#: plugin.py:136 +msgid "" +" [ ...]\n" +" Gets a random synonym from the Moby Thesaurus (moby-thes) database.\n" +" \n" +" If given many words, gets a random synonym for each of them.\n" +" \n" +" Quote phrases to have them treated as one lookup word.\n" +" " +msgstr "" +" [ ...]\n" +" Hakee satunnaisen synonyymin Moby Thesaurus (moby-thes) tietokannasta.\n" +" \n" +" Jos monia sanoja on annettu, hakee satunnaisen synonyymin niille kaikille.\n" +" \n" +" Laita lausekkeita lainausmerkkeihin saadaksesi ne kohdelluiksi yhtenä hakusanalla.\n" +" " + diff --git a/plugins/Dunno/locale/fi.po b/plugins/Dunno/locale/fi.po new file mode 100644 index 000000000..d1368e275 --- /dev/null +++ b/plugins/Dunno/locale/fi.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-08 16:50+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:46 +msgid "" +"Determines whether the bot will prefix the nick\n" +" of the user giving an invalid command to the \"dunno\" response." +msgstr "" +"Määrittää lisääkö botti virheellisen komennon antaneen käyttäjän\n" +" nimimerkin etuliitteeksi \"dunno\" vastaukselle." + +#: plugin.py:37 +msgid "" +"This plugin was written initially to work with MoobotFactoids, the two\n" +" of them to provide a similar-to-moobot-and-blootbot interface for factoids.\n" +" Basically, it replaces the standard 'Error: is not a valid command.'\n" +" messages with messages kept in a database, able to give more personable\n" +" responses." +msgstr "" +"Tämä lisäosa kirjoitettiin toimimaan MoobotFactoidsin kanssa, molemmat\n" +" niistä tarjoavat samankaltainen-moobottiin-ja-blootbottiin käyttöliittymä factoideille.\n" +" Yksinkertaisesti, it se korvaa perus 'Virhe: ei ole kelvollinen komento'\n" +" viestit viesteillä, joita pidetään tietokannassa pystyäkseen antamaan persoonallisempia\n" +" vastauksia." + From 7e8a079439dee178c88d8c5a87e75902719418bf Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 9 Jun 2011 20:56:20 +0200 Subject: [PATCH 011/244] Anonymous: Internationalize some strings and localize them into French (thanks to skizzhg). --- plugins/Anonymous/locale/fr.po | 24 ++++++++++++++++++++---- plugins/Anonymous/messages.pot | 18 +++++++++++++++++- plugins/Anonymous/plugin.py | 10 +++++----- 3 files changed, 42 insertions(+), 10 deletions(-) diff --git a/plugins/Anonymous/locale/fr.po b/plugins/Anonymous/locale/fr.po index a56140e97..a67e9bf4b 100644 --- a/plugins/Anonymous/locale/fr.po +++ b/plugins/Anonymous/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2010-10-16 15:14+CEST\n" +"POT-Creation-Date: 2011-06-09 18:26+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -40,7 +40,7 @@ msgid "" " messages to other users." msgstr "Détermine si le bot requiérera que les cibles de la commande \"say\" soient publiques (c'est à dire des canaux). Si c'est True, le bot autorisera les personnes à utiliser la commande \"say\" pour envoyer des messages à d'autres utilisateurs en privé." -#: plugin.py:41 +#: plugin.py:40 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" @@ -55,7 +55,23 @@ msgid "" " " msgstr "" -#: plugin.py:81 +#: plugin.py:64 +msgid "You must be in %s to %q in there." +msgstr "Vous devez être sur %s pour y utiliser %q." + +#: plugin.py:68 +msgid "I'm lobotomized in %s." +msgstr "Je suis lobotomisé sur %s." + +#: plugin.py:71 +msgid "That channel has set its capabilities so as to disallow the use of this plugin." +msgstr "Ce canal a définit ses capacités de façon à désactiver l'utilisation de ce plugin." + +#: plugin.py:74 +msgid "%q cannot be used to send private messages." +msgstr "%q ne peut pas être utilisé pour envoyer des messages privés." + +#: plugin.py:80 msgid "" " \n" "\n" @@ -67,7 +83,7 @@ msgstr "" "\n" "Envoie le au . Vous ne pouvez envoyer à que si /cs register ##fschfsch supybot.plugins.Anonymous.allowPrivateTarget vaut True." -#: plugin.py:95 +#: plugin.py:94 msgid "" " \n" "\n" diff --git a/plugins/Anonymous/messages.pot b/plugins/Anonymous/messages.pot index 299a93fe9..0d3da92d3 100644 --- a/plugins/Anonymous/messages.pot +++ b/plugins/Anonymous/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-06-09 18:26+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -58,6 +58,22 @@ msgid "" " " msgstr "" +#: plugin.py:64 +msgid "You must be in %s to %q in there." +msgstr "" + +#: plugin.py:68 +msgid "I'm lobotomized in %s." +msgstr "" + +#: plugin.py:71 +msgid "That channel has set its capabilities so as to disallow the use of this plugin." +msgstr "" + +#: plugin.py:74 +msgid "%q cannot be used to send private messages." +msgstr "" + #: plugin.py:80 #, docstring msgid "" diff --git a/plugins/Anonymous/plugin.py b/plugins/Anonymous/plugin.py index cdabd7efa..89b411377 100644 --- a/plugins/Anonymous/plugin.py +++ b/plugins/Anonymous/plugin.py @@ -61,17 +61,17 @@ class Anonymous(callbacks.Plugin): if irc.isChannel(target): if self.registryValue('requirePresenceInChannel', target) and \ msg.nick not in irc.state.channels[target].users: - irc.error(format('You must be in %s to %q in there.', + irc.error(format(_('You must be in %s to %q in there.'), target, action), Raise=True) c = ircdb.channels.getChannel(target) if c.lobotomized: - irc.error(format('I\'m lobotomized in %s.', target), + irc.error(format(_('I\'m lobotomized in %s.'), target), Raise=True) if not c._checkCapability(self.name()): - irc.error('That channel has set its capabilities so as to ' - 'disallow the use of this plugin.', Raise=True) + irc.error(_('That channel has set its capabilities so as to ' + 'disallow the use of this plugin.'), Raise=True) elif action == 'say' and not self.registryValue('allowPrivateTarget'): - irc.error(format('%q cannot be used to send private messages.', + irc.error(format(_('%q cannot be used to send private messages.'), action), Raise=True) From 5a65dd71624b0fc05fd7e26016cb00ae8b26432b Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 10 Jun 2011 19:48:10 +0200 Subject: [PATCH 012/244] String: Fix typo in l10n-fr --- plugins/String/locale/fr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/String/locale/fr.po b/plugins/String/locale/fr.po index 6e57e5625..c7bfb07ea 100644 --- a/plugins/String/locale/fr.po +++ b/plugins/String/locale/fr.po @@ -100,7 +100,7 @@ msgid "" msgstr "" " \n" "\n" -"Retourne la distance leveshtein (aussi connue sous le nom de \"distance d'édition) entre les deux chaînes." +"Retourne la distance levenhtein (aussi connue sous le nom de \"distance d'édition) entre les deux chaînes." #: plugin.py:106 msgid "Levenshtein distance is a complicated algorithm, try it with some smaller inputs." From 15d9d0fe6cb7a419e8822ee1a3894b80a7a99b88 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 11 Jun 2011 19:05:26 +0200 Subject: [PATCH 013/244] Factoids: Add finnish translation --- plugins/Factoids/locale/fi.po | 379 ++++++++++++++++++++++++++++++++++ 1 file changed, 379 insertions(+) create mode 100644 plugins/Factoids/locale/fi.po diff --git a/plugins/Factoids/locale/fi.po b/plugins/Factoids/locale/fi.po new file mode 100644 index 000000000..dbbdd312d --- /dev/null +++ b/plugins/Factoids/locale/fi.po @@ -0,0 +1,379 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:58+CET\n" +"PO-Revision-Date: 2011-06-11 20:00+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:45 +msgid "" +"Value must include $value, otherwise the factoid's value would be left\n" +" out." +msgstr "" +"Arvon täytyy sisältää $arvo, muutoin factoidin arvo jätettäisiin\n" +" ulos." + +#: config.py:51 +msgid "" +"Determines what separator must be used in the\n" +" learn command. Defaults to 'as' -- learn as . Users might\n" +" feel more comfortable with 'is' or something else, so it's\n" +" configurable." +msgstr "" +"Määrittää mitä erottajaa learn komennossa täytyy käyttää.\n" +"Oletuksena 'as' -- learn as . Käyttäjistä\n" +"'is' tai jokin'is' muu voi tuntua mukavammalta, joten se on\n" +"määritettävissä." + +#: config.py:56 +msgid "" +"Determines whether the bot will reply with the\n" +" single matching factoid if only one factoid matches when using the search\n" +" command." +msgstr "" +"Määrittää vastaako botti yhdellä täsmäävällä factoidilla\n" +"jos vain yksi factoidi täsmää .\n" +"hakukomentoa käytettäessä." + +#: config.py:60 +msgid "" +"Determines whether the bot will reply to invalid\n" +" commands by searching for a factoid; basically making the whatis\n" +" unnecessary when you want all factoids for a given key." +msgstr "" +"Määrittää vastaako botti virheellisiin komentoihin etsimällä factoidia\n" +"tehden 'whatis': in tarpeettomaksi\n" +" kun tahdot etsiä kaikkia factoideja annetulla avaimella." + +#: config.py:64 +msgid "" +"If you try to look up a nonexistent factoid,\n" +" this setting make the bot try to find some possible matching keys through\n" +" several approximate matching algorithms and return a list of matching keys,\n" +" before giving up." +msgstr "" +"Jos yrität etsiä olematonta factoidia,\n" +"asetus saa botin yrittämään etsiä mahdollisesti täsmääviä avaimia läpi\n" +" muutaman tarkasti täsmäävän algoritmin kanssa ja palauttaa listan täsmääviä avaimia,\n" +" ennen luovuttamista." + +#: config.py:69 +msgid "$key could be $value." +msgstr "$key voisi olla $value." + +#: config.py:69 +msgid "" +"Determines the format of\n" +" the response given when a factoid's value is requested. All the standard\n" +" substitutes apply, in addition to \"$key\" for the factoid's key and \"$value\"\n" +" for the factoid's value." +msgstr "" +"Määrittää vastaus formaatin\n" +" jossa vastaus annetaan, kun factoidin arvoa pyydetään. Kaikki perus \n" +" korvaukset ovat voimassa, \"$key\" lisäksi factoidin avaimelle ja \"$value\"\n" +" factoidin arvolle." + +#: plugin.py:179 +msgid "" +"[] %s \n" +"\n" +" Associates with . is only\n" +" necessary if the message isn't sent on the channel\n" +" itself. The word '%s' is necessary to separate the\n" +" key from the value. It can be changed to another word\n" +" via the learnSeparator registry value.\n" +" " +msgstr "" +"[] %s \n" +"\n" +" Liittää . on vaadittu\n" +" vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" Sana '%s'on vaadittu erottamaan\n" +" avain arvosta. Se voidaan vaihtaa eri sanaksi\n" +" learnSeparator rekisteri arvolla.\n" +" " + +#: plugin.py:199 +msgid "" +"Try to typo-match input to possible factoids.\n" +" \n" +" Assume first letter is correct, to reduce processing time. \n" +" First, try a simple wildcard search.\n" +" If that fails, use the Damerau-Levenshtein edit-distance metric.\n" +" " +msgstr "" +"Yritä typo-sovittaa mahdillisten factoidien syöttämistä.\n" +" \n" +" Oletetaan ensin että ensinmäinen kirjain on oikein, vähentääksemme käsittely aikaa. \n" +" Ensin, yritä yksinkertaista villikorttihakua.\n" +" If that fails, use the Damerau-Levenshteinin editointi-etäisyys metriisi.\n" +" " + +#: plugin.py:257 +#: plugin.py:391 +msgid "That's not a valid number for that key." +msgstr "Se ei ole kelvollinen factoidi numero tuolle avaimelle." + +#: plugin.py:279 +#: plugin.py:377 +#: plugin.py:604 +msgid "No factoid matches that key." +msgstr "Ei factoidi osumia tuolle avaimelle." + +#: plugin.py:304 +msgid "" +"[] [--raw] []\n" +"\n" +" Looks up the value of in the factoid database. If given a\n" +" number, will return only that exact factoid. If '--raw' option is\n" +" given, no variable substitution will take place on the factoid.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [--raw] []\n" +"\n" +" Etsii arvoa factoidi tietokannasta. Jos numero on annettu,\n" +" Palauttaa vain sen tietyn factoidin. Jos '--raw' asetus\n" +" on annettu, muuttujan korvaaminen ei tapahdu factoidissa.\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " + +#: plugin.py:321 +#: plugin.py:529 +msgid "key id" +msgstr "avain id" + +#: plugin.py:339 +msgid "" +"[] []\n" +"\n" +" Adds a new key for factoid associated with .\n" +" is only necessary if there's more than one factoid associated\n" +" with .\n" +"\n" +" The same action can be accomplished by using the 'learn' function with\n" +" a new key but an existing (verbatim) factoid content.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Lisää uuden avaimen factoidille, joka on liitetty .\n" +" on vaadittu vain jos\n" +" on liitetty useampia kuin yksi avain.\n" +"\n" +" Sama toiminto voidaan suorittaa käyttämällä 'learn' funktioa uudella\n" +" uudella avaimella, mutta olemassao olevalla (sanatarkalla) factoidin sisällöllä.\n" +" " + +#: plugin.py:386 +#: plugin.py:403 +msgid "This key-factoid relationship already exists." +msgstr "Tämä avain-factoidi suhde on jo olemassa." + +#: plugin.py:394 +msgid "This key has more than one factoid associated with it, but you have not provided a number." +msgstr "Tähän avaaimeen on liitetty yksi tai useampia factoideja, mutta et ole antanut numeroa." + +#: plugin.py:409 +msgid "" +"[] [--plain] [--alpha] []\n" +"\n" +" Returns a list of top-ranked factoid keys, sorted by usage count\n" +" (rank). If is not provided, the default number of factoid keys\n" +" returned is set by the rankListLength registry value.\n" +"\n" +" If --plain option is given, rank numbers and usage counts are not\n" +" included in output.\n" +"\n" +" If --alpha option is given in addition to --plain, keys are sorted\n" +" alphabetically, instead of by rank.\n" +"\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [--plain] [--alpha] []\n" +"\n" +" Palauttaa listan huippu-arvostetuista factoidi avaimista lajiteltu käyttömäärän \n" +" (rankingin) mukaan. Jos ei ole annettu, palautetaan oletusmäärä factoidi avaimia\n" +" rankListLength registry value mukaan.\n" +"\n" +" Jos --plain asetus on annettu, ranking numerot ja käyttömäärät eivät ole\n" +" mukana ulostulossa..\n" +"\n" +" Jos --alpha asetus on annettu - -plainin lisäksi järjestetään\n" +" aakkosjärjestyksessä rankingin sijaan.\n" +"\n" +" on vaadittu vain, jos viestiä ei lähetetä kanavalla \n" +" itsellään.\n" +" " + +#: plugin.py:454 +msgid "" +"[] \n" +"\n" +" Locks the factoid(s) associated with so that they cannot be\n" +" removed or added to. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Lukitsee Factoidi(t) jotta niitä ei voida muuttaa,\n" +" poistaa tai lisätä. on vaadittu vain jos viestiä ei lähetetä\n" +" kanavalta itsestään.\n" +" " + +#: plugin.py:472 +msgid "" +"[] \n" +"\n" +" Unlocks the factoid(s) associated with so that they can be\n" +" removed or added to. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Avaa factoidi(t), jotka on liitetty jotta niitä voidaan\n" +" poistaa tai lisätä. on vaadittu vain jos viestiä ei lähetetä\n" +" kanavalta itseltään. \n" + +#: plugin.py:511 +msgid "" +"[] [|*]\n" +"\n" +" Removes a key-fact relationship for key from the factoids\n" +" database. If there is more than one such relationship for this key,\n" +" a number is necessary to determine which one should be removed.\n" +" A * can be used to remove all relationships for .\n" +"\n" +" If as a result, the key (factoid) remains without any relationships to\n" +" a factoid (key), it shall be removed from the database.\n" +"\n" +" is only necessary if\n" +" the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [|*]\n" +"\n" +" Poistaa avain-factoidi suhteen factoidi tietokannasta.\n" +" Jos avaimelle on useampi kuin yksi tälläinen sude,\n" +" numeroa vaaditaan määrittämään mikä poistetaan.\n" +" * voi poistaa kaikki suhteet.\n" +"\n" +" Jos tuloksena avain, (factoidi) jää ilman suhdetta\n" +" factoidi (avain), it poistetaan tietokannasta.\n" +"\n" +" on vaadittu vain jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:543 +msgid "There is no such factoid." +msgstr "Sellaista factoidia ei ole." + +#: plugin.py:553 +msgid "Invalid factoid number." +msgstr "Viallinen factoidi numero." + +#: plugin.py:558 +msgid "%s factoids have that key. Please specify which one to remove, or use * to designate all of them." +msgstr "%s factoilla on tuo avain. Määritä mikä poistetaan, tai käytä * epänimittääksesi ne kaikki." + +#: plugin.py:566 +msgid "" +"[]\n" +"\n" +" Returns a random factoid from the database for . \n" +" is only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Palauttaa satunnaisen factoidin tietokannasta . \n" +" on vaadittu vain, jos viestiä ei lähetetä kanavalla itsellään..\n" +" " + +#: plugin.py:588 +msgid "I couldn't find a factoid." +msgstr "En kyennyt löytämään factoidia." + +#: plugin.py:593 +msgid "" +"[] \n" +"\n" +" Gives information about the factoid(s) associated with .\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Antaa tietoja factoidi(eistä), jotka on liitetty .\n" +" on vaadittu vain, jos viesti lähetetään kanavlta itseltään.\n" +" " + +#: plugin.py:619 +msgid "#%i was added by %s at %s, and has been recalled %n" +msgstr "#%i lisättiin %s %s, ja on uudelleenkutsuttu %n" + +#: plugin.py:622 +msgid "time" +msgstr "aika" + +#: plugin.py:632 +msgid "" +"[] \n" +"\n" +" Changes the factoid # associated with according to\n" +" .\n" +" " +msgstr "" +"[] \n" +"\n" +" Vaihtaa factoidin #, joka on liitetty kanssa\n" +" mukaan..\n" +" " + +#: plugin.py:646 +msgid "I couldn't find any key %q" +msgstr "En kyennyt löytämään yhtää avain %q:ta." + +#: plugin.py:661 +msgid "" +"[] [--values] [--{regexp} ] [ ...]\n" +"\n" +" Searches the keyspace for keys matching . If --regexp is given,\n" +" it associated value is taken as a regexp and matched against the keys.\n" +" If --values is given, search the value space instead of the keyspace.\n" +" " +msgstr "" +"[] [--values] [--{regexp} ] [ ...]\n" +"\n" +" Etsii avainavaruudesta avaimia jotka täsmäävät . Jos --regexp on annettu,\n" +" se liitetään arvoon, jonka on ottanut säännöllinen lauseke ja sovitetu avaimia vastaan.\n" +" Jos --values on annettu, hakee arvoavaruudesta avainavaruuden sijasta..\n" +" " + +#: plugin.py:698 +#: plugin.py:707 +msgid "No keys matched that query." +msgstr "Mikään avain ei täsmännyt tuhon hakuun." + +#: plugin.py:703 +#: plugin.py:712 +msgid "More than 100 keys matched that query; please narrow your query." +msgstr "Enemmän kuin 100 täsmäävää avainta löydettiin tuolla hakusanalla; oe hyvä ja rajoita hakua.." + From 58152b5a70c86c6b887b2e954dc0d42902323514 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 12 Jun 2011 12:51:26 +0200 Subject: [PATCH 014/244] AutoMode: fix missing closing quote (update l10n-fr and l10n-fi), thanks to skizzhg. --- plugins/AutoMode/config.py | 4 ++-- plugins/AutoMode/locale/fi.po | 10 +++++----- plugins/AutoMode/locale/fr.po | 6 +++--- plugins/AutoMode/messages.pot | 6 +++--- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/plugins/AutoMode/config.py b/plugins/AutoMode/config.py index 052bed457..4431696de 100644 --- a/plugins/AutoMode/config.py +++ b/plugins/AutoMode/config.py @@ -49,8 +49,8 @@ conf.registerGlobalValue(AutoMode, 'owner', registry.Boolean(True, _("""Determines whether this plugin will automode owners."""))) conf.registerChannelValue(AutoMode, 'fallthrough', - registry.Boolean(False, _("""Determines whether the bot will "fall through - to halfop/voicing when auto-opping is turned off but + registry.Boolean(False, _("""Determines whether the bot will "fall + through" to halfop/voicing when auto-opping is turned off but auto-halfopping/voicing are turned on."""))) conf.registerChannelValue(AutoMode, 'op', registry.Boolean(True, _("""Determines whether the bot will automatically diff --git a/plugins/AutoMode/locale/fi.po b/plugins/AutoMode/locale/fi.po index c90680ff1..578771d41 100644 --- a/plugins/AutoMode/locale/fi.po +++ b/plugins/AutoMode/locale/fi.po @@ -1,9 +1,9 @@ msgid "" msgstr "" "Project-Id-Version: Supybot AutoMode\n" -"POT-Creation-Date: 2010-10-16 18:48+CEST\n" +"POT-Creation-Date: 2011-06-12 12:45+CEST\n" "PO-Revision-Date: \n" -"Last-Translator: Mika Suomalainen \n" +"Last-Translator: Valentin Lorentz \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" @@ -30,11 +30,11 @@ msgstr "" #: config.py:52 msgid "" -"Determines whether the bot will \"fall through\n" -" to halfop/voicing when auto-opping is turned off but\n" +"Determines whether the bot will \"fall\n" +" through\" to halfop/voicing when auto-opping is turned off but\n" " auto-halfopping/voicing are turned on." msgstr "" -"Määrittää \"siirtyykö botti\n" +"Määrittää \"siirtyykö\" botti\n" "halfoppaamiseen/voicen antamiseen kun automaatti-oppaaminen on on/off asennossa mutta\n" "automaattinen-halfoppaaminen/voicen antaminen ovat käytössä." diff --git a/plugins/AutoMode/locale/fr.po b/plugins/AutoMode/locale/fr.po index 53c063034..47509f138 100644 --- a/plugins/AutoMode/locale/fr.po +++ b/plugins/AutoMode/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2010-10-16 18:48+CEST\n" +"POT-Creation-Date: 2011-06-12 12:45+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -27,8 +27,8 @@ msgstr "Détermine si ce plugin mettra des modes automatiques sur les owners." #: config.py:52 msgid "" -"Determines whether the bot will \"fall through\n" -" to halfop/voicing when auto-opping is turned off but\n" +"Determines whether the bot will \"fall\n" +" through\" to halfop/voicing when auto-opping is turned off but\n" " auto-halfopping/voicing are turned on." msgstr "Détermine si le bot ne halfopera/voicera pas lorsque l'auto-op est désactivé, même si l'auto-halfopvoice est activé." diff --git a/plugins/AutoMode/messages.pot b/plugins/AutoMode/messages.pot index b6f4770f0..9f488b94a 100644 --- a/plugins/AutoMode/messages.pot +++ b/plugins/AutoMode/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-06-12 12:45+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,8 +29,8 @@ msgstr "" #: config.py:52 msgid "" -"Determines whether the bot will \"fall through\n" -" to halfop/voicing when auto-opping is turned off but\n" +"Determines whether the bot will \"fall\n" +" through\" to halfop/voicing when auto-opping is turned off but\n" " auto-halfopping/voicing are turned on." msgstr "" From ee92c71e6e2871f22260ac7308bc52f58cad63c0 Mon Sep 17 00:00:00 2001 From: skizzhg Date: Sun, 12 Jun 2011 22:30:45 +0200 Subject: [PATCH 015/244] Admin & Alias & Anonymous & AutoMode & Ctcp & Dunno & Internet & Lart & NickCapture & Protector & Quote & Success: Add Italian translation --- plugins/Admin/locale/it.po | 231 +++++++++++++++++++++++++++++++ plugins/Alias/locale/it.po | 116 ++++++++++++++++ plugins/Anonymous/locale/it.po | 102 ++++++++++++++ plugins/AutoMode/locale/it.po | 84 +++++++++++ plugins/Ctcp/locale/it.po | 66 +++++++++ plugins/Dunno/locale/it.po | 34 +++++ plugins/Internet/locale/it.po | 92 ++++++++++++ plugins/Lart/locale/it.po | 57 ++++++++ plugins/NickCapture/locale/it.po | 31 +++++ plugins/Protector/locale/it.po | 30 ++++ plugins/Quote/locale/it.po | 31 +++++ plugins/Success/locale/it.po | 34 +++++ 12 files changed, 908 insertions(+) create mode 100644 plugins/Admin/locale/it.po create mode 100644 plugins/Alias/locale/it.po create mode 100644 plugins/Anonymous/locale/it.po create mode 100644 plugins/AutoMode/locale/it.po create mode 100644 plugins/Ctcp/locale/it.po create mode 100644 plugins/Dunno/locale/it.po create mode 100644 plugins/Internet/locale/it.po create mode 100644 plugins/Lart/locale/it.po create mode 100644 plugins/NickCapture/locale/it.po create mode 100644 plugins/Protector/locale/it.po create mode 100644 plugins/Quote/locale/it.po create mode 100644 plugins/Success/locale/it.po diff --git a/plugins/Admin/locale/it.po b/plugins/Admin/locale/it.po new file mode 100644 index 000000000..fcc3cde52 --- /dev/null +++ b/plugins/Admin/locale/it.po @@ -0,0 +1,231 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-06 21:08+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:54 +#, docstring +msgid "Nick/channel temporarily unavailable." +msgstr "Nick/canale temporaneamente non disponibile." + +#: plugin.py:72 +msgid "Cannot join %s, it's full." +msgstr "Non posso entrare in %s, è pieno." + +#: plugin.py:80 +msgid "Cannot join %s, I was not invited." +msgstr "Non posso entrare in %s, non sono stato invitato." + +#: plugin.py:88 +msgid "Cannot join %s, it's banned me." +msgstr "Non posso entrare in %s, sono stato bannato." + +#: plugin.py:96 +msgid "Cannot join %s, my keyword was wrong." +msgstr "Non posso entrare in %s, la password era sbagliata." + +#: plugin.py:104 +msgid "Cannot join %s, I'm not identified with the NickServ." +msgstr "Non posso entrare in %s, non sono identificato con NickServ." + +#: plugin.py:134 +#, docstring +msgid "" +" []\n" +"\n" +" Tell the bot to join the given channel. If is given, it is used\n" +" when attempting to join the channel.\n" +" " +msgstr "" +" []\n" +"\n" +" Dice al bot di entrare nel canale specificato. Se è fornita, viene usata\n" +" quando si tenta di entrare nel canale.\n" +" " + +#: plugin.py:147 +msgid "I'm already too close to maximum number of channels for this network." +msgstr "Sono già troppo vicino al numero massimo di canali per questa rete." + +#: plugin.py:156 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the channels the bot is on. Must be given in private, in order\n" +" to protect the secrecy of secret channels.\n" +" " +msgstr "" +"Non necessita argomenti\n" +"\n" +" Restituisce i canali dove è presente il bot. Per preservare la segretezza\n" +" dei canali privati, deve essere richiesto in privato.\n" +" " + +#: plugin.py:166 +msgid "I'm not currently in any channels." +msgstr "Al momento non sono in nessun canale." + +#: plugin.py:172 +msgid "My connection is restricted, I can't change nicks." +msgstr "La mia connessione è limitata, non posso cambiare nick." + +#: plugin.py:179 +msgid "Someone else is already using that nick." +msgstr "Qualcun altro sta utilizzando quel nick." + +#: plugin.py:186 +msgid "That nick is currently banned." +msgstr "Il nick è attualmente bannato." + +#: plugin.py:193 +msgid "I can't change nicks, the server said %q." +msgstr "Non posso cambiare nick, il server ha detto %q." + +#: plugin.py:207 +#, docstring +msgid "" +"[]\n" +"\n" +" Changes the bot's nick to . If no nick is given, returns the\n" +" bot's current nick.\n" +" " +msgstr "" +"[]\n" +"\n" +" Cambia il nicke del bot in . Se non ne viene fornito uno, restituisce\n" +" quello attuale.\n" +" " + +#: plugin.py:222 +#, docstring +msgid "" +"[] []\n" +"\n" +" Tells the bot to part the list of channels you give it. is\n" +" only necessary if you want the bot to part a channel other than the\n" +" current channel. If is specified, use it as the part\n" +" message.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Fornisce al bot l'elenco dei canali da cui uscire. è\n" +" necessario solo se si vuole far uscire il bot da un canale diverso da\n" +" quello attuale. Se viene specificato, verrà usato come messaggio\n" +" di uscita.\n" +" " + +#: plugin.py:240 +msgid "I'm not in %s." +msgstr "Non sono in %s." + +#: plugin.py:252 +#, docstring +msgid "" +" \n" +"\n" +" Gives the user specified by (or the user to whom \n" +" currently maps) the specified capability \n" +" " +msgstr "" +" \n" +"\n" +" Dà all'utente specificato da (o quello a cui corrisponde \n" +" attualmente) la capacità specificata\n" +" " + +#: plugin.py:272 +msgid "The \"owner\" capability can't be added in the bot. Use the supybot-adduser program (or edit the users.conf file yourself) to add an owner capability." +msgstr "La capacità \"owner\" non puà essere aggiunta al bot. Utilizzare il programma supybot-adduser (o modificare il file users.conf) per aggiungerla." + +#: plugin.py:283 +msgid "You can't add capabilities you don't have." +msgstr "Non è possibile aggiungere capacità che non si hanno." + +#: plugin.py:288 +#, docstring +msgid "" +" \n" +"\n" +" Takes from the user specified by (or the user to whom\n" +" currently maps) the specified capability \n" +" " +msgstr "" +" \n" +"\n" +" Rimuove l'utente specificato da (o quello a cui corrisponde \n" +" attualmente) la capacità specificata\n" +" " + +#: plugin.py:300 +msgid "That user doesn't have that capability." +msgstr "Questo utente non ha questa capacità." + +#: plugin.py:302 +msgid "You can't remove capabilities you don't have." +msgstr "Non è possibile rimuovere capacità che non si hanno." + +#: plugin.py:310 +#, docstring +msgid "" +" []\n" +"\n" +" This will set a persistent ignore on or the hostmask\n" +" currently associated with . is an optional argument\n" +" specifying when (in \"seconds from now\") the ignore will expire; if\n" +" it isn't given, the ignore will never automatically expire.\n" +" " +msgstr "" +" []\n" +"\n" +" Imposta un ignore permanente su o l'hostmask\n" +" attualmente associata a . è un argomento opzionale\n" +" per specificare quando (in \"secondi a partire da subito\") scadrà l'ignore;\n" +" se non fornito, questo non scadrà mai.\n" +" " + +#: plugin.py:323 +#, docstring +msgid "" +"\n" +"\n" +" This will remove the persistent ignore on or the\n" +" hostmask currently associated with .\n" +" " +msgstr "" +"\n" +"\n" +" Rimuove l'ignore persistente su o l'attuale\n" +" hostmask associata a .\n" +" " + +#: plugin.py:332 +msgid "%s wasn't in the ignores database." +msgstr "%s non è nel mio database degli ignorati." + +#: plugin.py:337 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Lists the hostmasks that the bot is ignoring.\n" +" " +msgstr "" +"Non necessita argomenti\n" +"\n" +" Elenca le hostmask che il bot sta ignorando.\n" +" " + +#: plugin.py:345 +msgid "I'm not currently globally ignoring anyone." +msgstr "Al momento, a livello globale, non sto ignorando nessuno." + diff --git a/plugins/Alias/locale/it.po b/plugins/Alias/locale/it.po new file mode 100644 index 000000000..23e79ddc7 --- /dev/null +++ b/plugins/Alias/locale/it.po @@ -0,0 +1,116 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-07 08:23+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\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 "" +"Restituisce il canale da dove proviene il messaggio o il canale fornito come argomento.\n" +"\n" +" Se il canale è stato dato come argomento, quest'ultimo viene modificato (il canale\n" +" viene rimosso).\n" +" " + +#: plugin.py:164 +msgid " at least" +msgstr " almeno" + +#: plugin.py:165 +msgid "" +"\n" +"\n" +"Alias for %q." +msgstr "" +"\n" +"\n" +"Alias per %q." + +#: plugin.py:166 +msgid "argument" +msgstr "argomento" + +#: plugin.py:220 +#, docstring +msgid "" +"\n" +"\n" +" Locks an alias so that no one else can change it.\n" +" " +msgstr "" +"\n" +"\n" +" Blocca un alias affinché nessun altro possa modificarlo.\n" +" " + +#: plugin.py:229 plugin.py:243 +msgid "There is no such alias." +msgstr "Non c'è nessun alias." + +#: plugin.py:234 +#, docstring +msgid "" +"\n" +"\n" +" Unlocks an alias so that people can define new aliases over it.\n" +" " +msgstr "" +"\n" +"\n" +" Sblocca un alias affinché chiunque possa ridefinirne di nuovi.\n" +" " + +#: plugin.py:254 +msgid "That name isn't valid. Try %q instead." +msgstr "Nome non valido. Provare %q invece." + +#: plugin.py:292 +#, docstring +msgid "" +" \n" +"\n" +" Defines an alias that executes . The \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 "" +" \n" +"\n" +" Definisce un alias che esegue . deve essere\n" +" nello standard \"comando argomento [comandonidificato argomento]\";\n" +" gli argomenti dati devono essere riportati in sequenza.\n" +" Per gli argomenti richiesti è possibile utilizzare $1, $2, ecc., mentre \n" +" @1, @2, ecc. per argomenti opzionali. $* significa semplicemente \"tutti\n" +" gli argomenti rimanenti\" e non possono essere combinati con quelli opzionali.\n" +" " + +#: plugin.py:315 +#, docstring +msgid "" +"\n" +"\n" +" Removes the given alias, if unlocked.\n" +" " +msgstr "" +"\n" +"\n" +" Rimuove l'alias fornito, se sbloccato.\n" +" " + diff --git a/plugins/Anonymous/locale/it.po b/plugins/Anonymous/locale/it.po new file mode 100644 index 000000000..2c92736bb --- /dev/null +++ b/plugins/Anonymous/locale/it.po @@ -0,0 +1,102 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-09 14:39+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\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 "" +"Determina se il bot richieda che gli utenti siano in canale\n" +" per inviare messaggi in forma anonima." + +#: config.py:53 +msgid "" +"Determines whether the bot should require\n" +" people trying to use this plugin to be registered." +msgstr "" +"Determina se il bot richieda che gli utenti siano registrati\n" +" per usare il plugin." + +#: config.py:56 +msgid "" +"Determines what capability (if any) the bot should\n" +" require people trying to use this plugin to have." +msgstr "" +"Determina quali capacità (eventuali) debbano\n" +" avere gli utenti per utilizzare questo plugin." + +#: 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 "" +"Determina se il bot richiederà che le destinazioni del comando \"say\" siano\n" +" pubbliche (ovvero i canali). Se impostato a True, il bot permetterà\n" +" di usare il comando \"say\" per inviare messaggi privati ad altri utenti." + +#: plugin.py:40 +#, 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 "" +"Questo plugin permette agli utenti di agire attraverso il bot in modo anonimo.\n" +" Il comando 'do' esegue un'azione anonima in un dato canale, mentre 'say'\n" +" permette di parlare tramite il bot. Giacché si può essere facilmente abusarne,\n" +" è possibile impostare supybot.plugins.Anonymous.requireCapability in modo che\n" +" solo gli utenti con determinate capacità possano usare il plugin. Per una\n" +" maggiore sicurezza si può richiedere con supybot.plugins.Anonymous.requirePresenceInChannel\n" +" che l'utente intenzionato a parlare anonimamente sia in canale; o anche, tramite\n" +" supybot.plugins.Anonymous.requireRegistration, che l'utente sia registrato." +" " + +#: plugin.py:80 +#, docstring +msgid "" +" \n" +"\n" +" Sends to . Can only send to if\n" +" supybot.plugins.Anonymous.allowPrivateTarget is True.\n" +" " +msgstr "" +" \n" +"\n" +" Invia a . Può solo inviare a se\n" +" supybot.plugins.Anonymous.allowPrivateTarget è impostato a True.\n" +" " + +#: plugin.py:94 +#, docstring +msgid "" +" \n" +"\n" +" Performs in .\n" +" " +msgstr "" +" \n" +"\n" +" Esegue in .\n" +" " + diff --git a/plugins/AutoMode/locale/it.po b/plugins/AutoMode/locale/it.po new file mode 100644 index 000000000..7a1d22e12 --- /dev/null +++ b/plugins/AutoMode/locale/it.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-12 11:51+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:46 +msgid "" +"Determines whether this plugin is enabled.\n" +" " +msgstr "" +"Determina se il plugin è abilitato.\n" +" " + +#: config.py:49 +msgid "" +"Determines whether this plugin will automode\n" +" owners." +msgstr "" +"Determina se il plugin darà automaticamente il mode ai proprietari.\n" + +#: 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 "" +"Determina se il the bot non darà l'halfop o il voice\n" +" quando l'op automatico è disabilitato ma l'halfop o il voice\n" +" automatico sono attivati." + +#: config.py:56 +msgid "" +"Determines whether the bot will automatically\n" +" op people with the ,op capability when they join the channel.\n" +" " +msgstr "" +"Determina se il bot darà automaticamente l'op agli utenti che hanno\n" +" la capacità ,op quando entrano in canale.\n" +" " + +#: config.py:60 +msgid "" +"Determines whether the bot will automatically\n" +" halfop people with the ,halfop capability when they join the\n" +" channel." +msgstr "" +"Determina se il bot darà automaticamente l'halfop agli utenti che hanno\n" +" la capacità ,halfop quando entrano in canale.\n" +" " + +#: config.py:64 +msgid "" +"Determines whether the bot will automatically\n" +" voice people with the ,voice capability when they join the\n" +" channel." +msgstr "" +"Determina se il bot darà automaticamente il voice agli utenti che hanno\n" +" la capacità ,voice quando entrano in canale.\n" +" " + +#: config.py:68 +msgid "" +"Determines whether the bot will automatically\n" +" ban people who join the channel and are on the banlist." +msgstr "" +"Determina se il bot bannerà automaticamente gli utenti che \n" +" entrano in canale e sono nella lista dei ban.\n" +" " + +#: config.py:71 +msgid "" +"Determines how many seconds the bot\n" +" will automatically ban a person when banning." +msgstr "" +"Destermina quanti secondi durerà il ban quando il bot lo applica a una persona." + diff --git a/plugins/Ctcp/locale/it.po b/plugins/Ctcp/locale/it.po new file mode 100644 index 000000000..9501f9af7 --- /dev/null +++ b/plugins/Ctcp/locale/it.po @@ -0,0 +1,66 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-12 13:43+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: plugin.py:77 +#, docstring +msgid "\001PING ?(.*)\001" +msgstr "" + +#: plugin.py:86 +#, docstring +msgid "\001VERSION\001" +msgstr "" + +#: plugin.py:91 +#, docstring +msgid "\001USERINFO\001" +msgstr "" + +#: plugin.py:96 +#, docstring +msgid "\001TIME\001" +msgstr "" + +#: plugin.py:101 +#, docstring +msgid "\001FINGER\001" +msgstr "" + +#: plugin.py:104 +msgid "Supybot, the best Python IRC bot in existence!" +msgstr "Supybot, il miglior bot IRC in Python esistente!" + +#: plugin.py:107 +#, docstring +msgid "\001SOURCE\001" +msgstr "" + +#: plugin.py:123 +#, docstring +msgid "" +"[] [--nicks]\n" +"\n" +" Sends a CTCP VERSION to , returning the various\n" +" version strings returned. It waits for 10 seconds before returning\n" +" the versions received at that point. If --nicks is given, nicks are\n" +" associated with the version strings; otherwise, only the version\n" +" strings are given.\n" +" " +msgstr "" +"[] [--nicks]\n" +"\n" +" Invia un a CTCP VERSION a restituendo le varie stringhe\n" +" ricevute. Attende 10 secondi prima di mostrare le versioni ricevute\n" +" fino a quel momento. Se --nicks è specificato, i nick sono associati\n" +" con le stringhe di versione; altrimenti vengono fornite solo le stringhe.\n" +" " + diff --git a/plugins/Dunno/locale/it.po b/plugins/Dunno/locale/it.po new file mode 100644 index 000000000..5e701bc00 --- /dev/null +++ b/plugins/Dunno/locale/it.po @@ -0,0 +1,34 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-12 13:58+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: config.py:46 +msgid "" +"Determines whether the bot will prefix the nick\n" +" of the user giving an invalid command to the \"dunno\" response." +msgstr "" +"Determina se il bot userà il nick dell'utente che dà un comando non\n" +" valido come prefisso per la risposta \"dunno\"." + +#: plugin.py:37 +#, docstring +msgid "" +"This plugin was written initially to work with MoobotFactoids, the two\n" +" of them to provide a similar-to-moobot-and-blootbot interface for factoids.\n" +" Basically, it replaces the standard 'Error: is not a valid command.'\n" +" messages with messages kept in a database, able to give more personable\n" +" responses." +msgstr "" +"Questo plugin fu inizialmente scritto per funzionare con MoobotFactoids, per\n" +" fornire un'interfaccia simile ai factoid di moobot e blootbot.\n" +" Sostituisce i messaggi standard \"Errore: non è un comando valido.\"\n" +" con quelli contenuti in un database, in modo da rendere le risposte più piacevoli." + diff --git a/plugins/Internet/locale/it.po b/plugins/Internet/locale/it.po new file mode 100644 index 000000000..e3385fa0e --- /dev/null +++ b/plugins/Internet/locale/it.po @@ -0,0 +1,92 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-12 14:14+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: plugin.py:42 +#, docstring +msgid "Add the help for \"@help Internet\" here." +msgstr "" + +#: plugin.py:46 +#, docstring +msgid "" +"\n" +"\n" +" Returns the ip of or the reverse DNS hostname of .\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce l'ip di o il DNS inverso di .\n" +" " + +#: plugin.py:53 plugin.py:60 plugin.py:64 +msgid "Host not found." +msgstr "Host non trovato." + +#: plugin.py:76 +#, docstring +msgid "" +"\n" +"\n" +" Returns WHOIS information on the registration of .\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce le informazioni WHOIS sulla registrazione di .\n" +" " + +#: plugin.py:82 +msgid "domain" +msgstr "dominio" + +#: plugin.py:111 +msgid "updated %s" +msgstr "aggiornato il %s" + +#: plugin.py:114 +msgid "registered %s" +msgstr "registrato il %s" + +#: plugin.py:117 +msgid "expires %s" +msgstr "scade il %s" + +#: plugin.py:137 +msgid " " +msgstr " " + +#: plugin.py:139 +msgid " " +msgstr " " + +#: plugin.py:144 +msgid "%s%s is %L." +msgstr "%s%s è %L." + +#: plugin.py:147 +msgid "I couldn't find such a domain." +msgstr "Non riesco a trovare un dominio." + +#: plugin.py:152 +#, docstring +msgid "" +"\n" +"\n" +" Returns the hexadecimal IP for that IP.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce l'IP esadecimale per questo IP.\n" +" " + diff --git a/plugins/Lart/locale/it.po b/plugins/Lart/locale/it.po new file mode 100644 index 000000000..60f8eb2dc --- /dev/null +++ b/plugins/Lart/locale/it.po @@ -0,0 +1,57 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-12 14:41+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: config.py:49 +msgid "" +"Determines whether the bot will show the ids\n" +" of a lart when the lart is given." +msgstr "" +"Determina se il bot mostrerà gli id\n" +" di un lart quando questo viene dato." + +#: plugin.py:48 +msgid "Larts must contain $who." +msgstr "I lart devono contenere $who." + +#: plugin.py:52 +#, docstring +msgid "" +"[] [] [for ]\n" +"\n" +" Uses the Luser Attitude Readjustment Tool on (for ,\n" +" if given). If is given, uses that specific lart. is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [] [per ]\n" +"\n" +" Utilizza il Luser Attitude Readjustment Tool su (per il ,\n" +" se fornito). Se viene dato, usa quello specifico lart. è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:66 +msgid "There is no lart with id #%i." +msgstr "Non c'è nessun lart con l'id #%i." + +#: plugin.py:71 +msgid "There are no larts in my database for %s." +msgstr "Non ci sono lart per %s nel mio database." + +#: plugin.py:77 +msgid "trying to dis me" +msgstr "cercando di mancarmi di rispetto" + +#: plugin.py:85 +msgid " for " +msgstr " per" + diff --git a/plugins/NickCapture/locale/it.po b/plugins/NickCapture/locale/it.po new file mode 100644 index 000000000..b41467833 --- /dev/null +++ b/plugins/NickCapture/locale/it.po @@ -0,0 +1,31 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-12 17:05+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: plugin.py:84 +#, docstring +msgid "" +"[]\n" +"\n" +" Tells you how lame said nick is. If is not given, uses the\n" +" nick of the person giving the command.\n" +" " +msgstr "" +"[]\n" +"\n" +" Misura quanto sia lamer un nick. Se non è fornito, utilizza\n" +" quello della persona che ha dato il comando.\n" +" " + +#: plugin.py:226 +msgid "The \"lame nick-o-meter\" reading for \"%s\" is %s%%." +msgstr "Il \"nick-o-meter lamer\" per \"%s\" è %s%%." + diff --git a/plugins/Protector/locale/it.po b/plugins/Protector/locale/it.po new file mode 100644 index 000000000..b3257170b --- /dev/null +++ b/plugins/Protector/locale/it.po @@ -0,0 +1,30 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-12 18:33+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: config.py:47 +msgid "" +"Determines whether this plugin is enabled in a\n" +" given channel." +msgstr "" +"Determina se il plugin è abilitato in un dato canale." + +#: config.py:54 +msgid "" +"Determines what nicks the bot will consider to\n" +" be immune from enforcement. These nicks will not even have their actions\n" +" watched by this plugin. In general, only the ChanServ for this network\n" +" will be in this list." +msgstr "" +"Determina quali nick il bot considererà immuni. Le azioni di questi nick non\n" +" verranno monitorate dal plugin. In generale, sarà presente nella lista solo\n" +" il ChanServ di questa rete.\n" + diff --git a/plugins/Quote/locale/it.po b/plugins/Quote/locale/it.po new file mode 100644 index 000000000..e625f5a5f --- /dev/null +++ b/plugins/Quote/locale/it.po @@ -0,0 +1,31 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-12 18:39+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: plugin.py:38 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns a random quote from . is only necessary if\n" +" the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Restituisce una citazione casuale da . è necessario solo\n" +" se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:47 +msgid "I have no quotes in my database for %s." +msgstr "Non ho citazioni per %s nel mio database." + diff --git a/plugins/Success/locale/it.po b/plugins/Success/locale/it.po new file mode 100644 index 000000000..83841f511 --- /dev/null +++ b/plugins/Success/locale/it.po @@ -0,0 +1,34 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-12 18:43+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: config.py:49 +msgid "" +"Determines whether the bot will prefix the nick\n" +" of the user giving an invalid command to the success response." +msgstr "" +"Determina se il bot userà il nick dell'utente che dà un comando non\n" +" valido come prefisso per la risposta di successo." + +#: plugin.py:38 +#, docstring +msgid "" +"This plugin was written initially to work with MoobotFactoids, the two\n" +" of them to provide a similar-to-moobot-and-blootbot interface for factoids.\n" +" Basically, it replaces the standard 'The operation succeeded.' messages\n" +" with messages kept in a database, able to give more personable\n" +" responses." +msgstr "" +"Questo plugin fu inizialmente scritto per funzionare con MoobotFactoids, per\n" +" fornire un'interfaccia simile ai factoid di moobot e blootbot.\n" +" Sostituisce i messaggi standard \"L'operazione è riuscita.\"\n" +" con quelli contenuti in un database, in modo da rendere le risposte più piacevoli." + From 3e76a72e7c581ad3ec37cd8be31340c2cde958b9 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Mon, 13 Jun 2011 11:25:19 +0200 Subject: [PATCH 016/244] Use limnoria as a default ident (instead of supybot) --- src/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index a60328f23..b17107555 100644 --- a/src/conf.py +++ b/src/conf.py @@ -201,7 +201,7 @@ registerGlobalValue(supybot.nick, 'alternates', appropriately until an unused nick is found."""))) registerGlobalValue(supybot, 'ident', - ValidNick('supybot', _("""Determines the bot's ident string, if the server + ValidNick('limnoria', _("""Determines the bot's ident string, if the server doesn't provide one by default."""))) class VersionIfEmpty(registry.String): From a6e1bbe293d063984ebc058d6189f0a67f1cab6c Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 16 Jun 2011 19:06:16 +0200 Subject: [PATCH 017/244] Dict & Limiter & Note & Scheduler & ShrinkUrl & URL & Utilities: Add Italian translation --- plugins/Admin/locale/it.po | 4 +- plugins/Dict/locale/it.po | 113 +++++++++++++++++++++++++ plugins/Limiter/locale/it.po | 62 ++++++++++++++ plugins/Note/locale/it.po | 119 ++++++++++++++++++++++++++ plugins/Scheduler/locale/it.po | 99 ++++++++++++++++++++++ plugins/ShrinkUrl/locale/it.po | 149 +++++++++++++++++++++++++++++++++ plugins/URL/locale/it.po | 71 ++++++++++++++++ plugins/Utilities/locale/it.po | 135 +++++++++++++++++++++++++++++ 8 files changed, 750 insertions(+), 2 deletions(-) create mode 100644 plugins/Dict/locale/it.po create mode 100644 plugins/Limiter/locale/it.po create mode 100644 plugins/Note/locale/it.po create mode 100644 plugins/Scheduler/locale/it.po create mode 100644 plugins/ShrinkUrl/locale/it.po create mode 100644 plugins/URL/locale/it.po create mode 100644 plugins/Utilities/locale/it.po diff --git a/plugins/Admin/locale/it.po b/plugins/Admin/locale/it.po index fcc3cde52..2cbbe7758 100644 --- a/plugins/Admin/locale/it.po +++ b/plugins/Admin/locale/it.po @@ -64,7 +64,7 @@ msgid "" " to protect the secrecy of secret channels.\n" " " msgstr "" -"Non necessita argomenti\n" +"non necessita argomenti\n" "\n" " Restituisce i canali dove è presente il bot. Per preservare la segretezza\n" " dei canali privati, deve essere richiesto in privato.\n" @@ -145,7 +145,7 @@ msgstr "" #: plugin.py:272 msgid "The \"owner\" capability can't be added in the bot. Use the supybot-adduser program (or edit the users.conf file yourself) to add an owner capability." -msgstr "La capacità \"owner\" non puà essere aggiunta al bot. Utilizzare il programma supybot-adduser (o modificare il file users.conf) per aggiungerla." +msgstr "La capacità \"owner\" non può essere aggiunta al bot. Utilizzare il programma supybot-adduser (o modificare il file users.conf) per aggiungerla." #: plugin.py:283 msgid "You can't add capabilities you don't have." diff --git a/plugins/Dict/locale/it.po b/plugins/Dict/locale/it.po new file mode 100644 index 000000000..c2077a953 --- /dev/null +++ b/plugins/Dict/locale/it.po @@ -0,0 +1,113 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-15 18:11+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:38 +msgid "The default dictd server is dict.org." +msgstr "Il server dictd predefinito è dict.org." + +#: config.py:39 +msgid "Would you like to specify a different dictd server?" +msgstr "Vuoi specificare un server dictd diverso?" + +#: config.py:45 +msgid "" +"Determines what server the bot will\n" +" retrieve definitions from." +msgstr "" +"Determina da quale server il bot recupererà le definizioni." + +#: config.py:48 +msgid "" +"Determines the default dictionary the bot will\n" +" ask for definitions in. If this value is '*' (without the quotes) the bot\n" +" will use all dictionaries to define words." +msgstr "" +"Determina il dizionario predefinito dal quale il bot chiederà le definizioni.\n" +" Se il valore è \"*\" (senza virgolette) il bot userà tutti i dizionari." + +#: plugin.py:54 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the dictionaries valid for the dict command.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Restituisce i dizionari validi per il comando dict.\n" +" " + +#: plugin.py:70 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns a random valid dictionary.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Restituisce un dizionario casuale valido.\n" +" " + +#: plugin.py:85 +#, docstring +msgid "" +"[] \n" +"\n" +" Looks up the definition of on the dictd server specified by\n" +" the supybot.plugins.Dict.server config variable.\n" +" " +msgstr "" +"[] \n" +"\n" +" Cerca la definizione di sul server dictd specificato dalla\n" +" variabile supybot.plugins.Dict.server.\n" +" " + +#: plugin.py:108 +msgid "You must give a word to define." +msgstr "Devi fornire una parola da definire." + +#: plugin.py:114 +msgid "No definition for %q could be found." +msgstr "Non è stata trovata nessuna definizione per %q." + +#: plugin.py:117 +msgid "No definition for %q could be found in %s" +msgstr "Non è stata trovata nessuna definizione per %q in %s" + +#: plugin.py:129 +msgid "%L responded: %s" +msgstr "%L ha risposto: %s" + +#: plugin.py:136 +#, docstring +msgid "" +" [ ...]\n" +" Gets a random synonym from the Moby Thesaurus (moby-thes) database.\n" +" \n" +" If given many words, gets a random synonym for each of them.\n" +" \n" +" Quote phrases to have them treated as one lookup word.\n" +" " +msgstr "" +" [ ...]\n" +" Ricava un sinonimo casuale dal database di Moby Thesaurus (moby-thes).\n" +" \n" +" Se si sono fornite più parole, ottiene un sinonimo casuale per ognuna.\n" +" \n" +" Affinché esse vengano trattate come un'unica frase, racchiuderle tra virgolette.\n" +" " + diff --git a/plugins/Limiter/locale/it.po b/plugins/Limiter/locale/it.po new file mode 100644 index 000000000..ccab1b499 --- /dev/null +++ b/plugins/Limiter/locale/it.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-15 13:37+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:46 +msgid "" +"Determines whether the bot will maintain the\n" +" channel limit to be slightly above the current number of people in the\n" +" channel, in order to make clone/drone attacks harder." +msgstr "" +"Determina se il bot manterrà il limite del canale leggermente al di sopra\n" +" del numero di persone attualmente presenti, in modo da rendere più\n" +" difficili gli attacchi di cloni o droni." + +#: config.py:50 +msgid "" +"Determines the minimum number of free\n" +" spots that will be saved when limits are being enforced. This should\n" +" always be smaller than supybot.plugins.Limiter.limit.maximumExcess." +msgstr "" +"Determina il numero minimo di posti liberi che verrà salvato quando saranno\n" +" imposti i limiti. Ciò non dovrebbe essere inferiore al valore di\n" +" supybot.plugins.Limiter.limit.maximumExcess." + +#: config.py:54 +msgid "" +"Determines the maximum number of free spots\n" +" that will be saved when limits are being enforced. This should always be\n" +" larger than supybot.plugins.Limiter.limit.minimumExcess." +msgstr "" +"Determina il numero massimo di posti liberi che verrà salvato quando saranno\n" +" imposti i limiti. Ciò dovrebbe essere sempre maggiore del valore di\n" +" supybot.plugins.Limiter.limit.minimumExcess." + +#: plugin.py:39 +#, docstring +msgid "" +"In order to use this plugin, its config values need to be properly\n" +" setup. supybot.plugins.Limiter.enable needs to be set to True and\n" +" supybot.plugins.Limiter.{maximumExcess,minimumExcess} should be set to\n" +" values appropriate to your channel (if the defaults aren't satisfactory).\n" +" Once these are set, and someone enters/leaves the channel, Supybot will\n" +" start setting the proper +l modes.\n" +" " +msgstr "" +"Per utilizzare questo plugin, è necessario configurare correttamente i valori.\n" +" supybot.plugins.Limiter.enable deve essere impostato a True e\n" +" supybot.plugins.Limiter.{maximumExcess,minimumExcess} va impostato con i\n" +" valori appropriati al canale (se i predefiniti non sono soddisfacenti).\n" +" Una volta definiti, e qualcuno entra o esce dal canale, Supybot imposterà\n" +" il mode +l corretto.\n" +" " + diff --git a/plugins/Note/locale/it.po b/plugins/Note/locale/it.po new file mode 100644 index 000000000..0ffa23c63 --- /dev/null +++ b/plugins/Note/locale/it.po @@ -0,0 +1,119 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-15 13:13+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:181 +#, docstring +msgid "" +",[,[...]] \n" +"\n" +" Sends a new note to the user specified. Multiple recipients may be\n" +" specified by separating their names by commas.\n" +" " +msgstr "" +",[,[...]] \n" +"\n" +" Invia una nuova nota all'utente specificato. Possono essere specificati\n" +" destinatari multipli separando i nomi con una virgola.\n" +" " + +#: plugin.py:197 +#, docstring +msgid "" +" \n" +"\n" +" Sends a note in reply to .\n" +" " +msgstr "" +" \n" +"\n" +" Invia una nota in risposta a .\n" +" " + +#: plugin.py:221 +#, docstring +msgid "" +"\n" +"\n" +" Unsends the note with the id given. You must be the\n" +" author of the note, and it must be unread.\n" +" " +msgstr "" +"\n" +"\n" +" Annulla l'invio di una nota tramite l'id specificato.\n" +" È necessario esserne l'autore e non deve essere stata letta.\n" +" " + +#: plugin.py:253 +#, docstring +msgid "" +"\n" +"\n" +" Retrieves a single note by its unique note id. Use the 'note list'\n" +" command to see what unread notes you have.\n" +" " +msgstr "" +"\n" +"\n" +" Recupera una singola nota tramite il suo id univoco. Per sapere quali\n" +" note non lette si hanno, utilizzare il comando \"note list\".\n" +" " + +#: plugin.py:283 +#, docstring +msgid "" +"[--{regexp} ] [--sent] []\n" +"\n" +" Searches your received notes for ones matching . If --regexp is\n" +" given, its associated value is taken as a regexp and matched against\n" +" the notes. If --sent is specified, only search sent notes.\n" +" " +msgstr "" +"[--{regexp} ] [--sent] []\n" +"\n" +" Cerca le note ricevute che corrispondono a . Se --regexp è\n" +" usato, i valori ad essa associati sono presi come regexp e confrontati\n" +" con le note. Se si specifica --sent, verranno cercate solo le note spedite.\n" +" " + +#: plugin.py:322 +#, docstring +msgid "" +"[--{old,sent}] [--{from,to} ]\n" +"\n" +" Retrieves the ids of all your unread notes. If --old is given, list\n" +" read notes. If --sent is given, list notes that you have sent. If\n" +" --from is specified, only lists notes sent to you from . If\n" +" --to is specified, only lists notes sent by you to .\n" +" " +msgstr "" +"[--{old,sent}] [--{from,to} ]\n" +"\n" +" Recupera gli id di tutte le note non lette. Se --old è specificato,\n" +" elenca quelle lette; --sent elenca quelle spedite; --from solo quelle\n" +" inviate da ; mentre --to elenca le note inviate a .\n" +" " + +#: plugin.py:363 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Retrieves your next unread note, if any.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Recupera la successiva nota non letta, se presente.\n" +" " + diff --git a/plugins/Scheduler/locale/it.po b/plugins/Scheduler/locale/it.po new file mode 100644 index 000000000..161cdc2a7 --- /dev/null +++ b/plugins/Scheduler/locale/it.po @@ -0,0 +1,99 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-15 11:51+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:111 +#, docstring +msgid "Makes a function suitable for scheduling from command." +msgstr "Rende disponibile una funzione per la programmazione a partire da un comando." + +#: plugin.py:131 +#, docstring +msgid "" +" \n" +"\n" +" Schedules the command string to run seconds in the\n" +" future. For example, 'scheduler add [seconds 30m] \"echo [cpu]\"' will\n" +" schedule the command \"cpu\" to be sent to the channel the schedule add\n" +" command was given in (with no prefixed nick, a consequence of using\n" +" echo). Do pay attention to the quotes in that example.\n" +" " +msgstr "" +" \n" +"\n" +" Programma per essere eseguito entro un certo numero di .\n" +" Ad esempio, 'scheduler add [seconds 30m] \"echo [cpu]\"' programmerà il\n" +" comando \"cpu\" per essere inviato in canale (senza il nick come prefisso,\n" +" come utilizzare echo). Prestare attenzione alle virgolette usate nell'esempio.\n" +" " + +#: plugin.py:141 +msgid "Event #%i added." +msgstr "Aggiunto l'evento #%i." + +#: plugin.py:146 +#, docstring +msgid "" +"\n" +"\n" +" Removes the event scheduled with id from the schedule.\n" +" " +msgstr "" +"\n" +"\n" +" Rimuove l'evento programmato tramite l' fornito.\n" +" " + +#: plugin.py:160 plugin.py:162 +msgid "Invalid event id." +msgstr "Id di evento non valido." + +#: plugin.py:176 +#, docstring +msgid "" +" \n" +"\n" +" Schedules the command to run every seconds,\n" +" starting now (i.e., the command runs now, and every seconds\n" +" thereafter). is a name by which the command can be\n" +" unscheduled.\n" +" " +msgstr "" +" \n" +"\n" +" Programma il per essere eseguito ogni certo numero di \n" +" a partire da subito (il comando viene eseguito ora e successivamente ogni\n" +" tot ). è il nome secondo il quale il comando può essere\n" +" rimosso dalla programmazione.\n" +" " + +#: plugin.py:185 +msgid "There is already an event with that name, please choose another name." +msgstr "C'è già un evento con quel nome, sceglierne un altro." + +#: plugin.py:195 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Lists the currently scheduled events.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Elenca gli eventi attualmente programmati.\n" +" " + +#: plugin.py:209 +msgid "There are currently no scheduled commands." +msgstr "Al momento non ci sono comandi programmati." + diff --git a/plugins/ShrinkUrl/locale/it.po b/plugins/ShrinkUrl/locale/it.po new file mode 100644 index 000000000..39589a43f --- /dev/null +++ b/plugins/ShrinkUrl/locale/it.po @@ -0,0 +1,149 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-15 19:49+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:39 +msgid "" +"This plugin offers a snarfer that will go retrieve a shorter\n" +" version of long URLs that are sent to the channel. Would you\n" +" like this snarfer to be enabled?" +msgstr "" +"Questo plugin offre un cattura URL che riporterà una versione accorciata\n" +" di quelli lunghi inviati al canale. Lo si vuole abilitare?\n" + + +#: config.py:45 config.py:49 +#, docstring +msgid "Valid values include 'ln', 'tiny', 'xrl', and 'x0'." +msgstr "I valori validi comprendono \"ln\", \"tiny\", \"xrl\" e \"x0\"." + +#: config.py:71 +msgid "" +"Determines whether the\n" +" shrink snarfer is enabled. This snarfer will watch for URLs in the\n" +" channel, and if they're sufficiently long (as determined by\n" +" supybot.plugins.ShrinkUrl.minimumLength) it will post a\n" +" smaller URL from either ln-s.net or tinyurl.com, as denoted in\n" +" supybot.plugins.ShrinkUrl.default." +msgstr "" +"Determina se l'accorcia URL è abilitato. Questo controllerà gli URL che passano\n" +" in canale e se sono sufficientemente lunghi (determinato da\n" +" supybot.plugins.ShrinkUrl.minimumLength) il bot ne invierà uno più corto\n" +" tramite ln-s.net o tinyurl.com, come definito in supybot.plugins.ShrinkUrl.default." + +#: config.py:78 +msgid "" +"Determines whether the snarfer will show the\n" +" domain of the URL being snarfed along with the shrunken URL." +msgstr "" +"Determina se l'accorcia URL mostrerà il dominio dell'URL originale assieme a quello accorciato." + +#: config.py:81 +msgid "" +"The minimum length a URL must be before\n" +" the bot will shrink it." +msgstr "" +"La lunghezza minima che un URL deve avere affinché il bot decida di accorciarlo." + +#: config.py:84 +msgid "" +"Determines what URLs are to be snarfed; URLs\n" +" matching the regexp given will not be snarfed. Give the empty string if\n" +" you have no URLs that you'd like to exclude from being snarfed." +msgstr "" +"Determina quali URL debbano essere intercettati; quelli che corrispondono alla\n" +" regexp fornita non verranno coinvolti. Se non si vuole escludere alcun URL,\n" +" aggiungere una stringa vuota." + +#: config.py:88 +msgid "" +"Determines whether the bot will shrink the\n" +" URLs of outgoing messages if those URLs are longer than\n" +" supybot.plugins.ShrinkUrl.minimumLength." +msgstr "" +"Determina se il bot accorcerà gli URL dei messaggi in uscita se questi sono più\n" +" lunghi del valore di supybot.plugins.ShrinkUrl.minimumLength." + +#: config.py:92 +msgid "" +"Determines what website the bot will use when\n" +" shrinking a URL." +msgstr "" +"Determina quale sito web il bot userà per accorciare un URL." + +#: config.py:95 +msgid "" +"Determines whether this plugin will bold\n" +" certain portions of its replies." +msgstr "" +"Determina se il plugin riporterà in grassetto alcune porzioni delle risposte." + +#: config.py:98 +msgid "" +"If set to a non-empty value, specifies the list of\n" +" services to rotate through for the shrinkSnarfer and outFilter." +msgstr "" +"Se impostato ad un valore non vuoto, specifica l'elenco dei servizi a cui\n" +" rivolgersi per le variabili shrinkSnarfer e outFilter." + +#: plugin.py:169 +#, docstring +msgid "" +"\n" +"\n" +" Returns an ln-s.net version of .\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce una versione di ln-s.net di .\n" +" " + +#: plugin.py:194 +#, docstring +msgid "" +"\n" +"\n" +" Returns a TinyURL.com version of \n" +" " +msgstr "" +"\n" +"\n" +" Restituisce una versione di TinyURL.com di \n" +" " + +#: plugin.py:222 +#, docstring +msgid "" +"\n" +"\n" +" Returns an xrl.us version of .\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce una versione di xrl.us di .\n" +" " + +#: plugin.py:248 +#, docstring +msgid "" +"\n" +"\n" +" Returns an x0.no version of .\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce una versione di x0.no di .\n" +" " + diff --git a/plugins/URL/locale/it.po b/plugins/URL/locale/it.po new file mode 100644 index 000000000..8f1a26d09 --- /dev/null +++ b/plugins/URL/locale/it.po @@ -0,0 +1,71 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-15 10:54+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:45 +msgid "" +"Determines what URLs are not to be snarfed and\n" +" stored in the database for the channel; URLs matching the given regexp will\n" +" not be snarfed. Give the empty string if you have no URLs that you'd like\n" +" to exclude from being snarfed." +msgstr "" +"Determina quali URL non vanno intercettati e memorizzati nel database del canale;\n" +" quelli che corrispondono alla regexp fornita non verranno coinvolti.\n" +" Se non si vuole escludere alcun URL, aggiungere una stringa vuota.\n" + +#: plugin.py:89 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the number of URLs in the URL database. is only\n" +" required if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Restituisce il numero di URL nel database. è richiesto\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:96 +msgid "I have %n in my database." +msgstr "Ho %n nel mio database." + +#: plugin.py:101 +#, docstring +msgid "" +"[] [--{from,with,without,near,proto} ] [--nolimit]\n" +"\n" +" Gives the last URL matching the given criteria. --from is from whom\n" +" the URL came; --proto is the protocol the URL used; --with is something\n" +" inside the URL; --without is something that should not be in the URL;\n" +" --near is something in the same message as the URL. If --nolimit is\n" +" given, returns all the URLs that are found to just the URL.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [--{from,with,without,near,proto} ] [--nolimit]\n" +"\n" +" Fornisce l'ultimo URL che corrisponde al criterio specificato. --from equivale\n" +" a chi ha inserito l'URL; --proto è il protocollo dell'URL usato; --with è\n" +" qualcosa all'interno dell'URL, mentre --without è qualcosa non presente;\n" +" --near qualcosa nell'URL stesso. Se --nolimit è specificato, restituisce\n" +" tutti gli URL euivalenti a URL trovati. è necessario solo se il\n" +" messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:143 +msgid "No URLs matched that criteria." +msgstr "Nessun URL corrisponde a questo criterio." + diff --git a/plugins/Utilities/locale/it.po b/plugins/Utilities/locale/it.po new file mode 100644 index 000000000..f0d8330f6 --- /dev/null +++ b/plugins/Utilities/locale/it.po @@ -0,0 +1,135 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-15 18:37+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:45 +#, docstring +msgid "" +"requires no arguments\n" +"\n" +" Does nothing. Useful sometimes for sequencing commands when you don't\n" +" care about their non-error return values.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Non fa niente. Utile per eseguire comandi in sequenza quando non ci si\n" +" cura del valore di non errore restituito.\n" +" " + +#: plugin.py:59 +#, docstring +msgid "" +"[]\n" +"\n" +" Does nothing except to reply with a success message. This is useful\n" +" when you want to run multiple commands as nested commands, and don't\n" +" care about their output as long as they're successful. An error, of\n" +" course, will break out of this command. , if given, will be\n" +" appended to the end of the success message.\n" +" " +msgstr "" +"[]\n" +"\n" +" Non fa nient'altro che rispondere con un messaggio di successo. Utile\n" +" quando si vuole eseguire comandi multipli come nidificati, e non ci si\n" +" cura del loro output finché questi riescono con successo. Un errore,\n" +" naturalmente, interromperà questo comando. , se fornito, sarà\n" +" aggiunto alla fine del messaggio di successo.\n" +" " + +#: plugin.py:72 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Returns the last argument given. Useful when you'd like multiple\n" +" nested commands to run, but only the output of the last one to be\n" +" returned.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Restituisce l'ultimo argomento dato. Utile quando si vogliono eseguire\n" +" comandi nidificati ottenendo solo l'output dell'ultimo.\n" +" " + +#: plugin.py:86 +#, docstring +msgid "" +"\n" +"\n" +" Returns the arguments given it. Uses our standard substitute on the\n" +" string(s) given to it; $nick (or $who), $randomNick, $randomInt,\n" +" $botnick, $channel, $user, $host, $today, $now, and $randomDate are all\n" +" handled appropriately.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce gli argomenti dati. Utilizza il nostro sistema di sostituzione\n" +" standard con la stringa fornita; $nick (o $who), $randomNick, $randomInt, $botnick,\n" +" $channel, $user, $host, $today, $now e $randomDate sono tutte gestite correttamente.\n" +" " + +#: plugin.py:99 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Shuffles the arguments given.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Mescola gli argomenti forniti.\n" +" " + +#: plugin.py:109 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Randomly chooses items out of the arguments given.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Sceglie in modo casuale un certo di argomenti.\n" +" " + +#: plugin.py:122 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Counts the arguments given.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Conta gli argomenti forniti.\n" +" " + +#: plugin.py:131 +#, docstring +msgid "" +" \n" +"\n" +" Tokenizes and calls with the resulting arguments.\n" +" " +msgstr "" +" \n" +"\n" +" Tokenizza e chiama con gli argomenti risultanti.\n" +" " + From 4f91a62f2747dfd7ae47dac1521c069d00165bf0 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 16 Jun 2011 19:08:48 +0200 Subject: [PATCH 018/244] Update version --- src/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.py b/src/version.py index e70bdf65e..bfaff63e3 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-06-05T20:30:31+0200)' +version = '0.83.4.1+limnoria (2011-06-16T19:08:48+0200)' From ebb3aae81c13db0bb7c4a185ab13b2713e104db4 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 17 Jun 2011 15:36:38 +0200 Subject: [PATCH 019/244] Raise an exception when plugin is not found instead of returning None in i18n.getPluginDir() --- src/i18n.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n.py b/src/i18n.py index 8c812d212..3f64a82c9 100644 --- a/src/i18n.py +++ b/src/i18n.py @@ -88,7 +88,7 @@ def getPluginDir(plugin_name): for allowed_file in allowed_files: if filename.endswith(allowed_file): return filename[0:-len(allowed_file)] - return + raise Exception('Plugin %s not found by i18n.' % plugin_name) def getLocalePath(name, localeName, extension): """Gets the path of the locale file of the given plugin ('supybot' stands From 84693828951b10caa0c9681ac2dd5efc217f7b15 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 17 Jun 2011 19:41:12 +0200 Subject: [PATCH 020/244] Dict: fix l10n-fi. --- plugins/Dict/locale/fi.po | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/plugins/Dict/locale/fi.po b/plugins/Dict/locale/fi.po index d6764fb91..76a71ebd9 100644 --- a/plugins/Dict/locale/fi.po +++ b/plugins/Dict/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-08 10:59+0200\n" +"PO-Revision-Date: 2011-06-17 20:36+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,11 +16,11 @@ msgstr "" #: config.py:38 msgid "The default dictd server is dict.org." -msgstr "Oletus dictd palvelin on dict.org." +msgstr "Oletus dictd-palvelin on dict.org." #: config.py:39 msgid "Would you like to specify a different dictd server?" -msgstr "Tahtoisitko määrittää eri dictd palvelimen?" +msgstr "Tahtoisitko määrittää eri dictd-palvelimen?" #: config.py:45 msgid "" @@ -41,7 +41,6 @@ msgstr "" "käyttää kaikkia sanakirjoja määrittääkseen sanat." #: plugin.py:54 -#, fuzzy msgid "" "takes no arguments\n" "\n" @@ -50,7 +49,7 @@ msgid "" msgstr "" "Ei ota parametrejä\n" "\n" -" Palauttaa sanakirjojen kelvollisen dict komennolle.\n" +" Palauttaa sanakirjat, jotka kelpaavat dict komennolle.\n" " " #: plugin.py:70 @@ -75,7 +74,7 @@ msgid "" msgstr "" "[] \n" "\n" -" Etsii määritystä dictd palvelimelta, joka on määritetty\n" +" Etsii määritystä dictd-palvelimelta, joka on määritetty\n" " supybot.plugins.Dict.server asetus arvossa.\n" " " From 2ef000451789806a3a29d3b33ca054f9ebce0a87 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 17 Jun 2011 19:42:25 +0200 Subject: [PATCH 021/244] Filter: Add l10n-fi. --- plugins/Filter/locale/fi.po | 685 ++++++++++++++++++++++++++++++++++++ 1 file changed, 685 insertions(+) create mode 100644 plugins/Filter/locale/fi.po diff --git a/plugins/Filter/locale/fi.po b/plugins/Filter/locale/fi.po new file mode 100644 index 000000000..d9f4a546e --- /dev/null +++ b/plugins/Filter/locale/fi.po @@ -0,0 +1,685 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-17 20:32+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:38 +msgid "" +"Determines whether or not to\n" +" replace letters in the output of spellit." +msgstr "" +"Määrittää\n" +" korvataanko kirjaimet spellitin ulostulolla." + +#: config.py:41 +msgid "" +"Determines whether or not\n" +" to replace punctuation in the output of spellit." +msgstr "" +"Määrittää korvataanko\n" +" välimerkit spellitin ulostulolla.." + +#: config.py:44 +msgid "" +"Determines whether or not to\n" +" replace numbers in the output of spellit." +msgstr "" +"Määrittää\n" +" korvataanko numerot spellitin ulostulolla." + +#: config.py:48 +msgid "" +"Determines the minimum number of a letters\n" +" in a word before it will be shrunken by the shrink command/filter." +msgstr "" +"Määritää minimi määrän kirjaimia\n" +" sanassa ennen kuin se kutistetaan kutitus komennolla / suodattimella." + +#: plugin.py:50 +msgid "" +"This plugin offers several commands which transform text in some way.\n" +" It also provides the capability of using such commands to 'filter' the\n" +" output of the bot -- for instance, you could make everything the bot says\n" +" be in leetspeak, or Morse code, or any number of other kinds of filters.\n" +" Not very useful, but definitely quite fun :)" +msgstr "" +"Tämä lisäosa tarjoaa muutamia komentoja, jotka muuttavat tekstiä jollakin tavalla.\n" +" Se antaa myös valtuuden käyttää komentoja, jotka 'suodattavat' \n" +" botin ulostuloa -- esimerkiksi voit saada kaiken mitä botti sanoo olevan \n" +" leetspeakilla, tai Morsen aakkosilla, tai monen muunlaisella suodattimella.\n" +" Ei kovin hyödyllinen, mutta varmasti aika hauska :)" + +#: plugin.py:84 +msgid "" +"[] []\n" +"\n" +" Sets the outFilter of this plugin to be . If no command is\n" +" given, unsets the outFilter. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Asettaa tämän lisäosan ulostulo suodatuksen . Jos komentoa ei ole\n" +" annettu, poistaa ulostulo suodattminen. on vaadittu vain jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:97 +msgid "That's not a valid filter command." +msgstr "Tuo ei ole kelvollinen filter komento." + +#: plugin.py:107 +msgid "" +"\n" +"\n" +" Removes all the vowels from . (If you're curious why this is\n" +" named 'hebrew' it's because I (jemfinch) thought of it in Hebrew class,\n" +" and printed Hebrew often elides the vowels.)\n" +" " +msgstr "" +"\n" +"\n" +" Poistaa kaikki vokaalit . (Jos olet utelias miksi tämä on\n" +" nimeltään 'hebrew', se johtuu siitä, että minä (jemfinch) luulin sitä Hepreaksi,\n" +" ja tulostin Hebrewin usein vokaaleilla.)\n" +" " + +#: plugin.py:119 +msgid "" +"\n" +"\n" +" Removes all the spaces from .\n" +" " +msgstr "" +"\n" +"\n" +" Poistaa kaikki välilyönnit .\n" +" " + +#: plugin.py:129 +msgid "" +"\n" +"\n" +" Returns , with all consecutive duplicated letters removed.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa , kaikki peräkkäiset samat kaksi kirjainta poistettuna.\n" +" " + +#: plugin.py:142 +msgid "" +"\n" +"\n" +" Returns the binary representation of .\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa binääri esitelmänä.\n" +" " + +#: plugin.py:168 +msgid "" +"\n" +"\n" +" Returns the character representation of binary .\n" +" Assumes ASCII, 8 digits per character.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa binäärimerkki esityksen.\n" +" Olettaa ASCII, 8 numeroa per merkki.\n" +" " + +#: plugin.py:179 +msgid "" +"\n" +"\n" +" Returns a hexstring from the given string; a hexstring is a string\n" +" composed of the hexadecimal value of each character in the string\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa heksaketjun annetusta ketjusta; heksaketju on ketju, jonka muodostaa\n" +" jokaisen ketjussa olevan merkin heksadesimaaliarvo. \n" +" " + +#: plugin.py:189 +msgid "" +"\n" +"\n" +" Returns the string corresponding to . Obviously,\n" +" must be a string of hexadecimal digits.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa ketjun joka vastaa . Ilmeisesti,\n" +" täytyy olla ketju heksadesimaalisia numeroita.\n" +" " + +#: plugin.py:197 +msgid "Invalid input." +msgstr "Virheellinen sisääntulo." + +#: plugin.py:202 +msgid "" +"\n" +"\n" +" Rotates 13 characters to the right in the alphabet. Rot13 is\n" +" commonly used for text that simply needs to be hidden from inadvertent\n" +" reading by roaming eyes, since it's easily reversible.\n" +" " +msgstr "" +"\n" +"\n" +" Kääntää kolmetoista merkkiä oikealle aakkosissa. Rot13 käytetään\n" +" tekstissä, joka yksinkertaisesti täytyy piilottaa huomaamattomasti\n" +" lukijan harhailevilta silmiltä, koska se on helposti kumottavissa.\n" +" " + +#: plugin.py:213 +msgid "" +"\n" +"\n" +" Returns the lisping version of \n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa sammaltavan version .\n" +" " + +#: plugin.py:244 +msgid "" +"\n" +"\n" +" Returns the l33tspeak version of \n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa l33tspeak version \n" +" " + +#: plugin.py:264 +msgid "" +"\n" +"\n" +" Replies with an especially k-rad translation of .\n" +" " +msgstr "" +"\n" +"\n" +" Vastaa ilmeisesti k-rad käännöksellä.\n" +" " + +#: plugin.py:280 +msgid "" +"\n" +"\n" +" Replies with a string where each word is scrambled; i.e., each internal\n" +" letter (that is, all letters but the first and last) are shuffled.\n" +" " +msgstr "" +"\n" +"\n" +" Vastaa ketjulla, jossa jokainen sana on sekaisin; esim., jokainen sisänen\n" +" kirjain (eli kaikki kirjaimet paitsi ensinmäinen ja viimeinen) sekoitetaan.\n" +" " + +#: plugin.py:345 +msgid "" +"\n" +"\n" +" Does the reverse of the morse command.\n" +" " +msgstr "" +"\n" +"\n" +" Tekee morse komennon käänteisenä.\n" +" " + +#: plugin.py:362 +msgid "" +"\n" +"\n" +" Gives the Morse code equivalent of a given string.\n" +" " +msgstr "" +"\n" +"\n" +" Antaa annetun ketjun Morsen aakkosilla.\n" +" " + +#: plugin.py:374 +msgid "" +"\n" +"\n" +" Reverses .\n" +" " +msgstr "" +"\n" +"\n" +" Kääntää .\n" +" " + +#: plugin.py:391 +msgid "" +"\n" +"\n" +" Returns with each character randomly colorized.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa niin, että jokainen merkki on satunnaisesti värjätty.\n" +" " + +#: plugin.py:401 +msgid "" +"\n" +"\n" +" Returns colorized like a rainbow.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa sateenkaaren väreillä.\n" +" " + +#: plugin.py:412 +msgid "" +"\n" +"\n" +" Returns stripped of all color codes.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa kaikki värikoodit riisuttuna.\n" +" " + +#: plugin.py:421 +msgid "" +"\n" +"\n" +" Returns as if an AOLuser had said it.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa kuin AOL käyttäjä olisi sanonut sen.\n" +" " + +#: plugin.py:448 +msgid "" +"\n" +"\n" +" Returns as if JeffK had said it himself.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa kuin JeffK olisi sanonut sen itse.\n" +" " + +#: plugin.py:544 +msgid "ay" +msgstr "aa" + +#: plugin.py:544 +msgid "bee" +msgstr "bee" + +#: plugin.py:544 +msgid "dee" +msgstr "dee" + +#: plugin.py:544 +msgid "see" +msgstr "see" + +#: plugin.py:545 +msgid "aych" +msgstr "hoo" + +#: plugin.py:545 +msgid "ee" +msgstr "ee" + +#: plugin.py:545 +msgid "eff" +msgstr "äf" + +#: plugin.py:545 +msgid "gee" +msgstr "gee" + +#: plugin.py:546 +msgid "ell" +msgstr "äll" + +#: plugin.py:546 +msgid "eye" +msgstr "iii" + +#: plugin.py:546 +msgid "jay" +msgstr "jii" + +#: plugin.py:546 +msgid "kay" +msgstr "koo" + +#: plugin.py:547 +msgid "cue" +msgstr "quu" + +#: plugin.py:547 +msgid "em" +msgstr "äm" + +#: plugin.py:547 +msgid "en" +msgstr "än" + +#: plugin.py:547 +msgid "oh" +msgstr "oo" + +#: plugin.py:547 +msgid "pee" +msgstr "pee" + +#: plugin.py:548 +msgid "arr" +msgstr "är" + +#: plugin.py:548 +msgid "ess" +msgstr "äs" + +#: plugin.py:548 +msgid "tee" +msgstr "tee" + +#: plugin.py:548 +msgid "you" +msgstr "uu" + +#: plugin.py:549 +msgid "double-you" +msgstr "tupla-vee" + +#: plugin.py:549 +msgid "ecks" +msgstr "äks" + +#: plugin.py:549 +msgid "vee" +msgstr "vee" + +#: plugin.py:549 +msgid "why" +msgstr "yy" + +#: plugin.py:550 +msgid "zee" +msgstr "zet" + +#: plugin.py:555 +msgid "exclamation point" +msgstr "huutomerkki" + +#: plugin.py:556 +msgid "quote" +msgstr "lainausmerkki" + +#: plugin.py:557 +msgid "pound" +msgstr "punta" + +#: plugin.py:558 +msgid "dollar sign" +msgstr "dollari merkki" + +#: plugin.py:559 +msgid "percent" +msgstr "prosentti" + +#: plugin.py:560 +msgid "ampersand" +msgstr "at-merkki" + +#: plugin.py:561 +msgid "single quote" +msgstr "heittomerkki" + +#: plugin.py:562 +#, fuzzy +msgid "left paren" +msgstr "vasen kantatuote" + +#: plugin.py:563 +#, fuzzy +msgid "right paren" +msgstr "oikea kantatuote" + +#: plugin.py:564 +msgid "asterisk" +msgstr "tähti" + +#: plugin.py:565 +msgid "plus" +msgstr "plus" + +#: plugin.py:566 +msgid "comma" +msgstr "pilkku" + +#: plugin.py:567 +msgid "minus" +msgstr "miinus" + +#: plugin.py:568 +msgid "period" +msgstr "piste" + +#: plugin.py:569 +msgid "slash" +msgstr "kauttaviiva" + +#: plugin.py:570 +msgid "colon" +msgstr "puolipiste" + +#: plugin.py:571 +msgid "semicolon" +msgstr "puoli piste" + +#: plugin.py:572 +msgid "less than" +msgstr "pienempi kuin" + +#: plugin.py:573 +msgid "equals" +msgstr "täsmäävä" + +#: plugin.py:574 +msgid "greater than" +msgstr "suurempi kuin" + +#: plugin.py:575 +msgid "question mark" +msgstr "kysymysmerkki" + +#: plugin.py:576 +msgid "at" +msgstr "miukumauku" + +#: plugin.py:577 +msgid "left bracket" +msgstr "vasen hakasulku" + +#: plugin.py:578 +msgid "backslash" +msgstr "vasen kenoviiva" + +#: plugin.py:579 +msgid "right bracket" +msgstr "oikea hakasulku" + +#: plugin.py:580 +msgid "caret" +msgstr "sirkumfleksi" + +#: plugin.py:581 +msgid "underscore" +msgstr "alaviiva" + +#: plugin.py:582 +#, fuzzy +msgid "backtick" +msgstr "backtick" + +#: plugin.py:583 +#, fuzzy +msgid "left brace" +msgstr "vasen hammasraudat" + +#: plugin.py:584 +msgid "pipe" +msgstr "putki" + +#: plugin.py:585 +#, fuzzy +msgid "right brace" +msgstr "oikea hammasraudat" + +#: plugin.py:586 +msgid "tilde" +msgstr "vinoviiva" + +#: plugin.py:589 +msgid "one" +msgstr "yksi" + +#: plugin.py:589 +msgid "three" +msgstr "kolme" + +#: plugin.py:589 +msgid "two" +msgstr "kaksi" + +#: plugin.py:589 +msgid "zero" +msgstr "nolla" + +#: plugin.py:590 +msgid "five" +msgstr "viisi" + +#: plugin.py:590 +msgid "four" +msgstr "neljä" + +#: plugin.py:590 +msgid "seven" +msgstr "seitsemän" + +#: plugin.py:590 +msgid "six" +msgstr "kuusi" + +#: plugin.py:591 +msgid "eight" +msgstr "kahdeksan" + +#: plugin.py:591 +msgid "nine" +msgstr "yhdeksän" + +#: plugin.py:595 +msgid "" +"\n" +"\n" +" Returns , phonetically spelled out.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa , foneettisesti kirjoitettuna.\n" +" " + +#: plugin.py:625 +msgid "" +"\n" +"\n" +" Returns as GNU/RMS would say it.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa kuin GNU/RMS sanoisi sen.\n" +" " + +#: plugin.py:634 +msgid "" +"\n" +"\n" +" Returns with each word longer than\n" +" supybot.plugins.Filter.shrink.minimum being shrunken (i.e., like\n" +" \"internationalization\" becomes \"i18n\").\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa jokainen sana joka on suurempi kuin\n" +" supybot.plugins.Filter.shrink.minimum kutistettuna (esim., kuten\n" +" \"internationalization\" tulee \"i18n\").\n" +" " + +#: plugin.py:653 +msgid "" +"\n" +"\n" +" Returns with the l's made into r's and r's made into l's.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa l:ät muutettuna r:iksi made, jotka on tehty l:ksi.\n" +" " + +#: plugin.py:702 +msgid "" +"\n" +"\n" +" Returns rotated 180 degrees. Only really works for ASCII\n" +" printable characters.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa 180 astetta käännettynä. Toimii vain ASCII\n" +" tulostettavilla merkeillä.\n" +" " + From 5cd607f018e67de99ccd4bb6384fef21cdd93802 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Mon, 20 Jun 2011 18:31:33 +0200 Subject: [PATCH 022/244] Format & Games: Add Finnish translation. --- plugins/Format/locale/fi.po | 240 ++++++++++++++++++++++++++++++++++++ plugins/Games/locale/fi.po | 148 ++++++++++++++++++++++ 2 files changed, 388 insertions(+) create mode 100644 plugins/Format/locale/fi.po create mode 100644 plugins/Games/locale/fi.po diff --git a/plugins/Format/locale/fi.po b/plugins/Format/locale/fi.po new file mode 100644 index 000000000..1e73c4cfa --- /dev/null +++ b/plugins/Format/locale/fi.po @@ -0,0 +1,240 @@ +# Format plugin in Limnoria +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-19 23:14+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:43 +msgid "" +"\n" +"\n" +" Returns bolded.\n" +" " +msgstr "" +"\n" +"\n" +" Palautttaa korostettuna.\n" +" " + +#: plugin.py:52 +msgid "" +"\n" +"\n" +" Returns in reverse-video.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa käänteis-videona..\n" +" " + +#: plugin.py:61 +msgid "" +"\n" +"\n" +" Returns underlined.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa alleviivattuna.\n" +" " + +#: plugin.py:70 +msgid "" +" [] \n" +"\n" +" Returns with foreground color and background color\n" +" (if given)\n" +" " +msgstr "" +" [] \n" +"\n" +" Palauttaa etuala värillä ja tausta värillä\n" +" (jos annettu)\n" +" " + +#: plugin.py:80 +msgid "" +" [ ...]\n" +"\n" +" Joins all the arguments together with .\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Yhdistää kaikki parametrit yhteen .\n" +" " + +#: plugin.py:89 +msgid "" +" \n" +"\n" +" Replaces with in\n" +" . The first and second arguments must necessarily be the same\n" +" length.\n" +" " +msgstr "" +" \n" +"\n" +" Korvaa \n" +" . Ensinmäisen ja viimeisen parametrin täytyy olla täsmälleen saman\n" +" pituisia.\n" +" " + +#: plugin.py:96 +msgid " must be the same length as ." +msgstr " täytyy olla saman pituisia, kuin ." + +#: plugin.py:103 +msgid "" +" \n" +"\n" +" Replaces all non-overlapping occurrences of \n" +" with in .\n" +" " +msgstr "" +" \n" +"\n" +" Korvaa kaikki ei-ylilyövät sattumat \n" +" .\n" +" " + +#: plugin.py:112 +msgid "" +"\n" +"\n" +" Returns uppercased.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa isoilla kirjaimilla.\n" +" " + +#: plugin.py:121 +msgid "" +"\n" +"\n" +" Returns lowercased.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa pienillä kirjaimilla.\n" +" " + +#: plugin.py:130 +#, fuzzy +msgid "" +"\n" +"\n" +" Returns capitalized.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa aktivoituna.\n" +" " + +#: plugin.py:139 +msgid "" +"\n" +"\n" +" Returns titlecased.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa otsikoituna.\n" +" " + +#: plugin.py:148 +msgid "" +"\n" +"\n" +" Returns the text surrounded by double quotes.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa tekstin kahden lainausmerkin sisällä.\n" +" " + +#: plugin.py:157 +msgid "" +" \n" +"\n" +" Concatenates two strings. Do keep in mind that this is *not* the same\n" +" thing as join \"\", since if contains spaces, they won't be\n" +" removed by concat.\n" +" " +msgstr "" +" \n" +"\n" +" Liittää merkkiketjut yhteen. Pidä mielessä että tämä *ei* ole sama\n" +" asia kuin liitä \"\", koska jos sisältää välilyöntejä, ne eivät tule\n" +" liitoksen poistamiksi.\n" +" " + +#: plugin.py:168 +msgid "" +" \n" +"\n" +" Cuts down to by chopping off the rightmost characters in\n" +" excess of . If is a negative number, it chops that many\n" +" characters off the end of .\n" +" " +msgstr "" +" \n" +"\n" +" Leikkaa katkaisemalla oikeimmat\n" +" pääsyt. Jos on negatiivinen numero, se leikkaa niin monta\n" +" merkkiä lopusta.\n" +" " + +#: plugin.py:179 +msgid "" +" \n" +"\n" +" Returns the th space-separated field of . I.e., if text\n" +" is \"foo bar baz\" and is 2, \"bar\" is returned.\n" +" " +msgstr "" +" \n" +"\n" +" Palauttaa :nen välilyönnillä erotetut osan . Esim. jos teksti\n" +" on \"foo bar baz\" ja on 2, palauttaa \"bar\ :in.\".\n" +" " + +#: plugin.py:192 +#, fuzzy +msgid "" +" [ ...]\n" +"\n" +" Expands a Python-style format string using the remaining args. Just be\n" +" sure always to use %s, not %d or %f or whatever, because all the args\n" +" are strings.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Laajentaa Python-tyylistä merkkiketjua käyttämällä jäljellä olevia parametrejä. Ole varma, että käytät\n" +" aina vain %s:ää, etkä %d:tä tai %f:ää tai mitä tahansa, koska kaikki parametrit ovat\n" +" merkkiketjuja.\n" +" " + +#: plugin.py:206 +msgid "Not enough arguments for the format string." +msgstr "Ei tarpeeksi parametrejä formaatti merkkiketjulle." + diff --git a/plugins/Games/locale/fi.po b/plugins/Games/locale/fi.po new file mode 100644 index 000000000..3d832c100 --- /dev/null +++ b/plugins/Games/locale/fi.po @@ -0,0 +1,148 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-20 14:04+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:46 +msgid "" +"takes no arguments\n" +"\n" +" Flips a coin and returns the result.\n" +" " +msgstr "" +"ei ota parametrejä\n" +"\n" +" Heittää rahan ja palauttaa tuloksen.\n" +" " + +#: plugin.py:51 +msgid "heads" +msgstr "kruuna" + +#: plugin.py:53 +msgid "tails" +msgstr "klaava" + +#: plugin.py:58 +msgid "" +"d\n" +"\n" +" Rolls a die with number of sides times.\n" +" For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10\n" +" ten-sided dice.\n" +" " +msgstr "" +"d\n" +"\n" +" Heittää noppaa sivujen lukumäärä kertaa.\n" +" Esimerkiksi, 2d6 heittää 2 kuusisivuista noppaa; 10d10 heittää 10\n" +" kymmenen-sivuista noppaa.\n" +" " + +#: plugin.py:66 +msgid "You can't roll more than 1000 dice." +msgstr "Et voi heittää useampaa kuin tuhatta noppaa." + +#: plugin.py:68 +msgid "Dice can't have more than 100 sides." +msgstr "Nopalla ei voi olla useampaa kuin sataa sivua." + +#: plugin.py:70 +msgid "Dice can't have fewer than 3 sides." +msgstr "Nopalla ei voi olla vähempää kuin kolmea sivua." + +#: plugin.py:78 +msgid "Dice must be of the form d" +msgstr "Nopan täytyy olla muodossa d." + +#: plugin.py:82 +msgid "It is possible.|Yes!|Of course.|Naturally.|Obviously.|It shall be.|The outlook is good.|It is so.|One would be wise to think so.|The answer is certainly yes." +msgstr "Se on mahdollista.|Kyllä!|Tietysti.|Luonnollisesti.|Ilmeisesti.|Olkoon niin.|Hyvät näkymät.|Se on niin.|Erään olisi viisasta ajatella niin.|Vastaus on varmasti kyllä." + +#: plugin.py:86 +msgid "In your dreams.|I doubt it very much.|No chance.|The outlook is poor.|Unlikely.|About as likely as pigs flying.|You're kidding, right?|NO!|NO.|No.|The answer is a resounding no." +msgstr "Unissasi.|Minä epäilen sitä kovasti.|Ei mahdollista.|Näkymät ovat huonot.|Epätodennäköisesti.|Yhtä toden näköisesti siat lentävät.|Kai sinä pilailet?|EI!|EI.|Ei.|Vastaus on raikuva ei." + +#: plugin.py:90 +msgid "Maybe...|No clue.|_I_ don't know.|The outlook is hazy, please ask again later.|What are you asking me for?|Come again?|You know the answer better than I.|The answer is def-- oooh! shiny thing!" +msgstr "Ehkäpä...|Ei tietoa.|_Minä_ en tiedä.|Näkymä on sotkuinen, ole hyvä ja kysy myöhemmin uudelleen.|Miksi kysyt minulta?|Tule uudelleen?|Sinä tiedät vastauksen paremmin kuin minä.|Vastaus on var-- oooh! kiiltävä esine!" + +#: plugin.py:107 +msgid "" +"[]\n" +"\n" +" Ask a question and the answer shall be provided.\n" +" " +msgstr "" +"[]\n" +"\n" +" Kysy kysymys ja vastaus annetaan.\n" +" " + +#: plugin.py:121 +msgid "" +"[spin]\n" +"\n" +" Fires the revolver. If the bullet was in the chamber, you're dead.\n" +" Tell me to spin the chambers and I will.\n" +" " +msgstr "" +"[pyörähdys]\n" +"\n" +" Ampuu revolverillä. Jos luoti oli kammiossa, olet kuollut.\n" +" Käske minun pyöräyttää kammiota ja minä teen sen.\n" +" " + +#: plugin.py:128 +msgid "*SPIN* Are you feeling lucky?" +msgstr "*Pyörähdys* Tuntuuko sinusta onnekkaalta?" + +#: plugin.py:137 +msgid "*BANG* Hey, who put a blank in here?!" +msgstr "*PANG* Hei, kuka laittoi tuon laudan tuohon?!" + +#: plugin.py:139 +msgid "reloads and spins the chambers." +msgstr "Latautuu ja pyöräyttää kammioita." + +#: plugin.py:141 +msgid "*click*" +msgstr "*klick*" + +#: plugin.py:148 +msgid "" +"[]\n" +"\n" +" Returns the number of consecutive lines you've sent in \n" +" without being interrupted by someone else (i.e. how long your current\n" +" 'monologue' is). is only necessary if the message isn't sent\n" +" in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Palauttaa jatkuvan määrän rivejä, jotka olet lähettänyt \n" +" tulematta kenenkään muun keskeyttämäksi (esim. kuinka pitkä nykyinen\n" +" 'monologisi' on). on vaadittu vain jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " + +#: plugin.py:167 +msgid "Your current monologue is at least %n long." +msgstr "Sinun nykyinen monologisi on ainakin %n pitkä." + +#: plugin.py:168 +msgid "line" +msgstr "rivi" + From cdb54322a7ff9e7b851bf50e054e1f1e5a93afd6 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Tue, 21 Jun 2011 18:24:01 +0200 Subject: [PATCH 023/244] Google: Add Finnish translation. --- plugins/Google/locale/fi.po | 262 ++++++++++++++++++++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 plugins/Google/locale/fi.po diff --git a/plugins/Google/locale/fi.po b/plugins/Google/locale/fi.po new file mode 100644 index 000000000..a4c5e06cf --- /dev/null +++ b/plugins/Google/locale/fi.po @@ -0,0 +1,262 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-20 22:53+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:39 +msgid "" +"The Google plugin has the functionality to watch for URLs\n" +" that match a specific pattern. (We call this a snarfer)\n" +" When supybot sees such a URL, it will parse the web page\n" +" for information and reply with the results." +msgstr "" +"Google lisäosalla on toiminnallisuus vahtia URL:eja, jotka\n" +" täsmäävät tiettyyn kuvioon. (Me kutsumme tätä snarfferiksi)\n" +" Kun supybot näkee sellaisen URL:in, se jäsentää verkkosivun\n" +" tiedolle ja vastaa tuloksilla." + +#: config.py:43 +msgid "Do you want the Google search snarfer enabled by default?" +msgstr "Tahdotko Google haku kaappaajan olevan oletuksenä käytössä?" + +#: config.py:89 +msgid "Value must be 1 <= n <= 8" +msgstr "Arvon täytyy olla 1 <= n <= 8" + +#: config.py:100 +msgid "" +"Determines the URL that will be sent to Google for\n" +" the Referer field of the search requests. If this value is empty, a\n" +" Referer will be generated in the following format:\n" +" http://$server/$botName" +msgstr "" +"Määrittää URLin, joka lähetetään Googlelle\n" +" hakupyyntöjen Referer kenttään. Jos tämä arvo on tyhjä, \n" +" Referer luodaan seuraavassa muodossa:\n" +" http://$palvelin/$botinNimi" + +#: config.py:105 +msgid "" +"Determines whether the search snarfer is\n" +" enabled. If so, messages (even unaddressed ones) beginning with the word\n" +" 'google' will result in the first URL Google returns being sent to the\n" +" channel." +msgstr "" +"Määrittää onko haku kaappaaja\n" +" käytössä. Jos niin, viestit (jopa botille osoittamattomat), jotka alkavat sanalla\n" +" 'google' tuovat ensinmäisen URLin jonka Google haku palauttaa\n" +" kanavalle." + +#: config.py:110 +msgid "" +"Determines whether the word 'google' in the\n" +" bot's output will be made colorful (like Google's logo)." +msgstr "" +"Määrittää tehdäänkö sana 'google'\n" +" botin ulostulossa värikkääksi (kuten Googlen logo)." + +#: config.py:113 +msgid "Determines whether results are bolded." +msgstr "Määrittää korostetaanko viestit." + +#: config.py:115 +msgid "" +"Determines the maximum number of results returned\n" +" from the google command." +msgstr "" +"Määrittää maksimi numeron tuloksia, jotka palaavat\n" +" Google komennolla." + +#: config.py:118 +msgid "" +"Determines what default language is used in\n" +" searches. If left empty, no specific language will be requested." +msgstr "" +"Määrittää mitä oletuskieltä käytetään hauissa.\n" +" jos jätetty tyhjäksi, yhtään tiettyä kieltä ei pyydetä." + +#: config.py:118 +msgid "en" +msgstr "en" + +#: config.py:121 +msgid "" +"Determines what level of search filtering to use\n" +" by default. 'active' - most filtering, 'moderate' - default filtering,\n" +" 'off' - no filtering" +msgstr "" +"Määrittää minkälaista suodatusta käytetään\n" +" oletuksena. 'active' - eniten suodatusta, 'moderate' - oletus suodatus,\n" +" 'off' - ei suodatusta." + +#: plugin.py:101 +msgid "" +"Perform a search using Google's AJAX API.\n" +" search(\"search phrase\", options={})\n" +"\n" +" Valid options are:\n" +" smallsearch - True/False (Default: False)\n" +" filter - {active,moderate,off} (Default: \"moderate\")\n" +" language - Restrict search to documents in the given language\n" +" (Default: \"lang_en\")\n" +" " +msgstr "" +"Tee jaku käyttämällä Googlen AJAX APIa.\n" +" haky(\"hakusana\", asetukset={})\n" +"\n" +" Kelvolliset asetukset ovat:\n" +" smallsearch - True/False (Oletus: False)\n" +" filter - {active,moderate,off} (Oletus: \"moderate\")\n" +" language - Rajoita haku documentteihin annetulla kielellä.\n" +" (Oletus: \"lang_en\")\n" +" " + +#: plugin.py:141 +#: plugin.py:200 +msgid "We broke The Google!" +msgstr "Me hajotimme Googlen!" + +#: plugin.py:161 +msgid "No matches found." +msgstr "Osumia ei löytynyt." + +#: plugin.py:167 +msgid "" +"[--snippet] \n" +"\n" +" Does a google search, but only returns the first result.\n" +" If option --snippet is given, returns also the page text snippet.\n" +" " +msgstr "" +"[--snippet] \n" +"\n" +" Tekee google haun, mutta palauttaa vain ensinmäisen tuloksen.\n" +" Jos --snippet on annettu, palauttaa myös pätkän sivun tekstistä.\n" +" " + +#: plugin.py:184 +msgid "Google found nothing." +msgstr "Google ei löytänyt mitään." + +#: plugin.py:189 +msgid "" +" [--{filter,language} ]\n" +"\n" +" Searches google.com for the given string. As many results as can fit\n" +" are included. --language accepts a language abbreviation; --filter\n" +" accepts a filtering level ('active', 'moderate', 'off').\n" +" " +msgstr "" +" [--{suodatin,kieli} ]\n" +"\n" +" Hakee google.com :ista annetulla merkkiketjulla. Niin monta tulosta, kuin mahtuu\n" +" sisällytetään. --language hyväksyy kieli lyhenteen; --filter\n" +" hyväksyy suodatus tason ('active', 'moderate', 'off').\n" +" " + +#: plugin.py:212 +msgid "" +"\n" +"\n" +" Returns a link to the cached version of if it is available.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa linkin välimuistissa olevaan versioon, jos se on saatavilla.\n" +" " + +#: plugin.py:223 +msgid "Google seems to have no cache for that site." +msgstr "Googlella ei näytä olevan välimuistia tuolle sivulle." + +#: plugin.py:228 +msgid "" +" [ ...]\n" +"\n" +" Returns the results of each search, in order, from greatest number\n" +" of results to least.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Palauttaa tulokset jokaiselle haulle järjestyksessä suurimmasta numerosta\n" +" pienimpään.\n" +" " + +#: plugin.py:252 +msgid "" +" [to] \n" +"\n" +" Returns translated from into .\n" +" Beware that translating to or from languages that use multi-byte\n" +" characters may result in some very odd results.\n" +" " +msgstr "" +" [to] \n" +"\n" +" Palauttaa käännettynä .\n" +" Ole tietoinen, että kääntäminen monesta tai monelle kielelle, jotka käyttävät moni-bittisiä\n" +" merkkejä voivat johtaa hyvin omituisiin tuloksiin.\n" +" " + +#: plugin.py:271 +msgid "from language" +msgstr "kielestä" + +#: plugin.py:272 +#: plugin.py:281 +msgid "Valid languages are: %L" +msgstr "Kelvolliset kielet ovat: %L" + +#: plugin.py:280 +msgid "to language" +msgstr "kielelle" + +#: plugin.py:314 +msgid "^google\\s+(.*)$" +msgstr "^google\\s+(.*)$" + +#: plugin.py:336 +msgid "" +"\n" +"\n" +" Uses Google's calculator to calculate the value of .\n" +" " +msgstr "" +"\n" +"\n" +" Käyttää Googlen laskinta laskeakseen arvon.\n" +" " + +#: plugin.py:353 +msgid "Google's calculator didn't come up with anything." +msgstr "Googlen laskin ei keksinyt mitään." + +#: plugin.py:359 +msgid "" +"\n" +"\n" +" Looks up on Google.\n" +" " +msgstr "" +"\n" +"\n" +" Etsii Googlesta.\n" +" " + +#: plugin.py:373 +msgid "Google's phonebook didn't come up with anything." +msgstr "Googlen puhelinluettelo ei keksinyt mitään." + From 9d5365248e7a84477083362e12dd84b415f493ce Mon Sep 17 00:00:00 2001 From: skizzhg Date: Tue, 21 Jun 2011 19:40:01 +0200 Subject: [PATCH 024/244] Admin & ChannelLogger & Dict & Maths & News & Seen & Status & Time & Todo & URL: Add Italian translation --- plugins/Admin/locale/it.po | 3 +- plugins/ChannelLogger/locale/it.po | 114 ++++++++++++++++++ plugins/Dict/locale/it.po | 4 +- plugins/Games/locale/it.po | 147 +++++++++++++++++++++++ plugins/Math/locale/it.po | 159 ++++++++++++++++++++++++ plugins/News/locale/it.po | 130 ++++++++++++++++++++ plugins/Seen/locale/it.po | 143 ++++++++++++++++++++++ plugins/Status/locale/it.po | 187 +++++++++++++++++++++++++++++ plugins/Time/locale/it.po | 151 +++++++++++++++++++++++ plugins/Todo/locale/it.po | 153 +++++++++++++++++++++++ plugins/URL/locale/it.po | 6 +- 11 files changed, 1190 insertions(+), 7 deletions(-) create mode 100644 plugins/ChannelLogger/locale/it.po create mode 100644 plugins/Games/locale/it.po create mode 100644 plugins/Math/locale/it.po create mode 100644 plugins/News/locale/it.po create mode 100644 plugins/Seen/locale/it.po create mode 100644 plugins/Status/locale/it.po create mode 100644 plugins/Time/locale/it.po create mode 100644 plugins/Todo/locale/it.po diff --git a/plugins/Admin/locale/it.po b/plugins/Admin/locale/it.po index 2cbbe7758..b4ef1108b 100644 --- a/plugins/Admin/locale/it.po +++ b/plugins/Admin/locale/it.po @@ -101,8 +101,7 @@ msgid "" msgstr "" "[]\n" "\n" -" Cambia il nicke del bot in . Se non ne viene fornito uno, restituisce\n" -" quello attuale.\n" +" Cambia il nick del bot in . Se non ne viene fornito uno, riporta quello attuale.\n" " " #: plugin.py:222 diff --git a/plugins/ChannelLogger/locale/it.po b/plugins/ChannelLogger/locale/it.po new file mode 100644 index 000000000..26c48495c --- /dev/null +++ b/plugins/ChannelLogger/locale/it.po @@ -0,0 +1,114 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-19 16:57+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: config.py:46 +msgid "Determines whether logging is enabled." +msgstr "Determina se i log sono abilitati." + +#: config.py:48 +msgid "" +"Determines whether channel logfiles will be\n" +" flushed anytime they're written to, rather than being buffered by the\n" +" operating system." +msgstr "" +"Determina se i file di log del canale verranno salvati ogni volta che sono\n" +" scritti piuttosto che tenuti in memoria dal sistema." + +#: config.py:52 +msgid "" +"Determines whether formatting characters (such\n" +" as bolding, color, etc.) are removed when writing the logs to disk." +msgstr "" +"Determina se la formattazione dei caratteri (come grassetto, colori, ecc.)\n" +" viene rimossa una volta che i log sono scritti sul disco." + +#: config.py:55 +msgid "" +"Determines whether the logs for this channel are\n" +" timestamped with the timestamp in supybot.log.timestampFormat." +msgstr "" +"Determina se i log per questo canale riportano data e ora (timestamp)\n" +" con il formato indicato in supybot.log.timestampFormat." + +#: config.py:58 +msgid "" +"Determines what string a message should be\n" +" prefixed with in order not to be logged. If you don't want any such\n" +" prefix, just set it to the empty string." +msgstr "" +"Determina con quale stringa debba essere prefissato un messaggio per non\n" +" essere registrato. Se non si vuole alcun prefisso, impostare una stringa vuota.\n" + +#: config.py:62 +msgid "" +"Determines whether the bot will automatically\n" +" rotate the logs for this channel. The bot will rotate logs when the\n" +" timestamp for the log changes. The timestamp is set according to\n" +" the 'filenameTimestamp' configuration variable." +msgstr "" +"Determina se il bot ruoterà automaticamente i log di questo canale.\n" +" Verranno ruotati quando cambiano data e ora; il timestamp\n" +" è impostato in base alla variabile \"filenameTimestamp\"." + +#: config.py:67 +msgid "" +"Determines how to represent the timestamp\n" +" used for the filename in rotated logs. When this timestamp changes, the\n" +" old logfiles will be closed and a new one started. The format characters\n" +" for the timestamp are in the time.strftime docs at python.org. In order\n" +" for your logs to be rotated, you'll also have to enable\n" +" supybot.plugins.ChannelLogger.rotateLogs." +msgstr "" +"Determina come rappresentare il timestamp usato per il nome del file da ruotare.\n" +" Quando questo cambia, il vecchio file di log verrà chiuso e ne inizierà uno\n" +" nuovo; il formato è lo stesso di time.strftime (documentazione su python.org).\n" +" Affinché i log vengano ruotati, è inoltre necessario abilitare supybot.plugins.ChannelLogger.rotateLogs." + +#: config.py:75 +msgid "" +"Determines whether the bot will partition its\n" +" channel logs into separate directories based on different criteria." +msgstr "" +"Determina se il bot suddividerà i log del canale in directory separate in base a criteri differenti.\n" + +#: config.py:78 +msgid "" +"Determines whether the bot will use a network\n" +" directory if using directories." +msgstr "" +"Determina se, in caso si utilizzino directory, il bot userà una directory per network.\n" + +#: config.py:81 +msgid "" +"Determines whether the bot will use a channel\n" +" directory if using directories." +msgstr "" +"Determina se, in caso si utilizzino directory, il bot userà una directory per canale.\n" + +#: config.py:84 +msgid "" +"Determines whether the bot will use a timestamp\n" +" (determined by supybot.plugins.ChannelLogger.directories.timestamp.format)\n" +" if using directories." +msgstr "" +"Determina se, in caso si utilizzino directory, il bot userà un timestamp\n" +" (definito da supybot.plugins.ChannelLogger.directories.timestamp.format).\n" + +#: config.py:88 +msgid "" +"Determines what timestamp format will be used in\n" +" the directory structure for channel logs if\n" +" supybot.plugins.ChannelLogger.directories.timestamp is True." +msgstr "" +"Determina quale formato di timestamp sarà utilizzato nella struttura della directory\n" +" dei log del canale se supybot.plugins.ChannelLogger.directories.timestamp è impostata a True." + diff --git a/plugins/Dict/locale/it.po b/plugins/Dict/locale/it.po index c2077a953..e1845f28e 100644 --- a/plugins/Dict/locale/it.po +++ b/plugins/Dict/locale/it.po @@ -45,7 +45,7 @@ msgid "" msgstr "" "non necessita argomenti\n" "\n" -" Restituisce i dizionari validi per il comando dict.\n" +" Riporta i dizionari validi per il comando dict.\n" " " #: plugin.py:70 @@ -58,7 +58,7 @@ msgid "" msgstr "" "non necessita argomenti\n" "\n" -" Restituisce un dizionario casuale valido.\n" +" Riporta un dizionario casuale.\n" " " #: plugin.py:85 diff --git a/plugins/Games/locale/it.po b/plugins/Games/locale/it.po new file mode 100644 index 000000000..2ec3363e9 --- /dev/null +++ b/plugins/Games/locale/it.po @@ -0,0 +1,147 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-21 00:17+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: plugin.py:46 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Flips a coin and returns the result.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Lancia una moneta e restituisce il risultato.\n" +" " + +#: plugin.py:51 +msgid "heads" +msgstr "testa" + +#: plugin.py:53 +msgid "tails" +msgstr "croce" + +#: plugin.py:58 +#, docstring +msgid "" +"d\n" +"\n" +" Rolls a die with number of sides times.\n" +" For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10\n" +" ten-sided dice.\n" +" " +msgstr "" +"d\n" +"\n" +" Tira un certo numero di dadi con un certo numero di facce.\n" +" Ad esempio, 2d6 tirerà due dadi da sei facce; 10d10 dieci dadi da dieci facce.\n" +" " + +#: plugin.py:66 +msgid "You can't roll more than 1000 dice." +msgstr "Non è possibile tirare più di 1000 dadi." + +#: plugin.py:68 +msgid "Dice can't have more than 100 sides." +msgstr "I dadi non possono avere più di 100 facce." + +#: plugin.py:70 +msgid "Dice can't have fewer than 3 sides." +msgstr "I dadi non possono avere meno di tre facce." + +#: plugin.py:78 +msgid "Dice must be of the form d" +msgstr "I dadi vanno espressi nella forma d" + +#: plugin.py:82 +msgid "It is possible.|Yes!|Of course.|Naturally.|Obviously.|It shall be.|The outlook is good.|It is so.|One would be wise to think so.|The answer is certainly yes." +msgstr "È possibile.|Sì!|Certamente.|Naturalmente.|Ovviamente.|Deve essere così.|La prospettiva è promettente.|È così.|Sarebbe saggio pensarlo.|La risposta è certamente sì." + +#: plugin.py:86 +msgid "In your dreams.|I doubt it very much.|No chance.|The outlook is poor.|Unlikely.|About as likely as pigs flying.|You're kidding, right?|NO!|NO.|No.|The answer is a resounding no." +msgstr "Nei tuoi sogni.|Ne dubito fortemente.|Nessuna possibilità.|La prospettiva è scarsa.|Improbabile.|Quando gli asini voleranno.|Stai scherzando, vero?|NO!|NO.|No.|La risposta è un clamoroso no." + +#: plugin.py:90 +msgid "Maybe...|No clue.|_I_ don't know.|The outlook is hazy, please ask again later.|What are you asking me for?|Come again?|You know the answer better than I.|The answer is def-- oooh! shiny thing!" +msgstr "Forse...|Non ne ho idea.|Non lo so.|La prospettiva è confusa, riprova più tardi.|Cosa mi stai chiedendo?|Torna più tardi.|Conosci la risposta meglio di me.|La risposta è... oooh! brillante!" + +#: plugin.py:107 +#, docstring +msgid "" +"[]\n" +"\n" +" Ask a question and the answer shall be provided.\n" +" " +msgstr "" +"[]\n" +"\n" +" Porre una domanda e si otterrà una risposta.\n" +" " + +#: plugin.py:121 +#, docstring +msgid "" +"[spin]\n" +"\n" +" Fires the revolver. If the bullet was in the chamber, you're dead.\n" +" Tell me to spin the chambers and I will.\n" +" " +msgstr "" +"[spin]\n" +"\n" +" Spara con il revolver. Se il proiettile era in camera, sei morto.\n" +" Dimmi di girare il tamburo (aggiungendo \"spin\") e lo farò.\n" +" " + +#: plugin.py:128 +msgid "*SPIN* Are you feeling lucky?" +msgstr "*GIRA* Pronto a mettere alla prova la fortuna?" + +#: plugin.py:137 +msgid "*BANG* Hey, who put a blank in here?!" +msgstr "*BANG* Hey, chi ha fatto un buco qui?!" + +#: plugin.py:139 +msgid "reloads and spins the chambers." +msgstr "ricarica e gira il tamburo." + +#: plugin.py:141 +msgid "*click*" +msgstr "*clic*" + +#: plugin.py:148 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the number of consecutive lines you've sent in \n" +" without being interrupted by someone else (i.e. how long your current\n" +" 'monologue' is). is only necessary if the message isn't sent\n" +" in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Restituisce il numero di righe consecutive inviate in senza essere\n" +" stati interrotti da qualcun altro. è necessario solo se il messaggio\n" +" non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:167 +msgid "Your current monologue is at least %n long." +msgstr "Il tuo attuale monologo è lungo almeno %n." + +#: plugin.py:168 +msgid "line" +msgstr "riga" + diff --git a/plugins/Math/locale/it.po b/plugins/Math/locale/it.po new file mode 100644 index 000000000..c63b75d1f --- /dev/null +++ b/plugins/Math/locale/it.po @@ -0,0 +1,159 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-21 17:27+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: plugin.py:52 +#, docstring +msgid "" +" [] \n" +"\n" +" Converts from base to base .\n" +" If is left out, it converts to decimal.\n" +" " +msgstr "" +" [] \n" +"\n" +" Converte un numero da una base ad un'altra.\n" +" Se non è specificato, converte in decimale.\n" +" " + +#: plugin.py:63 +msgid "Invalid for base %s: %s" +msgstr "Numero non valido per base %s: %s" + +#: plugin.py:69 +#, docstring +msgid "Convert a decimal number to another base; returns a string." +msgstr "Converte un numero decimale in un'altra base, restituisce una stringa." + +#: plugin.py:90 +#, docstring +msgid "" +"Convert a number from any base, 2 through 36, to any other\n" +" base, 2 through 36. Returns a string." +msgstr "" +"Converte un numero da qualsiasi base tra 2 e 36 ad un'altra tra 2 e 36, restituisce una stringa.\n" + +#: plugin.py:157 +#, docstring +msgid "" +"\n" +"\n" +" Returns the value of the evaluated . The syntax is\n" +" Python syntax; the type of arithmetic is floating point. Floating\n" +" point arithmetic is used in order to prevent a user from being able to\n" +" crash to the bot with something like '10**10**10**10'. One consequence\n" +" is that large values such as '10**24' might not be exact.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce il valore dell' valutata. La sintassi\n" +" è quella di Python; il tipo di aritmetica è in virgola mobile. Quest'ultima\n" +" è utilizzata per prevenire che un utente sia in grado di mandare in crash il\n" +" bot con qualcosa di simile a \"10**10**10**10\". Una delle conseguenze però è\n" +" che valori di grandi dimensioni come \"10**24\" potrebbero non essere precisi.\n" +" " + +#: plugin.py:166 plugin.py:220 +msgid "There's really no reason why you should have underscores or brackets in your mathematical expression. Please remove them." +msgstr "Non v'è alcuna ragione di usare underscore o parentesi nelle espressioni matematiche; si prega di rimuoverli." + +#: plugin.py:172 plugin.py:228 +msgid "You can't use lambda in this command." +msgstr "Non è possibile usare lambda in questo comando." + +#: plugin.py:202 plugin.py:236 +msgid "The answer exceeded %s or so." +msgstr "La risposta ha superato %s." + +#: plugin.py:204 plugin.py:238 +msgid "Something in there wasn't a valid number." +msgstr "Qualcosa non equivaleva ad un numero valido." + +#: plugin.py:206 plugin.py:240 +msgid "%s is not a defined function." +msgstr "%s non è una funzione definita." + +#: plugin.py:213 +#, docstring +msgid "" +"\n" +"\n" +" This is the same as the calc command except that it allows integer\n" +" math, and can thus cause the bot to suck up CPU. Hence it requires\n" +" the 'trusted' capability to use.\n" +" " +msgstr "" +"\n" +"\n" +" Questo comando è identico a \"calc\" eccetto che permette numeri interi\n" +" e può causare l'uso massiccio di CPU da parte del bot. Per questo motivo\n" +" richiede la capacità \"trusted\" per poterlo utilizzare.\n" +" " + +#: plugin.py:250 +#, docstring +msgid "" +"\n" +"\n" +" Returns the value of an RPN expression.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce il valore di un'espressione RPN (Reverse Polish Notation).\n" +" " + +#: plugin.py:275 +msgid "Not enough arguments for %s" +msgstr "Argomenti per %s insufficienti" + +#: plugin.py:288 +msgid "%q is not a defined function." +msgstr "%q non è una funzione definita." + +#: plugin.py:295 +msgid "Stack: [%s]" +msgstr "Stack: [%s]" + +#: plugin.py:299 +#, docstring +msgid "" +"[] to \n" +"\n" +" Converts from to . If number isn't given, it\n" +" defaults to 1. For unit information, see 'units' command.\n" +" " +msgstr "" +"[] ad \n" +"\n" +" Converte da ad . Se non è specificato,\n" +" usa 1 come predefinito. Per informazioni sulle unità, utilizzare il comando \"units\".\n" +" " + +#: plugin.py:314 +#, docstring +msgid "" +" []\n" +"\n" +" With no arguments, returns a list of measurement types, which can be\n" +" passed as arguments. When called with a type as an argument, returns\n" +" the units of that type.\n" +" " +msgstr "" +" []\n" +"\n" +" Senza argomenti restituisce un elenco di tipi di misura che possono essere\n" +" passati come argomento. Quando viene chiamato con un tipo come argomento,\n" +" riporta le unità di quel tipo.\n" +" " + diff --git a/plugins/News/locale/it.po b/plugins/News/locale/it.po new file mode 100644 index 000000000..0f932f0c7 --- /dev/null +++ b/plugins/News/locale/it.po @@ -0,0 +1,130 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-19 12:51+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: plugin.py:57 +msgid "%s (Subject: %q, added by %s on %s)" +msgstr "%s (Soggetto: %q, aggiunto da %s il %s)" + +#: plugin.py:61 +msgid "%s (Subject: %q, added by %s on %s, expires at %s)" +msgstr "%s (Soggetto: %q, aggiunto da %s il %s, scade il %s)" + +#: plugin.py:120 +#, docstring +msgid "" +"[] : \n" +"\n" +" Adds a given news item of to a channel with the given .\n" +" If isn't 0, that news item will expire seconds from\n" +" now. is only necessary if the message isn't sent in the\n" +" channel itself.\n" +" " +msgstr "" +"[] : \n" +"\n" +" Aggiunge ad un canale una notizia contenente con il fornito.\n" +" Se non è uguale a 0, la notizia scadrà entro quel numero di secondi.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:132 +msgid "(News item #%i added)" +msgstr "(Notizia #%i aggiunta)" + +#: plugin.py:137 +#, docstring +msgid "" +"[] []\n" +"\n" +" Display the news items for in the format of '(#id) subject'.\n" +" If is given, retrieve only that news item; otherwise retrieve all\n" +" news items. is only necessary if the message isn't sent in\n" +" the channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Visualizza le notizie per nel formato '(#id) soggetto'.\n" +" Se è fornito, riporta solo quella notizia; altrimenti le riporta tutte.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:148 +msgid "News for %s: %s" +msgstr "Notizia per %s: %s" + +#: plugin.py:151 +msgid "No news for %s." +msgstr "Nessuna notizia per %s." + +#: plugin.py:157 plugin.py:171 plugin.py:187 plugin.py:203 +msgid "news item id" +msgstr "id della notizia" + +#: plugin.py:162 +#, docstring +msgid "" +"[] \n" +"\n" +" Removes the news item with from . is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Rimuove da la notizia con il dato . è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:176 +#, docstring +msgid "" +"[] \n" +"\n" +" Changes the news item with from according to the\n" +" regular expression . should be of the form\n" +" s/text/replacement/flags. is only necessary if the message\n" +" isn't sent on the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Modifica da la notiza con il dato in base all'espressione\n" +" regolare . deve essere nella forma s/text/replacement/flags.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:192 +#, docstring +msgid "" +"[] []\n" +"\n" +" Returns the old news item for with . If no number is\n" +" given, returns all the old news items in reverse order. is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Riporta la notizia vecchia con per . Se non viene fornito\n" +" alcun numero, riporta tutte le notizie vecchie in ordine inverso.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:208 +msgid "Old news for %s: %s" +msgstr "Notizia vecchia per %s: %s" + +#: plugin.py:211 +msgid "No old news for %s." +msgstr "Nessuna notizia vecchia per %s." + diff --git a/plugins/Seen/locale/it.po b/plugins/Seen/locale/it.po new file mode 100644 index 000000000..b86ce4d8b --- /dev/null +++ b/plugins/Seen/locale/it.po @@ -0,0 +1,143 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-20 09:37+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: plugin.py:203 plugin.py:284 +msgid "%s was last seen in %s %s ago: %s" +msgstr "%s è stato visto per l'ultima volta in %s %s fa: %s" + +#: plugin.py:210 +msgid "%s (%s ago)" +msgstr "%s (%s fa)" + +#: plugin.py:212 +msgid "%s could be %L" +msgstr "%s potrebbe essere %L" + +#: plugin.py:212 +msgid "or" +msgstr "oppure" + +#: plugin.py:214 +msgid "I haven't seen anyone matching %s." +msgstr "Non ho visto nessuno che corrisponda a %s." + +#: plugin.py:216 plugin.py:288 +msgid "I have not seen %s." +msgstr "Non ho visto %s." + +#: plugin.py:220 +#, docstring +msgid "" +"[] \n" +"\n" +" Returns the last time was seen and what was last seen\n" +" saying. is only necessary if the message isn't sent on the\n" +" channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Riporta l'ultima volta che è stato visto e cosa stava dicendo.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:231 +#, docstring +msgid "" +"[] [--user ] []\n" +"\n" +" Returns the last time was seen and what was last seen\n" +" doing. This includes any form of activity, instead of just PRIVMSGs.\n" +" If isn't specified, returns the last activity seen in\n" +" . If --user is specified, looks up name in the user database\n" +" and returns the last time user was active in . is\n" +" only necessary if the message isn't sent on the channel itself.\n" +" " +msgstr "" +"[] [--user ] []\n" +"\n" +" Riporta l'ultima volta che è stato visto e cosa stava facendo.\n" +" Include qualsiasi forma di attività, non solo l'invio di messaggi.\n" +" Se non è specificato, riporta l'ultima attività vista in .\n" +" Se --user è specificato, cerca il nome nel database degli utenti e riporta\n" +" l'ultima volta che l'utente era attivo in . è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:261 +msgid "Someone was last seen in %s %s ago: %s" +msgstr "Qualcuno è stato visto per l'ultima volta in %s %s fa: %s" + +#: plugin.py:265 +msgid "I have never seen anyone." +msgstr "Non ho mai visto nessuno." + +#: plugin.py:269 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the last thing said in . is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Riporta l'ultima cosa detta in . è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:292 +#, docstring +msgid "" +"[] \n" +"\n" +" Returns the last time was seen and what was last seen\n" +" saying. This looks up in the user seen database, which means\n" +" that it could be any nick recognized as user that was seen.\n" +" if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Riporta l'ultima volta che è stato visto e cosa stava dicendo.\n" +" Cerca nel database degli utenti visti, ovvero qualsiasi nick che\n" +" venga riconosciuto con il dell'utente che è stato visto.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:305 +#, docstring +msgid "" +"[] \n" +"\n" +" Returns the messages since last left the channel.\n" +" " +msgstr "" +"[] \n" +"\n" +" Riporta i messaggi da quando ha lasciato il canale l'ultima volta.\n" +" " + +#: plugin.py:312 +msgid "You must be in %s to use this command." +msgstr "Per usare questo comando bisogna essere in %s." + +#: plugin.py:333 +msgid "I couldn't find in my history of %s messages where %r last left the %s" +msgstr "Non trovo nella cronologia dei messaggi di %s dove %r ha lasciato %s l'ultima volta." + +#: plugin.py:342 +msgid "Either %s didn't leave, or no messages were sent while %s was gone." +msgstr "%s non è uscito o non ha inviato alcun messaggio quando se n'é andato." + diff --git a/plugins/Status/locale/it.po b/plugins/Status/locale/it.po new file mode 100644 index 000000000..a05368ac0 --- /dev/null +++ b/plugins/Status/locale/it.po @@ -0,0 +1,187 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-21 13:47+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:46 +msgid "" +"Determines whether the cpu command will list\n" +" the time taken by children as well as the bot's process." +msgstr "" +"Determina se il comando cpu elencherà il tempo impiegato\n" +" dal processo figlio così come il processo del bot." + +#: config.py:49 +msgid "" +"Determines whether the cpu command will\n" +" provide the number of threads spawned and active." +msgstr "" +"Determina se il comando cpu fornirà il numero di thread avviati e attivi." + +#: config.py:52 +msgid "" +"Determines whether the cpu command will report\n" +" the amount of memory being used by the bot." +msgstr "" +"Determina se il comando cpu riporterà la quantità di memoria usata dal bot." + +#: plugin.py:71 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the status of the bot.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta lo stato del bot.\n" +" " + +#: plugin.py:80 +msgid "%s as %L" +msgstr "%s come %L" + +#: plugin.py:81 +msgid "I am connected to %L." +msgstr "Sono connesso a %L." + +#: plugin.py:83 +msgid "I am currently in code profiling mode." +msgstr "Sto analizzando i dati." + +#: plugin.py:89 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the current threads that are active.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta gli attuali thread attivi.\n" +" " + +#: plugin.py:95 +msgid "I have spawned %n; %n %b still currently active: %L." +msgstr "Ho avviato %n; %n %b attualmente ancora attivi: %L." + +#: plugin.py:103 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns some interesting network-related statistics.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta alcune statistiche interessanti riguardanti la rete.\n" +" " + +#: plugin.py:111 +msgid "an indeterminate amount of time" +msgstr "una quantità di tempo indeterminato" + +#: plugin.py:112 +msgid "I have received %s messages for a total of %S. I have sent %s messages for a total of %S. I have been connected to %s for %s." +msgstr "Ho ricevuto %s messaggi per un totale di %S. Ho inviato %s messaggi per un totale di %S. Sono connesso a %s da %s." + +#: plugin.py:121 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns some interesting CPU-related statistics on the bot.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta alcune statistiche interessanti riguardanti la CPU.\n" +" " + +#: plugin.py:131 +msgid "My children have taken %.2f seconds of user time and %.2f seconds of system time for a total of %.2f seconds of CPU time." +msgstr "I miei processi figli hanno impiegato %.2f secondi di tempo a livello utente e %.2f secondi a livello di sistema per un totale di %.2f secondi di tempo di CPU." + +#: plugin.py:138 +msgid "I have taken %.2f seconds of user time and %.2f seconds of system time, for a total of %.2f seconds of CPU time. %s" +msgstr "Ho impiegato %.2f secondi di tempo a livello utente e %.2f secondi a livello di sistema per un totale di %.2f secondi di tempo di CPU. %s" + +#: plugin.py:160 +msgid "Unable to run ps command." +msgstr "Impossibile eseguire il comando ps." + +#: plugin.py:166 +msgid " I'm taking up %S of memory." +msgstr " Sto impiegando il %S di memoria. " + +#: plugin.py:174 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns some interesting command-related statistics.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta alcune statistiche interessanti riguardanti i comandi.\n" +" " + +#: plugin.py:184 +msgid "I offer a total of %n in %n. I have processed %n." +msgstr "Offro un totale di %n in %n. Ho elaborato %n." + +#: plugin.py:193 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns a list of the commands offered by the bot.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Restituisce un elenco dei comandi offerti dal bot.\n" +" " + +#: plugin.py:207 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the amount of time the bot has been running.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta da quanto tempo il bot è in esecuzione.\n" +" " + +#: plugin.py:211 +msgid "I have been running for %s." +msgstr "Sono in funzione da %s." + +#: plugin.py:218 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the server the bot is on.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Restituisce i server sui quali è il bot.\n" +" " + diff --git a/plugins/Time/locale/it.po b/plugins/Time/locale/it.po new file mode 100644 index 000000000..3eeec34d5 --- /dev/null +++ b/plugins/Time/locale/it.po @@ -0,0 +1,151 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-19 18:29+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: config.py:45 +msgid "" +"Determines the\n" +" format string for timestamps. Refer to the Python documentation for the\n" +" time module to see what formats are accepted. If you set this variable to\n" +" the empty string, the timestamp will not be shown." +msgstr "" +"Determina il formato per i timestamp. Per sapere quali sono i formati validi\n" +" fare riferimento alla documentazione di Python per il modulo time. Se si assegna\n" +" una stringa vuota a questa variabile, il timestamp non verrà mostrato." + +#: plugin.py:61 +#, docstring +msgid "" +"[y] [w] [d] [h] [m] [s]\n" +"\n" +" Returns the number of seconds in the number of , ,\n" +" , , , and given. An example usage is\n" +" \"seconds 2h 30m\", which would return 9000, which is '3600*2 + 30*60'.\n" +" Useful for scheduling events at a given number of seconds in the\n" +" future.\n" +" " +msgstr "" +"[y] [w] [d] [h] [m] [s]\n" +"\n" +" Riporta il numero di secondi equivalenti al numero di , ,\n" +" , , e specificato. Un esempio di utilizzo è\n" +" \"seconds 2h 30m\", che produce 9000, ovvero \"3600*2 + 30*60\".\n" +" Utile per pianificare eventi ad un certo numero di secondi nel futuro.\n" +" " + +#: plugin.py:96 +#, docstring +msgid "" +" + Supybot Web server index + + + Here is a list of the plugins that have a Web interface: + %s + + """ + def doGet(self, handler, path): + plugins = [x for x in handler.server.callbacks.items()] + if plugins == []: + response = 'No plugins available.' + else: + response = '
  • %s
' % '
  • '.join( + ['%s' % x in plugins]) + handler.send_response(200) + self.send_header('Content_type', 'text/html') + self.send_header('Content-Length', len(response)) + self.end_headers() + self.wfile.write(response) + +httpServer = None + +def startServer(): + """Starts the HTTP server. Shouldn't be called from other modules. + The callback should be an instance of a child of SupyHTTPServerCallback.""" + global httpServer + log.info('Starting HTTP server.') + address = (configGroup.host(), configGroup.port()) + httpServer = SupyHTTPServer(address, SupyHTTPRequestHandler) + Thread(target=httpServer.serve_forever, name='HTTP Server').start() + +def stopServer(): + """Stops the HTTP server. Should be run only from this module or from + when the bot is dying (ie. from supybot.world)""" + global httpServer + log.info('Stopping HTTP server.') + httpServer.shutdown() + httpServer = None + +if configGroup.keepAlive(): + startServer() + +def hook(subdir, callback): + """Sets a callback for a given subdir.""" + if httpServer is None: + startServer() + httpServer.hook(subdir, callback) + +def unhook(subdir): + """Unsets the callback assigned to the given subdir, and return it.""" + global httpServer + assert httpServer is not None + callback = httpServer.unhook(subdir) + if len(httpServer.callbacks) <= 0 and not configGroup.keepAlive(): + stopServer() From ef5438e93788db3b4edaf009094c7e20f6b12cfe Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 24 Jun 2011 14:52:01 +0200 Subject: [PATCH 035/244] Add docstrings to the HTTP server callbacks --- src/utils/httpserver.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/utils/httpserver.py b/src/utils/httpserver.py index b7cbb247b..4fad4b12a 100644 --- a/src/utils/httpserver.py +++ b/src/utils/httpserver.py @@ -103,6 +103,8 @@ class SupyHTTPRequestHandler(BaseHTTPRequestHandler): class SupyHTTPServerCallback: + """This is a base class that should be overriden by any plugin that want + to have a Web interface.""" name = "Unnamed plugin" defaultResponse = """ This is a default response of the Supybot HTTP server. If you see this @@ -121,6 +123,7 @@ class SupyHTTPServerCallback: pass class Supy404(SupyHTTPServerCallback): + """A 404 Not Found error.""" name = "Error 404" response = """ I am a pretty clever IRC bot, but I suck at serving Web pages, particulary @@ -135,6 +138,7 @@ class Supy404(SupyHTTPServerCallback): self.wfile.write(self.response) class SupyIndex(SupyHTTPServerCallback): + """Displays the index of available plugins.""" name = "index" defaultResponse = "Request not handled.""" template = """ From 728587be58a583e902f8f93f68e7fd46c3326410 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 24 Jun 2011 14:52:24 +0200 Subject: [PATCH 036/244] Fix comment in src/__init__.py --- src/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__init__.py b/src/__init__.py index e4b25e2fb..8a9da0bf0 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -34,7 +34,7 @@ import dynamicScope try: import supybot.utils as utils -except ImportError: # We are running setup.py +except ImportError: # We are running setup.py for the first time import src sys.modules['supybot'] = src import src.utils as utils From 667d7c34b44a3989302084b019ca9ecb4acff962 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 24 Jun 2011 15:32:22 +0200 Subject: [PATCH 037/244] Bug fixes to the HTTP server --- scripts/supybot | 6 +++--- src/utils/httpserver.py | 17 +++++++++-------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/scripts/supybot b/scripts/supybot index c60a5f849..6c7688ecd 100644 --- a/scripts/supybot +++ b/scripts/supybot @@ -330,12 +330,12 @@ if __name__ == '__main__': import supybot.callbacks as callbacks import supybot.plugins.Owner as Owner - owner = Owner.Class() - # These may take some resources, and it does not need to be run while boot, so - # we import it as late as possible. + # we import it as late as possible (but before plugins are loaded). import supybot.utils.httpserver as httpserver + owner = Owner.Class() + if options.profile: import profile world.profiling = True diff --git a/src/utils/httpserver.py b/src/utils/httpserver.py index 4fad4b12a..23ccb7cc6 100644 --- a/src/utils/httpserver.py +++ b/src/utils/httpserver.py @@ -70,12 +70,12 @@ class SupyHTTPServer(HTTPServer): callbacks = {} running = False def hook(self, subdir, callback): - if subdir in callbacks: + if subdir in self.callbacks: raise KeyError('This subdir is already hooked.') else: - callbacks[subdir] = callback + self.callbacks[subdir] = callback def unhook(self, subdir): - callback = callbacks.pop(subdir) # May raise a KeyError. We don't care. + callback = self.callbacks.pop(subdir) # May raise a KeyError. We don't care. callback.doUnhook(self) return callback @@ -86,7 +86,7 @@ class SupyHTTPRequestHandler(BaseHTTPRequestHandler): else: subdir = self.path.split('/')[1] try: - callback = self.server.callbacks[subdir]() + callback = self.server.callbacks[subdir] except KeyError: callback = Supy404() @@ -147,17 +147,18 @@ class SupyIndex(SupyHTTPServerCallback): Supybot Web server index - Here is a list of the plugins that have a Web interface: +

    Here is a list of the plugins that have a Web interface:

    %s """ def doGet(self, handler, path): plugins = [x for x in handler.server.callbacks.items()] if plugins == []: - response = 'No plugins available.' + plugins = 'No plugins available.' else: - response = '
    • %s
    ' % '
  • '.join( - ['%s' % x in plugins]) + plugins = '
    • %s
    ' % '
  • '.join( + ['%s' % (x,y.name) for x,y in plugins]) + response = self.template % plugins handler.send_response(200) self.send_header('Content_type', 'text/html') self.send_header('Content-Length', len(response)) From b9baa579fe549de26593f95b52e87f0b356461c4 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 24 Jun 2011 16:26:32 +0200 Subject: [PATCH 038/244] Bug fix in HTTP server. --- src/utils/httpserver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/httpserver.py b/src/utils/httpserver.py index 23ccb7cc6..0f3c6e415 100644 --- a/src/utils/httpserver.py +++ b/src/utils/httpserver.py @@ -95,7 +95,7 @@ class SupyHTTPRequestHandler(BaseHTTPRequestHandler): 'wfile'): setattr(callback, name, getattr(self, name)) # We call doGet, because this is more supybotic than do_GET. - callback.doGet(self, '/'.join(self.path[2:])) + callback.doGet(self, '/' + '/'.join(self.path.split('/')[2:])) def log_message(self, format, *args): log.info('HTTP request: %s - %s' % From 952db3a6bdf40575c1c927851a6173c19c58dd2e Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 24 Jun 2011 18:12:43 +0200 Subject: [PATCH 039/244] supybot.servers.http.keepAlive defaults to False. --- src/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf.py b/src/conf.py index 245e045e6..438d07df3 100644 --- a/src/conf.py +++ b/src/conf.py @@ -1061,7 +1061,7 @@ registerGlobalValue(supybot.servers.http, 'port', registry.Integer(8080, _("""Determines what port the HTTP server will bind."""))) registerGlobalValue(supybot.servers.http, 'keepAlive', - registry.Boolean(True, _("""Defines whether the server will stay alive if + registry.Boolean(False, _("""Defines whether the server will stay alive if no plugin is using it. This also means that the server will start even if it is not used."""))) From fa3fc7d20aeeeca5461732da9f5dc23dc22d01bc Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 25 Jun 2011 10:02:30 +0200 Subject: [PATCH 040/244] Fix exception when stopping the HTTP server if already stopped. --- src/utils/httpserver.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/utils/httpserver.py b/src/utils/httpserver.py index 0f3c6e415..e72922b10 100644 --- a/src/utils/httpserver.py +++ b/src/utils/httpserver.py @@ -180,9 +180,10 @@ def stopServer(): """Stops the HTTP server. Should be run only from this module or from when the bot is dying (ie. from supybot.world)""" global httpServer - log.info('Stopping HTTP server.') - httpServer.shutdown() - httpServer = None + if httpServer is not None: + log.info('Stopping HTTP server.') + httpServer.shutdown() + httpServer = None if configGroup.keepAlive(): startServer() From fc41fc6153a255d75a45b04294a4d0ad8eee49db Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 25 Jun 2011 11:37:10 +0200 Subject: [PATCH 041/244] Add support for POST and HEAD requests to the HTTP server. --- src/utils/httpserver.py | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/src/utils/httpserver.py b/src/utils/httpserver.py index e72922b10..27ff7e323 100644 --- a/src/utils/httpserver.py +++ b/src/utils/httpserver.py @@ -31,6 +31,7 @@ An embedded and centralized HTTP server for Supybot's plugins. """ +import cgi from threading import Event, Thread from cStringIO import StringIO from SocketServer import ThreadingMixIn @@ -80,7 +81,7 @@ class SupyHTTPServer(HTTPServer): return callback class SupyHTTPRequestHandler(BaseHTTPRequestHandler): - def do_GET(self): + def do_X(self, callbackMethod, *args, **kwargs): if self.path == '/': callback = SupyIndex() else: @@ -92,10 +93,29 @@ class SupyHTTPRequestHandler(BaseHTTPRequestHandler): # Some shortcuts for name in ('send_response', 'send_header', 'end_headers', 'rfile', - 'wfile'): + 'wfile', 'headers'): setattr(callback, name, getattr(self, name)) - # We call doGet, because this is more supybotic than do_GET. - callback.doGet(self, '/' + '/'.join(self.path.split('/')[2:])) + # We call doX, because this is more supybotic than do_X. + getattr(callback, callbackMethod)(self, + '/' + '/'.join(self.path.split('/')[2:]), + *args, **kwargs) + + def do_GET(self): + print 'GET !' + self.do_X('doGet') + + def do_POST(self): + form = cgi.FieldStorage( + fp=self.rfile, + headers=self.headers, + environ={'REQUEST_METHOD':'POST', + 'CONTENT_TYPE':self.headers['Content-Type'], + }) + self.do_X('doPost', form=form) + + def do_HEAD(self): + self.do_X('doHead') + def log_message(self, format, *args): log.info('HTTP request: %s - %s' % @@ -118,6 +138,8 @@ class SupyHTTPServerCallback: self.end_headers() self.wfile.write(self.defaultResponse) + doPost = doHead = doGet + def doUnhook(self, handler): """Method called when unhooking this callback.""" pass @@ -137,6 +159,8 @@ class Supy404(SupyHTTPServerCallback): self.end_headers() self.wfile.write(self.response) + doPost = doHead = doGet + class SupyIndex(SupyHTTPServerCallback): """Displays the index of available plugins.""" name = "index" From 1acc55feb3510844ad3ab864d10c21521bb05967 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 25 Jun 2011 12:30:53 +0200 Subject: [PATCH 042/244] Karma & Lart & Later: Add l10n-fi. --- plugins/Karma/locale/fi.po | 181 +++++++++++++++++++++++++++++++++++++ plugins/Lart/locale/fi.po | 60 ++++++++++++ plugins/Later/locale/fi.po | 169 ++++++++++++++++++++++++++++++++++ 3 files changed, 410 insertions(+) create mode 100644 plugins/Karma/locale/fi.po create mode 100644 plugins/Lart/locale/fi.po create mode 100644 plugins/Later/locale/fi.po diff --git a/plugins/Karma/locale/fi.po b/plugins/Karma/locale/fi.po new file mode 100644 index 000000000..3127e99fc --- /dev/null +++ b/plugins/Karma/locale/fi.po @@ -0,0 +1,181 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-24 18:54+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:46 +msgid "" +"Determines whether the bot will output shorter\n" +" versions of the karma output when requesting a single thing's karma." +msgstr "" +"Määrittää tulostaako botti lyhyemmän version\n" +" karma ulostulosta, kun pyydetään yhden asian karmaa." + +#: config.py:49 +msgid "" +"Determines whether the bot will reply with a\n" +" success message when something's karma is increased or decreased." +msgstr "" +"Määrittää vastaako botti onnistumisviestillä, kun\n" +" jonkin karmaa on nostettu tai laskettu." + +#: config.py:52 +msgid "" +"Determines how many highest/lowest karma things\n" +" are shown when karma is called with no arguments." +msgstr "" +"Määrittää kuinka monta korkeinta/matalinta karma asiaa\n" +" näytetään, kun karma pyydetään ilman parametriä." + +#: config.py:55 +msgid "" +"Determines how many karma things are shown when\n" +" the most command is called.'" +msgstr "" +"Määrittää kuinka monta karma asiaa näytetään, kun\n" +" kun most komento on pyydetty.'" + +#: config.py:58 +msgid "" +"Determines whether users can adjust the karma\n" +" of their nick." +msgstr "" +"Määrittää pystyvätkö käyttäjän määrittämään\n" +" nimimerkkinsä karman." + +#: config.py:61 +msgid "" +"Determines whether the bot will\n" +" increase/decrease karma without being addressed." +msgstr "" +"Määrittää nostaako/vähentääkö botti karmaa\n" +" ilman, että sille tarkoitetaan viestejä." + +#: plugin.py:247 +#: plugin.py:255 +msgid "You're not allowed to adjust your own karma." +msgstr "Sinä et saa määrittää omaa karmaasi." + +#: plugin.py:284 +msgid "" +"[] [ ...]\n" +"\n" +" Returns the karma of . If is not given, returns the top\n" +" N karmas, where N is determined by the config variable\n" +" supybot.plugins.Karma.rankingDisplay. If one is given, returns\n" +" the details of its karma; if more than one is given, returns\n" +" the total karma of each of the the things. is only necessary\n" +" if the message isn't sent on the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Palauttaa karman. Jos ei ole annettu, palauttaa TOP\n" +" N karmat, missä N on asetusarvon\n" +" supybot.plugins.Karma.rankingDisplay määrittämä. Jos yksi on annettu, palauttaa\n" +" tiedot sen karmasta; jos useampi kuin yksi on annettu, tarkistaa jokaisen asian\n" +" yhteiskarman. on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:297 +msgid "%s has neutral karma." +msgstr "%s:llä on neutraali karma." + +#: plugin.py:304 +msgid "Karma for %q has been increased %n and decreased %n for a total karma of %s." +msgstr "Karma %q:lle on noussut %n ja laskenut %n yhteiskarmalle %s." + +#: plugin.py:306 +#: plugin.py:307 +msgid "time" +msgstr "aika" + +#: plugin.py:320 +msgid "I didn't know the karma for any of those things." +msgstr "Minä en tiennyt yhtäkään noiden asioiden karmoista." + +#: plugin.py:330 +#: plugin.py:359 +msgid "I have no karma for this channel." +msgstr "Minulla ei ole karmaa tälle kanavalle." + +#: plugin.py:335 +msgid " You (%s) are ranked %i out of %i." +msgstr "Sinä olet rankingissa (%s) %i %i:stä." + +#: plugin.py:339 +msgid "Highest karma: %L. Lowest karma: %L.%s" +msgstr "Korkein karma: %L. Alhaisin karma: %L.%s" + +#: plugin.py:347 +msgid "" +"[] {increased,decreased,active}\n" +"\n" +" Returns the most increased, the most decreased, or the most active\n" +" (the sum of increased and decreased) karma things. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] {increased,decreased,active}\n" +"\n" +" Palauttaa eniten nousseen (\"increased\"), eniten laskeneen (\"decreased\"), tai aktiivisimman (\"active\")\n" +" (nousseiden ja laskeneiden) karma asiat. on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:365 +msgid "" +"[] \n" +"\n" +" Resets the karma of to 0.\n" +" " +msgstr "" +"[] \n" +"\n" +" Nollaa karman.\n" +" " + +#: plugin.py:375 +msgid "" +"[] \n" +"\n" +" Dumps the Karma database for to in the bot's\n" +" data directory. is only necessary if the message isn't sent\n" +" in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Tallentaa botin\n" +" \"data\" hakemistoon. on vaadittu vain, jos viestiä ei lähetetä\n" +" kanavalla itsellään.\n" +" " + +#: plugin.py:387 +msgid "" +"[] \n" +"\n" +" Loads the Karma database for from in the bot's\n" +" data directory. is only necessary if the message isn't sent\n" +" in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Lataa Karma tietokannan botin\n" +" \"data\" hakemistosta. on vaadittu vain, jos viestiä ei lähetetä\n" +" kanavalla itsellään.\n" +" " + diff --git a/plugins/Lart/locale/fi.po b/plugins/Lart/locale/fi.po new file mode 100644 index 000000000..fd4ff1e39 --- /dev/null +++ b/plugins/Lart/locale/fi.po @@ -0,0 +1,60 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen, 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-24 20:51+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:49 +msgid "" +"Determines whether the bot will show the ids\n" +" of a lart when the lart is given." +msgstr "" +"Määrittää näyttääkö botti lartin id:eet\n" +" , kun lart annetaan." + +#: plugin.py:48 +msgid "Larts must contain $who." +msgstr "Larttien täytyy sisältää $who." + +#: plugin.py:52 +msgid "" +"[] [] [for ]\n" +"\n" +" Uses the Luser Attitude Readjustment Tool on (for ,\n" +" if given). If is given, uses that specific lart. is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [] [for ]\n" +"\n" +" Käyttää \"Luser Attitude Readjustment Tool\" (for ,\n" +" jos annettu). Jos on annettu, käyttää sitä tiettyä Larttia. on\n" +" vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:66 +msgid "There is no lart with id #%i." +msgstr "Tuolla ID:llä ei ole larttia #%i." + +#: plugin.py:71 +msgid "There are no larts in my database for %s." +msgstr "Minun tietokannassani ei ole larttia %s:lle." + +#: plugin.py:77 +msgid "trying to dis me" +msgstr "yrittämässä dissata minua" + +#: plugin.py:85 +msgid " for " +msgstr "syystä" + diff --git a/plugins/Later/locale/fi.po b/plugins/Later/locale/fi.po new file mode 100644 index 000000000..fa788f1f8 --- /dev/null +++ b/plugins/Later/locale/fi.po @@ -0,0 +1,169 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-25 13:05+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:45 +msgid "" +"Determines the maximum number of\n" +" messages to be queued for a user. If this value is 0, there is no maximum.\n" +" " +msgstr "" +"Määrittää maksimi määrän\n" +" viestejä, jotka ovat jonossa käyttäjälle. Jos tämä arvo on 0, maksimia ei ole.\n" +" " + +#: config.py:49 +msgid "" +"Determines whether users will be notified in\n" +" the first place in which they're seen, or in private." +msgstr "" +"Määrittää huomautetaanko käyttäjiä heti\n" +" siinä paikassa kun heidät on nähty vai yksityisesti." + +#: config.py:52 +msgid "" +"Determines whether users will be notified upon\n" +" joining any channel the bot is in, or only upon sending a message." +msgstr "" +"Määrittää huomautetaanko käyttäjiä kun liittyessä\n" +" mille tahansa kanavalle. jolla botti on vai vain viestiä lähetettäessä." + +#: config.py:55 +msgid "" +"Determines the maximum number of\n" +" days that a message will remain queued for a user. After this time elapses,\n" +" the message will be deleted. If this value is 0, there is no maximum." +msgstr "" +"Määrittää maksimi määrän päiviä, jonka aikana\n" +" viesti on jonossa käyttäjälle. Sen jälkeen kun tämä aika on kulunut,\n" +" viesti poistetaan. Jos tämä arvo on 0, maksimia ei ole." + +#: plugin.py:46 +msgid "" +"Used to do things later; currently, it only allows the sending of\n" +" nick-based notes. Do note (haha!) that these notes are *not* private\n" +" and don't even pretend to be; if you want such features, consider using the\n" +" Note plugin." +msgstr "" +"Tottunut tekemään asioita myöhemmin; tällä hetkellä, se sallii vain nimimerkki-pohjaisten\n" +" muistiinpanojen lähettämisen. Muista (haha!), että nämä muistiimpanot *eivät* ole yksityisiä\n" +" eivätkä edes esitä olevansa; jos tahdot sellaisia toimintoja, harkitse\n" +" Note lisäosan käyttöä." + +#: plugin.py:84 +msgid "%s ago" +msgstr "%s sitten" + +#: plugin.py:86 +msgid "just now" +msgstr "juuri nyt" + +#: plugin.py:106 +#, fuzzy +msgid "" +"Validate nick according to the IRC RFC 2812 spec.\n" +"\n" +" Reference: http://tools.ietf.org/rfcmarkup?doc=2812#section-2.3.1\n" +"\n" +" Some irc clients' tab-completion feature appends 'address' characters\n" +" to nick, such as ':' or ','. We try correcting for that by trimming\n" +" a char off the end.\n" +"\n" +" If nick incorrigibly invalid, return False, otherwise,\n" +" return (possibly trimmed) nick.\n" +" " +msgstr "" +"Varmista ninimerkki IRC RFC 2812 vaatimusten mukaan.\n" +"\n" +" Viittaukset: http://tools.ietf.org/rfcmarkup?doc=2812#section-2.3.1\n" +"\n" +" Jotkut IRC asiakasohjelmat' tabulaattoritäyttävät toimintoja liittyen 'osoite' merkkeihin\n" +" nimimerkeissä, kuten ':' tai ','. Me yritämme oikaista tämän trimmaamalla\n" +" merkin lopusta.\n" +"\n" +" Jos nimimerkki on viallinen, palauttaa Falsen, muutoin palauttaa\n" +" (mahdollisesti trimmatun) nimimerkin.\n" +" " + +#: plugin.py:151 +msgid "" +" \n" +"\n" +" Tells the next time is in seen. can\n" +" contain wildcard characters, and the first matching nick will be\n" +" given the note.\n" +" " +msgstr "" +" \n" +"\n" +" Kertoo seuraavalla kerralla, kun on nähty seuraavan kerran. voi\n" +" sisältää jokerimerkkejä ja ensimmäiselle täsmäävälle nimimerkille\n" +" annetaan muistiinpano.\n" +" " + +#: plugin.py:159 +msgid "I can't send notes to myself." +msgstr "En voi lähettää muistiinpanoja itselleni." + +#: plugin.py:169 +msgid "That person's message queue is already full." +msgstr "Tuon henkilön viestijono on jo täynnä." + +#: plugin.py:174 +msgid "" +"[]\n" +"\n" +" If is given, replies with what notes are waiting on ,\n" +" otherwise, replies with the nicks that have notes waiting for them.\n" +" " +msgstr "" +"[]\n" +"\n" +" Jos on annettu, vastaa niillä muistiinpanoja, jotka odottaavat ,\n" +" muutoin, vastaa nimimerkeillä, joilla on odottavia muistiinpanoja.\n" +" " + +#: plugin.py:185 +msgid "I have no notes for that nick." +msgstr "Minulla ei ole muistiinpanoja odottamassa tuota nimimerkkiä." + +#: plugin.py:190 +msgid "I currently have notes waiting for %L." +msgstr "Minulla on tällä hetkellä muistiinpanoja odottamassa %L:ää.." + +#: plugin.py:193 +msgid "I have no notes waiting to be delivered." +msgstr "Minulla ei ole muistiinpanoja odottamassa toimitetuksi tulemista." + +#: plugin.py:198 +msgid "" +"\n" +"\n" +" Removes the notes waiting on .\n" +" " +msgstr "" +"\n" +"\n" +" Poistaa muistiinpanot, jotka odottavat .\n" +" " + +#: plugin.py:207 +msgid "There were no notes for %r" +msgstr " %r:lle ei ollut muistiinpanoja." + +#: plugin.py:231 +msgid "Sent %s: <%s> %s" +msgstr "Lähetetty %s: <%s> %s" + From 2cb7f72874c2cd3e2135683c7fe828b86a72d28f Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 25 Jun 2011 13:06:06 +0200 Subject: [PATCH 043/244] User: fix typo. Closes GH-32. --- plugins/User/locale/fr.po | 2 +- plugins/User/messages.pot | 2 +- plugins/User/plugin.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/User/locale/fr.po b/plugins/User/locale/fr.po index 0ca1e4e61..70569a97b 100644 --- a/plugins/User/locale/fr.po +++ b/plugins/User/locale/fr.po @@ -185,7 +185,7 @@ msgid "%s has no registered hostmasks." msgstr "%s n'a pas de masque d'hôte enregistré." #: plugin.py:283 -msgid "You may only retrieve your own (hostmasks." +msgid "You may only retrieve your own hostmasks." msgstr "Vous ne pouvez récupérer que vos propres masques d'hôte." #: plugin.py:299 diff --git a/plugins/User/messages.pot b/plugins/User/messages.pot index 4f2171590..1fafd28e1 100644 --- a/plugins/User/messages.pot +++ b/plugins/User/messages.pot @@ -169,7 +169,7 @@ msgid "%s has no registered hostmasks." msgstr "" #: plugin.py:283 -msgid "You may only retrieve your own (hostmasks." +msgid "You may only retrieve your own hostmasks." msgstr "" #: plugin.py:299 diff --git a/plugins/User/plugin.py b/plugins/User/plugin.py index 562c143ab..a1e98f512 100644 --- a/plugins/User/plugin.py +++ b/plugins/User/plugin.py @@ -281,7 +281,7 @@ class User(callbacks.Plugin): if name != user.name and \ not ircdb.checkCapability(msg.prefix, 'owner'): irc.error(_('You may only retrieve your own ' - '(hostmasks.'), Raise=True) + 'hostmasks.'), Raise=True) else: try: user = ircdb.users.getUser(name) From 4df4977a76f894fd917c046ec56bb29b1a7aa6a9 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 25 Jun 2011 14:27:44 +0200 Subject: [PATCH 044/244] Internationalize strings in the HTTP server. Closes GH-29. --- src/utils/httpserver.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/utils/httpserver.py b/src/utils/httpserver.py index 27ff7e323..4ace1ef44 100644 --- a/src/utils/httpserver.py +++ b/src/utils/httpserver.py @@ -40,6 +40,8 @@ from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler import supybot.log as log import supybot.conf as conf import supybot.world as world +from supybot.i18n import PluginInternationalization +_ = PluginInternationalization() configGroup = conf.supybot.servers.http @@ -126,10 +128,10 @@ class SupyHTTPServerCallback: """This is a base class that should be overriden by any plugin that want to have a Web interface.""" name = "Unnamed plugin" - defaultResponse = """ + defaultResponse = _(""" This is a default response of the Supybot HTTP server. If you see this message, it probably means you are developping a plugin, and you have - neither overriden this message or defined an handler for this query.""" + neither overriden this message or defined an handler for this query.""") def doGet(self, handler, path): handler.send_response(400) @@ -147,11 +149,11 @@ class SupyHTTPServerCallback: class Supy404(SupyHTTPServerCallback): """A 404 Not Found error.""" name = "Error 404" - response = """ + response = _(""" I am a pretty clever IRC bot, but I suck at serving Web pages, particulary if I don't know what to serve. What I'm saying is you just triggered a 404 Not Found, and I am not - trained to help you in such a case.""" + trained to help you in such a case.""") def doGet(self, handler, path): handler.send_response(404) self.send_header('Content_type', 'text/plain') @@ -164,21 +166,23 @@ class Supy404(SupyHTTPServerCallback): class SupyIndex(SupyHTTPServerCallback): """Displays the index of available plugins.""" name = "index" - defaultResponse = "Request not handled.""" + defaultResponse = _("Request not handled.") template = """ - Supybot Web server index + """ + _('Supybot Web server index') + """ -

    Here is a list of the plugins that have a Web interface:

    +

    """ + _('Here is a list of the plugins that have a Web interface:') +\ + """ +

    %s """ def doGet(self, handler, path): plugins = [x for x in handler.server.callbacks.items()] if plugins == []: - plugins = 'No plugins available.' + plugins = _('No plugins available.') else: plugins = '
    • %s
    ' % '
  • '.join( ['%s' % (x,y.name) for x,y in plugins]) From ae9b1819c2fc992704154fd5f6594cb30749bcbe Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 25 Jun 2011 14:29:18 +0200 Subject: [PATCH 045/244] Update the core messages.pot and l10n-fr. --- locale/fr.po | 396 ++++++++++++++++++++++++++------------------ locale/messages.pot | 386 ++++++++++++++++++++++++------------------ 2 files changed, 455 insertions(+), 327 deletions(-) diff --git a/locale/fr.po b/locale/fr.po index bb2768c59..0df628b0d 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2010-10-31 13:42+CET\n" +"POT-Creation-Date: 2011-06-25 14:17+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -13,201 +13,201 @@ msgstr "" "X-Poedit-Country: France\n" "X-Poedit-SourceCharset: ASCII\n" -#: callbacks.py:184 +#: ../src/callbacks.py:184 msgid "Error: " msgstr "Erreur : " -#: callbacks.py:198 +#: ../src/callbacks.py:198 msgid "Error: I tried to send you an empty message." msgstr "Erreur : J'ai essayé de vous envoyer un message vide." -#: callbacks.py:288 +#: ../src/callbacks.py:288 msgid "Missing \"%s\". You may want to quote your arguments with double quotes in order to prevent extra brackets from being evaluated as nested commands." msgstr "\"%s\" manquant. Vous devriez encadrer vos arguments par des guillements pour éviter que les crochets ne soient évalués comme étant des commandes imbriquées." -#: callbacks.py:318 +#: ../src/callbacks.py:318 msgid "\"|\" with nothing preceding. I obviously can't do a pipe with nothing before the |." msgstr "\"|\" avec rien ne le précédant. Je ne peux évidtemment pas faire un pipe avec rien avant le |." -#: callbacks.py:326 +#: ../src/callbacks.py:326 msgid "Spurious \"%s\". You may want to quote your arguments with double quotes in order to prevent extra brackets from being evaluated as nested commands." msgstr "\"%s\" en trop. Vous devriez encadrer vos arguments par des guillements pour éviter que les crochets ne soient évalués comme étant des commandes imbriquées." -#: callbacks.py:335 +#: ../src/callbacks.py:335 msgid "\"|\" with nothing following. I obviously can't do a pipe with nothing after the |." msgstr "\"|\" avec rien ne le suivant. Je ne peux évidtemment pas faire un pipe avec rien après le |." -#: callbacks.py:515 +#: ../src/callbacks.py:519 msgid "%s is not a valid %s." msgstr "%s n'est pas du type '%s'." -#: callbacks.py:517 +#: ../src/callbacks.py:521 msgid "That's not a valid %s." msgstr "Ce n'est pas un %s valide." -#: callbacks.py:595 +#: ../src/callbacks.py:599 msgid "You've attempted more nesting than is currently allowed on this bot." msgstr "Vous avez essayé de faire plus d'imbrication que ce qui est actuellement autorisé sur ce bot." -#: callbacks.py:774 +#: ../src/callbacks.py:778 msgid "The command %q is available in the %L plugins. Please specify the plugin whose command you wish to call by using its name as a command before %q." msgstr "La commande %q est disponible dans les plugins %L. Veuillez spécifier dans quel plugin se trouve la commande que vous souhaitez appeler, en ajoutant le nom du plugin avant %q." -#: callbacks.py:859 -#: callbacks.py:872 +#: ../src/callbacks.py:863 +#: ../src/callbacks.py:876 msgid "(XX more messages)" msgstr "(XX messages supplémentaires)" -#: callbacks.py:904 +#: ../src/callbacks.py:908 msgid "more message" msgstr "message supplémentaire" -#: callbacks.py:906 +#: ../src/callbacks.py:910 msgid "more messages" msgstr "messages supplémentaires" -#: callbacks.py:1006 +#: ../src/callbacks.py:1010 msgid "" "Determines what commands are currently disabled. Such\n" " commands will not appear in command lists, etc. They will appear not even\n" " to exist." msgstr "Détermine quelles commandes sont actuellement désactivées. De telles commandes n'apparaitront pas dans la liste des commandes, etc. Ça sera comme si elles n'existaient pas." -#: callbacks.py:1197 +#: ../src/callbacks.py:1201 msgid "Invalid arguments for %s." msgstr "Argument invalide pour %s" -#: callbacks.py:1223 +#: ../src/callbacks.py:1227 msgid "The %q command has no help." msgstr "La commande %q n'a pas d'aide." -#: commands.py:171 +#: ../src/commands.py:171 msgid "integer" msgstr "entier" -#: commands.py:182 +#: ../src/commands.py:182 msgid "non-integer value" msgstr "valeur non entière" -#: commands.py:193 +#: ../src/commands.py:193 msgid "floating point number" msgstr "nombre à virgule flottante" -#: commands.py:202 +#: ../src/commands.py:202 msgid "positive integer" msgstr "entier positif" -#: commands.py:206 +#: ../src/commands.py:206 msgid "non-negative integer" msgstr "entier non négatif" -#: commands.py:209 +#: ../src/commands.py:209 msgid "index" msgstr "index" -#: commands.py:234 +#: ../src/commands.py:234 msgid "number of seconds" msgstr "nombre de secondes" -#: commands.py:241 +#: ../src/commands.py:241 msgid "boolean" msgstr "booléen" -#: commands.py:255 +#: ../src/commands.py:255 msgid "do that" msgstr "faire ça" -#: commands.py:259 +#: ../src/commands.py:259 msgid "I'm not even in %s." msgstr "Je ne suis pas sur %s." -#: commands.py:261 +#: ../src/commands.py:261 msgid "I need to be opped to %s." msgstr "Je doit être opé pour %s" -#: commands.py:278 +#: ../src/commands.py:278 msgid "nick or hostmask" msgstr "nick ou masque d'hôte" -#: commands.py:330 -#: commands.py:333 +#: ../src/commands.py:330 +#: ../src/commands.py:333 msgid "regular expression" msgstr "expression régulière" -#: commands.py:344 +#: ../src/commands.py:344 msgid "That nick is too long for this server." msgstr "Ce nick est trop long pour ce serveur." -#: commands.py:393 -#: commands.py:412 +#: ../src/commands.py:393 +#: ../src/commands.py:412 msgid "I'm not in %s." msgstr "Je ne suis pas sur %s" -#: commands.py:397 +#: ../src/commands.py:397 msgid "This command may only be given in a channel that I am in." msgstr "Cette commande ne peut être donnée que sur un canal sur lequel je suis." -#: commands.py:410 +#: ../src/commands.py:410 msgid "You must be in %s." msgstr "Vous devez être sur %s" -#: commands.py:414 +#: ../src/commands.py:414 msgid "channel" msgstr "canal" -#: commands.py:421 +#: ../src/commands.py:421 msgid "%s is not in %s." msgstr "%s n'est pas sur %s" -#: commands.py:455 +#: ../src/commands.py:455 msgid "You must not give the empty string as an argument." msgstr "Vous ne pouvez me donner une chaîne vide comme argument." -#: commands.py:472 +#: ../src/commands.py:472 msgid "This message must be sent in a channel." msgstr "Ce message doit être envoyé sur un canal." -#: commands.py:513 +#: ../src/commands.py:518 msgid "http url" msgstr "URL HTTP" -#: commands.py:520 +#: ../src/commands.py:525 msgid "command name" msgstr "nom de commande" -#: commands.py:528 +#: ../src/commands.py:533 msgid "ip" msgstr "IP" -#: commands.py:534 +#: ../src/commands.py:539 msgid "letter" msgstr "lettre" -#: commands.py:566 +#: ../src/commands.py:571 msgid "plugin" msgstr "plugin" -#: commands.py:574 +#: ../src/commands.py:579 msgid "irc color" msgstr "couleur IRC" -#: conf.py:104 +#: ../src/conf.py:104 msgid "" "Determines whether this plugin is loaded\n" " bydefault." msgstr "Détermine si ce plugin est chargé par défaut." -#: conf.py:108 +#: ../src/conf.py:108 msgid "" "Determines whether this plugin is\n" " publicly visible." msgstr "Détermine si ce plugin est visible publiquement" -#: conf.py:194 +#: ../src/conf.py:194 msgid "Determines the bot's default nick." msgstr "Détermine le nick par défaut du bot." -#: conf.py:197 +#: ../src/conf.py:197 msgid "" "Determines what alternative\n" " nicks will be used if the primary nick (supybot.nick) isn't available. A\n" @@ -216,54 +216,54 @@ msgid "" " appropriately until an unused nick is found." msgstr "Détermine quels nicks alternatifs peuvent être utilisés si le nick principal (supybot.nick) n'est pas disponible. Un %s dans ce nick est remplacé par la valeur de supybot.nick. Si aucune alternative n'est donnée, ou si elles sont toutes déjà utilisées, supybot.nick sera modifié jusqu'à ce qu'un nick non utilisé soit trouvé." -#: conf.py:204 +#: ../src/conf.py:204 msgid "" "Determines the bot's ident string, if the server\n" " doesn't provide one by default." msgstr "Détermine l'ident du bot (ce qui précède le @ dans le masque d'hôte), si le serveur n'en fourni par une par défaut." -#: conf.py:215 +#: ../src/conf.py:215 msgid "" "Determines the user the bot sends to the server.\n" " A standard user using the current version of the bot will be generated if\n" " this is left empty." msgstr "Détermine le nom réel que le bot envoie au serveur (aussi appelé nom d'utilisateur ; il peut contenir des caractères spéciaux et n'est pas obligatoirement unique). Un nom standard contenant la version actuelle du bot sera généré si vous laisser cette variable vide." -#: conf.py:223 +#: ../src/conf.py:223 msgid "Determines what networks the bot will connect to." msgstr "Détermine à quels réseaux le bot se connecte." -#: conf.py:264 +#: ../src/conf.py:264 msgid "" "Determines what password will be used on %s. Yes, we know that\n" " technically passwords are server-specific and not network-specific,\n" " but this is the best we can do right now." msgstr "Détermine quel mot de passe sera utilisé sur %s. Oui, nous savons que les mots de passe sont en fait spécifiques aux serveurs et non et réseaux, mais nous pensons que c'est mieux comme ça." -#: conf.py:268 +#: ../src/conf.py:268 msgid "" "Determines what servers the bot will connect to for %s. Each will\n" " be tried in order, wrapping back to the first when the cycle is\n" " completed." msgstr "Détermine à quels serveurs le bot se connectera pour %s. La connexion se fera d'abord au premier serveur, puis au second si la première est raté, etc. Une fois arrivé à la fin, on recommence du début." -#: conf.py:272 +#: ../src/conf.py:272 msgid "Determines what channels the bot will join only on %s." msgstr "Détermine quels canaux le bot rejoindra sur ce réseau %s." -#: conf.py:275 +#: ../src/conf.py:275 msgid "" "Determines whether the bot will attempt to connect with SSL\n" " sockets to %s." msgstr "Détermine si le bot tentera de se connecter avec des sockets SSL à %s." -#: conf.py:278 +#: ../src/conf.py:278 msgid "" "Determines what key (if any) will be used to join the\n" " channel." msgstr "Détermine quelle clef (s'il y en a) sera utilisée pour rejoindre le canal." -#: conf.py:298 +#: ../src/conf.py:298 msgid "" "Determines how timestamps\n" " printed for human reading should be formatted. Refer to the Python\n" @@ -271,40 +271,40 @@ msgid "" " time formats." msgstr "Détermine quels timestamps sont affichés pour être lus par des humaines. Référez-vous à la documentation Python sur le module time pour plus d'information sur les formats valides." -#: conf.py:312 +#: ../src/conf.py:312 msgid "" "Determines whether elapsed times will be given\n" " as \"1 day, 2 hours, 3 minutes, and 15 seconds\" or as \"1d 2h 3m 15s\"." msgstr "Détermine si un utilise des temps plus courts, c'est à dire par exemple \"1d 2h 3m 15s\" au lieu de \"1 day, 2 hours, 3 minutes, and 15 seconds\"." -#: conf.py:322 +#: ../src/conf.py:322 msgid "" "Determines the absolute maximum length of\n" " the bot's reply -- no reply will be passed through the bot with a length\n" " greater than this." msgstr "Détermine la longueur maximum absolue des réponses du bot ; le bot n'enverra aucune réponse qui dépassera ce nombre." -#: conf.py:327 +#: ../src/conf.py:327 msgid "" "Determines whether the bot will break up long\n" " messages into chunks and allow users to use the 'more' command to get the\n" " remaining chunks." msgstr "Détermine si le bot séparera les longs messages en morceaux et permettra aux utilisateurs d'utiliser la commande 'more' pour récupérer les morceaux restants." -#: conf.py:332 +#: ../src/conf.py:332 msgid "" "Determines what the maximum number of\n" " chunks (for use with the 'more' command) will be." msgstr "Détermine quel est le nombre maximum de morceaux (que l'on récupère avec la commande 'more')." -#: conf.py:336 +#: ../src/conf.py:336 msgid "" "Determines how long individual chunks\n" " will be. If set to 0, uses our super-tweaked,\n" " get-the-most-out-of-an-individual-message default." msgstr "Détermine quelle est la longueur maximale des morceaux. Définir cette variable à 0 permet d'utiliser notre super algorithme pour optimiser cette longueur en fonction des paramètres du serveur." -#: conf.py:341 +#: ../src/conf.py:341 msgid "" "Determines how many mores will be sent\n" " instantly (i.e., without the use of the more command, immediately when\n" @@ -312,7 +312,7 @@ msgid "" " required for all but the first chunk." msgstr "Détermine combien de 'more's sont envoyés immédiatement (c'est à dire, avant l'utilisation de la commande 'more', juste après que l'utilisateur ait envoyé la commande. Par défaut, cela vaut 1, ce qui signifie que seul le premier morceau est envoyé. Avant l'appel de 'more'." -#: conf.py:347 +#: ../src/conf.py:347 msgid "" "Determines whether the bot will send\n" " multi-message replies in a single message or in multiple messages. For\n" @@ -320,7 +320,7 @@ msgid "" " everything in a single message, using mores if necessary." msgstr "Détermine si le bot enverra des réponses multi-messages dans un seul message ou dans plusieurs. Pour des raisons de sécurité (le bot est moins susceptible de flooder), il envoie tout dans un seul message, et les utilisateurs peuvent utiliser 'more' si nécessaire." -#: conf.py:353 +#: ../src/conf.py:353 msgid "" "Determines whether the bot will reply with an\n" " error message when it is addressed but not given a valid command. If this\n" @@ -328,14 +328,14 @@ msgid "" " override the normal behavior." msgstr "Détermine si le bot répondra avec un message d'erreur lorsqu'un message lui est adressé, mais qu'il ne s'agit pas d'une commande valide. Si cette valeur est à False, le bot restera silencieux, du moment qu'aucun plugin ne modifie le comportement normal." -#: conf.py:360 +#: ../src/conf.py:360 msgid "" "Determines whether error messages that result\n" " from bugs in the bot will show a detailed error message (the uncaught\n" " exception) or a generic error message." msgstr "Détermine si les messages d'erreur résultant de bugs seront affichés dans un message d'erreur (l'exception non interceptée) ou si un message d'erreur générique est utilisé." -#: conf.py:364 +#: ../src/conf.py:364 msgid "" "Determines whether the bot will send error\n" " messages to users in private. You might want to do this in order to keep\n" @@ -343,7 +343,7 @@ msgid "" " supybot.reply.error.withNotice." msgstr "Détermine si le bot enverra les messages d'erreur en privé. Vous pouvez vouloir ceci dans le but de limiter le traffic de données sur le canal. Vous pouvez utiliser ceci en combinaison avec supybot.reply.error.withNotice." -#: conf.py:369 +#: ../src/conf.py:369 msgid "" "Determines whether the bot will send error\n" " messages to users via NOTICE instead of PRIVMSG. You might want to do this\n" @@ -353,7 +353,7 @@ msgid "" " in most IRC clients." msgstr "Détermine si le bot enverra les erreurs par NOTICE plutôt que par PRIVMSG. Vous pouvez faire cela pour que les utilisateurs qui ne veulent pas recevoir de message d'erreur ignorent les NOTICEs du bot. Vous pouvez utiliser cette fonctionnalité en combinaison avec supybot.reply.errorInPrivate, pour que les erreurs en privé n'ouvrent pas une nouvelle fenêtre de requête, sur la plupart des clients." -#: conf.py:376 +#: ../src/conf.py:376 msgid "" "Determines whether the bot will send an error\n" " message to users who attempt to call a command for which they do not have\n" @@ -362,21 +362,21 @@ msgid "" " running certain commands." msgstr "Détermine si le bot enverra un message d'erreur aux utilisateurs qui tentent d'appeler une commande pour laquelle ils n'ont pas de capacité suffisante. Vous pouvez le mettre à True si vous ne voulez pas que les utilisateurs comprennent le système sous-jacent de capacités pour lancer certaines commandes." -#: conf.py:383 +#: ../src/conf.py:383 msgid "" "Determines whether the bot will reply\n" " privatelywhen replying in a channel, rather than replying to the whole\n" " channel." msgstr "Détermine si le bot répondra en privé, plutôt que de répondre sur le canal." -#: conf.py:388 +#: ../src/conf.py:388 msgid "" "Determines whether the bot will reply with a\n" " notice when replying in a channel, rather than replying with a privmsg as\n" " normal." msgstr "Détermine si le bot répondra par notice sur un canal plutôt que par privmsg comme d'habitude" -#: conf.py:394 +#: ../src/conf.py:394 msgid "" "Determines whether the bot will reply with a\n" " notice when it is sending a private message, in order not to open a /query\n" @@ -384,13 +384,13 @@ msgid "" " configuration variable reply.withNoticeWhenPrivate." msgstr "Détermine si le bot répondra avec une notice lorsque l'on s'adresse à lui en privé, pour éviter de devoir ouvrir une fenêtre /query. Ceci peut être modifié utilisateur par utilisateur via la varible de configuration reply.withNoticeWhenPrivate." -#: conf.py:400 +#: ../src/conf.py:400 msgid "" "Determines whether the bot will always prefix\n" " theuser's nick to its reply to that user's command." msgstr "Détermine si le bot préfixera toujours le nick de l'utilisateur lors de ses réponses à celui-ci." -#: conf.py:404 +#: ../src/conf.py:404 msgid "" "Determines whether the bot should attempt to\n" " reply to all messages even if they don't address it (either via its nick\n" @@ -398,7 +398,7 @@ msgid "" " to set supybot.reply.whenNotCommand to False." msgstr "Détermine si le bot tentera de répondre à tous les messages, même si ils ne lui sont pas adressés (par son nick ou par un caractère de préfixe). Si vous définissez ceci à True, vous voudrez probablement mettre supybot.reply.whenNotCommand à False." -#: conf.py:410 +#: ../src/conf.py:410 msgid "" "Determines whether the bot will allow you to\n" " send channel-related commands outside of that channel. Sometimes people\n" @@ -407,7 +407,7 @@ msgid "" " itself." msgstr "Détermine si le bot vous permettra d'envoyer des commandes liées à un canal en-dehors de ce canal. Parfois, certaines personnes confondent lorsqu'une commande liée à un canal (comme Filter.outfilter) changent le comportement du canal, alors que la commande est envoyée en-dehors du canal." -#: conf.py:417 +#: ../src/conf.py:417 msgid "" "Determines whether the bot will unidentify\n" " someone when that person changes his or her nick. Setting this to True\n" @@ -415,7 +415,7 @@ msgid "" " little greater security." msgstr "Détermine si le bot will désidentifiera une personne lorsque celle-ci change son nick. Mettre ceci à True fera que le bot traquera ces changements. Il est par défaut à False pour améliorer légèrement la sécurité." -#: conf.py:423 +#: ../src/conf.py:423 msgid "" "Determines whether the bot will always join a\n" " channel when it's invited. If this value is False, the bot will only join\n" @@ -423,7 +423,7 @@ msgid "" " explicitly told to join the channel using the Admin.join command)" msgstr "Détermine si le bot joindra toujours les canaux sur lesquels il est invité. Si cette valeur est à False, le bot ne joindra un canal que si l'utilisateur l'invitant a la capacité 'admin' (ou si il lui a directement envoyé la commande Admin join)" -#: conf.py:429 +#: ../src/conf.py:429 msgid "" "Supybot normally replies with the full help\n" " whenever a user misuses a command. If this value is set to True, the bot\n" @@ -431,7 +431,7 @@ msgid "" " help) rather than the full help." msgstr "Supybot répond normalement avec une aide complète lorsque l'utilisateur se trompe dans une commande. Si cette valeur est à True, le bot ne répondra qu'avec la syntaxe de la commande (la première ligne de l'aide), plutôt que par toute l'aide." -#: conf.py:443 +#: ../src/conf.py:443 msgid "" "Determines what prefix characters the bot will\n" " reply to. A prefix character is a single character that the bot will use\n" @@ -442,7 +442,7 @@ msgid "" " assume it is being addressed." msgstr "Détermine à quel caractère de préfixe le bot réagira. Un caractère de préfixe est un caractère servant à indiquer que le message est destiné au bot ; lorsqu'il n'y a pas de caractère de préfixe, vous ne pouvez qu'utiliser le nick du bot. Chaque caractère de cette chaîne sera interprété individuellement ; vous pouvez avoir plusieurs caractères simultanément, et un seul d'entre eux suffira pour s'adresser au bot." -#: conf.py:452 +#: ../src/conf.py:452 msgid "" "Determines what strings the\n" " bot will reply to when they are at the beginning of the message. Whereas\n" @@ -452,77 +452,89 @@ msgid "" " prefixed by either @@ or ??." msgstr "Détermine à quelles chaînes le bot répondra lorsqu'elles sont au début du message. Alors que prefex.chars n'est utilisé que pour un caractère seul (même si on peut en utiliser plusieurs), cette variable est une liste de chaînes séparées par des espaces, vous pouvez donc par exemple mettre '@@ ??' et le bot répondra lorsqu'un message est préfixé par @@ ou par ??." -#: conf.py:459 +#: ../src/conf.py:459 msgid "" "Determines whether the bot will reply when\n" " people address it by its nick, rather than with a prefix character." msgstr "Détermine si le bot will répondra lorsque des gens s'adresseront à lui par si nick, au lieu de ne répondre qu'aux caractères de préfixe." -#: conf.py:462 +#: ../src/conf.py:462 msgid "" "Determines whether the bot will reply when\n" " people address it by its nick at the end of the message, rather than at\n" " the beginning." msgstr "Détermine si le bot répondra lorsque les personnes mettent son nick à la fin d'un message, plutôt qu'au début." -#: conf.py:466 +#: ../src/conf.py:466 msgid "" "Determines what extra nicks\n" " the bot will always respond to when addressed by, even if its current nick\n" " is something else." msgstr "Détermine à quels nicks supplémentaires le bot répondra lorsqu'on s'adressera à lui par ceux-ci, même si le nick est actuellement utilisé." -#: conf.py:476 +#: ../src/conf.py:476 msgid "The operation succeeded." msgstr "Opération effectuée avec succès." -#: conf.py:477 +#: ../src/conf.py:477 msgid "" "Determines what message the bot replies with when a command succeeded.\n" " If this configuration variable is empty, no success message will be\n" " sent." msgstr "Détermine quel message le bot répondra lorsqu'une commande a été effectuée avec succès. Si cette variable de configuration est vide, aucun message de succès ne sera envoyé." -#: conf.py:482 +#: ../src/conf.py:482 msgid "" "An error has occurred and has been logged.\n" " Please contact this bot's administrator for more information." msgstr "Une erreur est survenue et a été logguée. Contactez l'administrateur du bot pour plus d'informations." -#: conf.py:483 +#: ../src/conf.py:483 msgid "" "\n" " Determines what error message the bot gives when it wants to be\n" " ambiguous." msgstr "Détermine quel message d'erreur le bot donnera, quand il décidera de ne pas être plus précis." -#: conf.py:488 +#: ../src/conf.py:488 +msgid "" +"An error has occurred and has been logged.\n" +" Check the logs for more informations." +msgstr "Une erreur est survenue et a été logguée. Vérifiez les logs pour plus d'informations." + +#: ../src/conf.py:489 +msgid "" +"Determines what error\n" +" message the bot gives to the owner when it wants to be ambiguous." +msgstr "Détermine quel message d'erreur le bot donnera au propriétaire lorsqu'il veut être ambigu." + +#: ../src/conf.py:493 msgid "" "Your hostmask doesn't match or your password\n" " is wrong." msgstr "Votre masque d'hôte ne correspond pas, ou votre mot de passe est incorrect." -#: conf.py:489 +#: ../src/conf.py:494 msgid "" "Determines what message the bot replies with when\n" " someonetries to use a command that requires being identified or having a\n" " password and neither credential is correct." msgstr "Détermine quel message le bot répondra lorsque quelqu'un utiliser une commande qui nécessite d'être identifié." -#: conf.py:495 +#: ../src/conf.py:500 msgid "" "I can't find %s in my user\n" " database. If you didn't give a user name, then I might not know what your\n" " user is, and you'll need to identify before this command might work." msgstr "Je ne peux trouver %s dans ma base de données d'utilisateurs. Si vous ne m'avez pas donné un nom d'utilisateur, je ne peux savoir qui est cet utilisateur, et vous devrez vous identifier avant que cette commande fonctionne." -#: conf.py:498 +#: ../src/conf.py:503 msgid "" "Determines what error message the bot replies with when someone tries\n" " to accessing some information on a user the bot doesn't know about." msgstr "Détermine quel message d'erreur est envoyé lorsque quelqu'un essaye d'accéder à une information sur un utilisateur que le bot ne connait pas." -#: conf.py:502 +#: ../src/conf.py:507 msgid "" "You must be registered to use this command.\n" " If you are already registered, you must either identify (using the identify\n" @@ -530,14 +542,14 @@ msgid "" " \"hostmask add\" command)." msgstr "Vous devez être enregistré(e) pour utiliser cette commande. Si vous êtes déjà enregistré(e), vous devez vous identifier (en utilisant la commande 'identify') ou ajouter un masque d'hôte correspondant à votre masque d'hôte courant (en utilisant la commande 'hostmask add')." -#: conf.py:505 +#: ../src/conf.py:510 msgid "" "Determines what error message the bot\n" " replies with when someone tries to do something that requires them to be\n" " registered but they're not currently recognized." msgstr "Détermine quel message d'erreur le bot renvoie lorsque quelqu'un essaye de faire quelque chose qui nécessit d'être enregistré, alors qu'il n'est pas reconnu." -#: conf.py:510 +#: ../src/conf.py:515 msgid "" "You don't have the %s capability. If you\n" " think that you should have this capability, be sure that you are identified\n" @@ -545,14 +557,14 @@ msgid "" " identified." msgstr "Vous n'avez pas la capacité %s. Si vous pensez que vous l'avez, assurez-vous d'être identifié(e) et réessayez. La commande 'whoami' vous dit si vous êtes identifié(e)." -#: conf.py:513 +#: ../src/conf.py:518 msgid "" "Determines what error message is given when the bot\n" " is telling someone they aren't cool enough to use the command they tried to\n" " use." msgstr "Détermine quel message d'erreur est donné lorsqu'un utilisateur tente d'utiliser une commande à laquelle il n'y pas accès." -#: conf.py:518 +#: ../src/conf.py:523 msgid "" "You're missing some capability you need.\n" " This could be because you actually possess the anti-capability for the\n" @@ -564,7 +576,7 @@ msgid "" " what you want to do." msgstr "Il vous manque une capacité. Ceci peut être dû au fait que vous possédez actuellement une anti-capacité quant à la commande que vous tentez d'utiliser, ou que le canal fourni cette anti-capacité par défaut, ou parce que les capacités globales incluent cette anti-capacité. Cela peut également être du au fait que supybot.capabilities.default est défini à False, ce qui signifit qu'une commande n'est autorisée par défaut (elles doivent être autorisées une par une par un administrateur). En clair, vous ne pouvez pas le faire." -#: conf.py:526 +#: ../src/conf.py:531 msgid "" "Determines what generic error message is given when the bot is telling\n" " someone that they aren't cool enough to use the command they tried to use,\n" @@ -572,40 +584,40 @@ msgid "" " explicit capability for whatever reason." msgstr "Détermine le message d'erreur générique qui est donné par le bot pour dire à quelqu'un qu'il n'a pas les capacités requises pour utiliser une commande qu'il essaye d'utiliser, si l'auteur du code appelant errorNoCapability ne fourni pas d'information explicite sur la raison de ce refus." -#: conf.py:532 +#: ../src/conf.py:537 msgid "" "That operation cannot be done in a\n" " channel." msgstr "Cette opération ne peut être faite sur un canal." -#: conf.py:533 +#: ../src/conf.py:538 msgid "" "Determines what error messages the bot sends to people\n" " who try to do things in a channel that really should be done in\n" " private." msgstr "Détermine quel message d'erreur le bot envoie aux personnes qui tentent de faire quelque chose sur un canal, alors que cela doit être fait en privé." -#: conf.py:538 +#: ../src/conf.py:543 msgid "" "This may be a bug. If you think it is,\n" " please file a bug report at\n" " ." msgstr "Ceci semble être un bug. Si vous pensez que c'en est un, veillez à envoyer un rapport de bug sur ." -#: conf.py:541 +#: ../src/conf.py:546 msgid "" "Determines what message the bot sends when it thinks you've\n" " encountered a bug that the developers don't know about." msgstr "Détermine quel message le bot envoie quand il pense que l'on a rencontré un bug que les développeurs ne connaissent pas." -#: conf.py:548 +#: ../src/conf.py:553 msgid "" "A floating point number of seconds to throttle\n" " snarfed URLs, in order to prevent loops between two bots snarfing the same\n" " URLs and having the snarfed URL in the output of the snarf message." msgstr "Un nombre à virgule flottante correspondant au temps (en secondes) à attendre avant de 'snarfer' la même URL, dans le but d'éviter que deux bots entrent ainsi en boucle infinie." -#: conf.py:553 +#: ../src/conf.py:558 msgid "" "Determines the number of seconds\n" " between running the upkeep function that flushes (commits) open databases,\n" @@ -613,7 +625,7 @@ msgid "" " level." msgstr "Détermine le nombre de secondes entre deux exécutions de la fonction upkeep, qui rafraichit les bases de données ouvertes, vide le cache, et enregistre des statistiques utiles pour le débogage." -#: conf.py:559 +#: ../src/conf.py:564 msgid "" "Determines whether the bot will periodically\n" " flush data and configuration files to disk. Generally, the only time\n" @@ -624,27 +636,27 @@ msgid "" " permanent, you must edit the registry yourself." msgstr "Détermine si le bot rafraichira périodiquement les fichiers de données et de configuration sur le disque. Générallement, on ne défini ceci à False que lorsque l'on veut modifier ces fichiers de configuration à la main, et que l'on ne veut pas que le bot supprime les modifications en écrivant par-dessus. Notez que si vous définissez ceci à False, les changements apportés aux fichiers n'auront pas pour autant une influence sur le bot. Si vous voulez rendre ce changement définitif, vous devez éditer le registre vous-même." -#: conf.py:584 +#: ../src/conf.py:589 msgid "" "Determines what characters are valid for quoting\n" " arguments to commands in order to prevent them from being tokenized.\n" " " msgstr "Détermine quels caractères sont valides pour citer des arguments à des commandes, pour leur éviter d'être tokénisés." -#: conf.py:591 +#: ../src/conf.py:596 msgid "" "Determines whether the bot will allow nested\n" " commands, which rule. You definitely should keep this on." msgstr "Détermine si le bot autorisera les commandes commandes imbriquées sur ce bot, ce qui est une fonctionnalité génial. Vous devriez vraiment garder ceci actif." -#: conf.py:594 +#: ../src/conf.py:599 msgid "" "Determines what the maximum number of\n" " nested commands will be; users will receive an error if they attempt\n" " commands more nested than this." msgstr "Détermine le nombre maximum de commandes imbriquées ; les utilisateurs recevront une erreur si ils tentent d'en mettre plus." -#: conf.py:602 +#: ../src/conf.py:607 msgid "" "Supybot allows you to specify what brackets are\n" " used for your nested commands. Valid sets of brackets include [], <>, and\n" @@ -654,21 +666,21 @@ msgid "" " not be allowed in this channel." msgstr "Supybot vous permet de spécifier quels crochets sont utilisés pour vos commandes imbriquées. Sont disponibles : [], <>, {}, et (). [] est très largement le plus utilisé, car leur utilisation est la plus simple pour des claviers qwerty. <> et () tirent leur avantage du fait qu'ils ne peuvent apparaître dans un nick. Si cette chaîne est vide, les commandes imbriquées ne seront pas autorisées sur ce canal." -#: conf.py:609 +#: ../src/conf.py:614 msgid "" "Supybot allows nested commands. Enabling this\n" " option will allow nested commands with a syntax similar to UNIX pipes, for\n" " example: 'bot: foo | bar'." msgstr "Supybot permet les commandes imbriquées. Activer cette option permettra aux commandes imbriquées d'utiliser une syntaxe similaire aux 'pipes' UNIX, par exemple : 'bot: foo | bar'." -#: conf.py:614 +#: ../src/conf.py:619 msgid "" "Determines what commands have default\n" " plugins set, and which plugins are set to be the default for each of those\n" " commands." msgstr "Détermine, lorsque l'on appelle une commande appartenant à plusieurs plugins, lequel sera choisi par défaut pour chacune de ces commandes." -#: conf.py:620 +#: ../src/conf.py:625 msgid "" "Determines what plugins automatically get precedence over all\n" " other plugins when selecting a default plugin for a command. By\n" @@ -678,13 +690,13 @@ msgid "" " case-sensitive." msgstr "Détermine quels plugins sont prioritaires sur tous les autres lorsque l'on recherche le plugin par défaut d'une commande. Par défaut, cela inclu les plugins standards chargés. Vous ne devriez probablement pas changer ceci, à moins de savoir ce que vous faites ; si vous savez ce que vous faites, sachez que les noms de plugins sont sensibles à la classe." -#: conf.py:635 +#: ../src/conf.py:640 msgid "" "Determines whether the bot will defend itself\n" " against command-flooding." msgstr "Détermine si le bot se défendra contre les attaques par flood de commandes." -#: conf.py:638 +#: ../src/conf.py:643 msgid "" "Determines how many commands users are\n" " allowed per minute. If a user sends more than this many commands in any\n" @@ -692,19 +704,19 @@ msgid "" " supybot.abuse.flood.command.punishment seconds." msgstr "Détermine le nombre maximum de commandes qu'un utilisateur peut envoyer en une minute. Si un utilisateur dépasse cette limite, il sera ignoré supybot.abuse.flood.command.punishment secondes." -#: conf.py:643 +#: ../src/conf.py:648 msgid "" "Determines how many seconds the bot\n" " will ignore users who flood it with commands." msgstr "Détermine combien de secondes le bot ignorera les utilisateurs qui le floodent de commandes." -#: conf.py:647 +#: ../src/conf.py:652 msgid "" "Determines whether the bot will defend itself\n" " against invalid command-flooding." msgstr "Détermine si le bot se défendra contre le flood de commandes invalides." -#: conf.py:650 +#: ../src/conf.py:655 msgid "" "Determines how many invalid commands users\n" " are allowed per minute. If a user sends more than this many invalid\n" @@ -715,7 +727,7 @@ msgid "" " commands than for them to flood with valid commands." msgstr "Détermine le nombre maximum de commandes invalies qu'un utilisateur peut envoyer en une minute. Si un utilisateur dépasse cette limite, il sera ignoré supybot.abuse.flood.command.invalid.punishment secondes. Typiquement, cette valeur est plus petite que value is lower than supybot.abuse.flood.command.maximum, car il est plus probable que les utilisateurs floodent avec des commandes invalides qu'avec des commandes valides." -#: conf.py:658 +#: ../src/conf.py:663 msgid "" "Determines how many seconds the bot\n" " will ignore users who flood it with invalid commands. Typically, this\n" @@ -724,19 +736,19 @@ msgid "" " commands than for them to flood with valid commands." msgstr "Détermine combien de secondes le bot ignorera les utilisateurs qui le floodent de commandes invalides. Typiquement,cette valeur est plus grande que value is lower than supybot.abuse.flood.command.punishment, car il est plus probable que les utilisateurs floodent avec des commandes invalides qu'avec des commandes valides." -#: conf.py:664 +#: ../src/conf.py:669 msgid "" "Determines whether the bot will notify people\n" " that they're being ignored for invalid command flooding." msgstr "Détermine si le bot notifiera les personnes lorsqu'elles se font ignorer pour flood de commande." -#: conf.py:673 +#: ../src/conf.py:678 msgid "" "Determines the default length of time a\n" " driver should block waiting for input." msgstr "Détermine la durée par défaut durant laquelle un moteur réseau peut être bloquant, en attente de données entrantes." -#: conf.py:680 +#: ../src/conf.py:685 msgid "" "Determines what driver module the bot\n" " will use. Socket, a simple driver based on timeout sockets, is used by\n" @@ -744,36 +756,36 @@ msgid "" " and if you've got Twisted installed, is probably your best bet." msgstr "Détermine quel moteur réseau le bot utilisera. Socket, est un simple moteur basé sur des sockets bloquantes à timeout ; c'est celui utilisé par défaut. Twisted est très stable et simple, et, si vous avez Twisted installé, c'est probablement le meilleur choix." -#: conf.py:686 +#: ../src/conf.py:691 msgid "" "Determines the maximum time the bot will\n" " wait before attempting to reconnect to an IRC server. The bot may, of\n" " course, reconnect earlier if possible." msgstr "Détermine le temps maximum durant lequel le bot attendra avant de se reconnecter à un serveur IRC. Le bot peut, bien sûr, se reconnecter plus tôt, si c'est possible." -#: conf.py:735 +#: ../src/conf.py:740 msgid "" "Determines what directory configuration data is\n" " put into." msgstr "Détermine dans quel répertoire les données de configuration sont." -#: conf.py:738 +#: ../src/conf.py:743 msgid "Determines what directory data is put into." msgstr "Détermine dans quel répertoire les données sont." -#: conf.py:740 +#: ../src/conf.py:745 msgid "" "Determines what directory backup data is put\n" " into." msgstr "Détermine dans quel répertoire les sauvegardes des données sont." -#: conf.py:743 +#: ../src/conf.py:748 msgid "" "Determines what directory temporary files\n" " are put into." msgstr "Détermine dans quel répertoire les fichiers temporaires sont." -#: conf.py:750 +#: ../src/conf.py:755 msgid "" "Determines what directories\n" " the bot will look for plugins in. Accepts a comma-separated list of\n" @@ -783,13 +795,13 @@ msgid "" " [config supybot.directories.plugins], newPluginDirectory'." msgstr "Détermine dans quel répertoire le bot recherchera les plugins. Accepte une liste de chaînes séparées par des virgules. Ce qui signifit que si vous voulez ajouter un autre répertoire, vous pouvez imbriquer la forme actuelle la nouvelle. Par exemple, vous pouvez dire : 'config supybot.directories.plugins [config supybot.directories.plugins], nouveauRepertoireDePlugins'." -#: conf.py:758 +#: ../src/conf.py:763 msgid "" "Determines what plugins will\n" " be loaded." msgstr "Détermine quels plugins seront chargés." -#: conf.py:761 +#: ../src/conf.py:766 msgid "" "Determines whether the bot will always load\n" " important plugins (Admin, Channel, Config, Misc, Owner, and User)\n" @@ -799,28 +811,28 @@ msgid "" " enough to change the value of this variable appropriately :)" msgstr "Détermine si le bot chargera toujours les plugins importants (Admin, Channel, Config, Misc, Owner, et User), peu importe l'état de la configuration. Généralement, si ces plugins sont configurés pour ne pas être chargés, vous ne pourrez plus les charger, et finalement, vous voudrez le faire. Les utilisateurs qui ne souhaitent pas charger ces plugins sont suffisement intelligents pour changer la valeur de cette variable de façon appropriée :)" -#: conf.py:784 +#: ../src/conf.py:793 msgid "" "Determines what databases are available for use. If this\n" " value is not configured (that is, if its value is empty) then sane defaults\n" " will be provided." msgstr "Détermine quelles bases de données sont disponibles. si cette valeur n'est pas configurée (c'est à dire si sa valeur est vide), alors une manière par défaut saine sera utilisée." -#: conf.py:790 +#: ../src/conf.py:799 msgid "" "Determines what filename will be used\n" " for the users database. This file will go into the directory specified by\n" " the supybot.directories.conf variable." msgstr "Détermine quel nom de fichier sera utilisé pour la base de données des utilisateurs. Ce fichiers ira dans le répertoire spécifié par la variable supybot.directories.conf." -#: conf.py:794 +#: ../src/conf.py:803 msgid "" "Determines how long it takes identification to\n" " time out. If the value is less than or equal to zero, identification never\n" " times out." msgstr "Détermine combien de temps au maximum un utilisateur peut rester identifié. Si cette valeur est inférieure ou égale à zéro, l'identification n'expirera jamais." -#: conf.py:798 +#: ../src/conf.py:807 msgid "" "Determines whether the bot will allow users to\n" " unregister their users. This can wreak havoc with already-existing\n" @@ -830,21 +842,21 @@ msgid "" " " msgstr "Détermine si le bot autorisera les utilisateurs à se désenregistrer. Ceci peut provoquer des dégâts avec des bases de données déjà existantes, donc, nous ne l'autorisons pas par défaut. Activez ceci à vos risques et périls. (Notez également que ceci n'empêche pas le propriétaire du bot de se désenregistrer.)" -#: conf.py:807 +#: ../src/conf.py:816 msgid "" "Determines what filename will be used\n" " for the ignores database. This file will go into the directory specified\n" " by the supybot.directories.conf variable." msgstr "Détermine quel nom de fichier sera utilisé pour stocker la base de données d'ignorance. Ce fichiers ira dans le répertoire spécifié par la variable supybot.directories.conf." -#: conf.py:813 +#: ../src/conf.py:822 msgid "" "Determines what filename will be used\n" " for the channels database. This file will go into the directory specified\n" " by the supybot.directories.conf variable." msgstr "Détermine quel nom de fichier sera utilisé pour stocker la base de données de canaux. Ce fichiers ira dans le répertoire spécifié par la variable supybot.directories.conf." -#: conf.py:843 +#: ../src/conf.py:852 msgid "" "Determines whether database-based plugins that\n" " can be channel-specific will be so. This can be overridden by individual\n" @@ -855,7 +867,7 @@ msgid "" " to share a certain channel's databases globally." msgstr "Détermine si des plugins basés sur une base de données peuvent être spécifiques à un canal. Ceci peut être surchargé pour chaque canal. Notez que le bot doit être redémarré immédiatement après avoir changé cette variable, ou vos plugins basés sur une base de données pourraient ne pas marcher pour votre canal ; notez également qui vous pouvez vouloir définir supybot.databases.plugins.channelSpecific.link de manière appropriée si vous voulez partager les bases de données de certains canaux." -#: conf.py:851 +#: ../src/conf.py:860 msgid "" "Determines what channel global\n" " (non-channel-specific) databases will be considered a part of. This is\n" @@ -867,7 +879,7 @@ msgid "" " for your channel." msgstr "Détermine quelles bases de données de canaux seront considérées comme faisant partie de la base de données globale. Ceci est utile si vous utilisez une base de données spécifique à un canal depuis longtemps, et que vous voulez faire passer les bases de données de votre canal principal en bases de données globales. Si supybot.databases.plugins.channelSpecific.link.allow empêche la liaison, le canal courant sera utilisé. Notez que le bot doit être redémarré immédiatement après avoir changé cette variable ou vos plugins basés sur une base de données pourraient ne pas fonctionner." -#: conf.py:860 +#: ../src/conf.py:869 msgid "" "Determines whether another channel's global\n" " (non-channel-specific) databases will be allowed to link to this channel's\n" @@ -876,13 +888,13 @@ msgid "" " " msgstr "Détermine si les bases de données globales d'un autre canal peuvent êtres liées à celles de ce canal. Notez que le bot doit être redémarré immédiatement après avoir changé cette variable ou vos plugins basés sur une base de données pourraient ne pas marcher pour votre canal." -#: conf.py:877 +#: ../src/conf.py:886 msgid "" "Determines\n" " whether CDB databases will be allowed as a database implementation." msgstr "Détermine si les bases de données CDB seront autorisées comme implémentation de base de données." -#: conf.py:880 +#: ../src/conf.py:889 msgid "" "Determines how often CDB databases will have\n" " their modifications flushed to disk. When the number of modified records\n" @@ -890,13 +902,13 @@ msgid "" " will be entirely flushed to disk." msgstr "Détermine la fréquence de sauvegarde des bases de données CDB sur le disque. Lorsque le nombre d'enregistrements modifiés est plus grand que le nombre d'enregistrements non modifiés, la base de données sera entièrement enregistrée sur le disque." -#: conf.py:965 +#: ../src/conf.py:974 msgid "" "Determines what will be used as the\n" " default banmask style." msgstr "Détermine le style de masque de bannissement utilisé par défaut." -#: conf.py:969 +#: ../src/conf.py:978 msgid "" "Determines whether the bot will strictly follow\n" " the RFC; currently this only affects what strings are considered to be\n" @@ -905,7 +917,7 @@ msgid "" " False." msgstr "Détermine si le bot suivra strictement la RFC ; actuellement, cela n'affecte que les chaînes considérées comme des nicks. Si vous utilisez un serveur ou un réseau qui requiert que vous envoyiez un message à un nick tel queservices@this.network.server, vous devriez défini ceci à False." -#: conf.py:976 +#: ../src/conf.py:985 msgid "" "Determines what user modes the bot will request\n" " from the server when it first connects. Many people might choose +i; some\n" @@ -913,27 +925,27 @@ msgid "" " that you should be given a fake host." msgstr "Détermine quels modes d'utilisateur le bot demandera au serveur lorsqu'il s'y connecte. Certaines personnes voudront le +i ; certains réseaux autorisent +x, ce qui indique aux services du réseau que l'on veut 'cloaker' (masquer) notre masque d'hôte." -#: conf.py:982 +#: ../src/conf.py:991 msgid "" "Determines what vhost the bot will bind to before\n" " connecting to the IRC server." msgstr "Détermine quelle vhost le bot bindera avant de se connecter au serveur IRC." -#: conf.py:986 +#: ../src/conf.py:995 msgid "" "Determines how many old messages the bot will\n" " keep around in its history. Changing this variable will not take effect\n" " until the bot is restarted." msgstr "Détermine combien de vieux messages le bot gardera dans son historique. Changer cette variable ne prend effet qu'après avoir redémarré le bot." -#: conf.py:991 +#: ../src/conf.py:1000 msgid "" "A floating point number of seconds to throttle\n" " queued messages -- that is, messages will not be sent faster than once per\n" " throttleTime seconds." msgstr "Un nombre à virgule flottante, correspondant à la mise en attente des messages à envoyé ; c'est à dire que les messages ne seront pas envoyé plus vite que 1 par throttleTime secondes." -#: conf.py:996 +#: ../src/conf.py:1005 msgid "" "Determines whether the bot will send PINGs to\n" " the server it's connected to in order to keep the connection alive and\n" @@ -942,13 +954,13 @@ msgid "" " some strange server issues." msgstr "Détermine si le bot enverra des PINGs au serveurs auxquels il est connecté dans le but de garder la connexion active et détecter plus tôt lorsqu'elle est rompue. En fait, cette option existe surtout pour le débogage : vous devriez toujours laisser cette option à True excepté si il vous arrive des trucs bizarres avec le serveur." -#: conf.py:1003 +#: ../src/conf.py:1012 msgid "" "Determines the number of seconds between sending\n" " pings to the server, if pings are being sent to the server." msgstr "Détermine le nombre de secondes entre deux envois de PING au serveur, si les pings sont envoyés au serveur." -#: conf.py:1008 +#: ../src/conf.py:1017 msgid "" "Determines whether the bot will refuse\n" " duplicate messages to be queued for delivery to the server. This is a\n" @@ -957,13 +969,13 @@ msgid "" " doing certain kinds of plugin hacking." msgstr "Détermine si le bot refusera de dupliquer les messages à mettre dans la queue d'envoi un serveur. C'est un mécanisme de sécurité mis en place pour éviter que les plugins envoient le même message plusieurs fois ; la plupart du temps, vous n'avez pas à vous en préoccuper, à moins que vous ne bidouilliez des plugins." -#: conf.py:1016 +#: ../src/conf.py:1025 msgid "" "Determines how many seconds must elapse between\n" " JOINs sent to the server." msgstr "Détermine combien de secondes doivent s'écouler entre deux envois de JOIN au serveur." -#: conf.py:1024 +#: ../src/conf.py:1033 msgid "" "Determines how many bytes the bot will\n" " 'peek' at when looking through a URL for a doctype or title or something\n" @@ -971,13 +983,30 @@ msgid "" " found what it was looking for." msgstr "Détermine combien d'octets le bot 'regarder' lorsqu'il cherchera le doctype, le title, ou autre chose dans une URL. Après avoir lu ces octets, le bot abandonnera sa recherche." -#: conf.py:1030 +#: ../src/conf.py:1039 msgid "" "Determines what proxy all HTTP requests should go\n" " through. The value should be of the form 'host:port'." msgstr "Détermine par quel proxy toutes les requêtes HTTP devraient passer. Cette valeur doit être de la forme 'host:port', ou être vide s'il n'y a pas de proxy." -#: conf.py:1039 +#: ../src/conf.py:1059 +msgid "Determines what host the HTTP server will bind." +msgstr "Détermine à quel hôte le serveur HTTP va s'attacher." + +#: ../src/conf.py:1061 +msgid "" +"Determines what port the HTTP server will\n" +" bind." +msgstr "Détermine à quel port le serveur HTTP va s'attacher." + +#: ../src/conf.py:1064 +msgid "" +"Defines whether the server will stay alive if\n" +" no plugin is using it. This also means that the server will start even\n" +" if it is not used." +msgstr "Détermine si le serveur restera lancé si aucun plugin ne l'utilise. Cela signifie également que le serveur va démarrer même si il n'est pas utilisé." + +#: ../src/conf.py:1073 msgid "" "Determines whether the bot will ignore\n" " unregistered users by default. Of course, that'll make it particularly\n" @@ -985,14 +1014,14 @@ msgid "" " problem to solve." msgstr "Détermine si le bot ignorera par défaut les utilisateurs qui ne sont pas enregistrés. Bien sûr, cela rendra très difficile pour les utilisateurs de s'enregistrer ou de s'identifier, mais c'est votre problème." -#: conf.py:1053 +#: ../src/conf.py:1080 msgid "" "A string that is the external IP of the bot. If this is the\n" " empty string, the bot will attempt to find out its IP dynamically (though\n" " sometimes that doesn't work, hence this variable)." msgstr "Une chaîne qui est une IP externe du bot. Si elle est vide, le bot recherchera cette IP dynamiquement (ce qui, parfois, ne marche pas ; dans ce cas, utilisez cette variable)." -#: conf.py:1067 +#: ../src/conf.py:1094 msgid "" "Determines what the default timeout for socket\n" " objects will be. This means that *all* sockets will timeout when this many\n" @@ -1000,7 +1029,7 @@ msgid "" " that uses the sockets)." msgstr "Détermine quel timeout est utilisé par défaut pour les sockets. Ceci signifit que *toutes* les sockets expireront au bout de cette durée (à moins que l'auteur du code n'ait changé cette valeur)." -#: conf.py:1073 +#: ../src/conf.py:1100 msgid "" "Determines what file the bot should write its PID\n" " (Process ID) to, so you can kill it more easily. If it's left unset (as is\n" @@ -1008,36 +1037,73 @@ msgid "" " changes to this variable to take effect." msgstr "Détermine dans quel fichier le bot écrit son PID (Process ID), ce qui vous permet de le killer plus facilement. Si cette valeur est laissée vide, le PID ne sera écrit dans aucun fichier. Un redémarrage est requis pour que cette variable prenne effet." -#: conf.py:1083 +#: ../src/conf.py:1110 msgid "" "Determines whether the bot will automatically\n" " thread all commands." msgstr "Détermine si le bot threadera automatiquement toutes les commandes." -#: conf.py:1086 +#: ../src/conf.py:1113 msgid "" "Determines whether the bot will automatically\n" " flush all flushers *very* often. Useful for debugging when you don't know\n" " what's breaking or when, but think that it might be logged." msgstr "Détermine si le bot videra automatiquement le cache *très* souvent. Utile pour déboguer lorsque vous ne savez pas ce qui ne marche pas, mais que vous pensez que ça peut être loggué." -#: questions.py:60 +#: ../src/questions.py:60 msgid "Sorry, that response was not an option." msgstr "Désolé, cette réponse n'est pas l'une des options." -#: questions.py:106 +#: ../src/questions.py:106 msgid "Sorry, you must enter a value." msgstr "Désolé, vous devez entrer une valeur." -#: questions.py:126 +#: ../src/questions.py:126 msgid "Enter password: " msgstr "Entrez un mot de passe : " -#: questions.py:128 +#: ../src/questions.py:128 msgid "Re-enter password: " msgstr "Entrez à nouveau le mot de passe : " -#: questions.py:141 +#: ../src/questions.py:141 msgid "Passwords don't match." msgstr "Les mots de passe ne correspondent pas." +#: ../src/utils/httpserver.py:129 +msgid "" +"\n" +" This is a default response of the Supybot HTTP server. If you see this\n" +" message, it probably means you are developping a plugin, and you have\n" +" neither overriden this message or defined an handler for this query." +msgstr "" +"\n" +" Ceci est la réponse par défaut du serveur HTTP de Supybot. Si vous voyez ce message, cela signifie probablement que vous êtes en train de développer un plugin, et que vous n'avez ni outrepassé ce message ni défini un gestionnaire pour cette requête." + +#: ../src/utils/httpserver.py:150 +msgid "" +"\n" +" I am a pretty clever IRC bot, but I suck at serving Web pages, particulary\n" +" if I don't know what to serve.\n" +" What I'm saying is you just triggered a 404 Not Found, and I am not\n" +" trained to help you in such a case." +msgstr "" +"\n" +" Je suis un robot IRC très intelligent, mais je suis nul dès qu'il s'agit de servir des pages Web, en particulier lorsque je ne sais pas quoi servir. Ce que j'essaye de dire, c'est que vous venez tout juste de déclencher une erreur 404 Not Found, and je ne suis pas entraîné à vous aider dans un tel cas." + +#: ../src/utils/httpserver.py:167 +msgid "Request not handled." +msgstr "Requête non gérée." + +#: ../src/utils/httpserver.py:171 +msgid "Supybot Web server index" +msgstr "Index du serveur Web de Supybot" + +#: ../src/utils/httpserver.py:174 +msgid "Here is a list of the plugins that have a Web interface:" +msgstr "Voici une liste des plugins qui ont une interface Web :" + +#: ../src/utils/httpserver.py:183 +msgid "No plugins available." +msgstr "Aucun plugin disponible." + diff --git a/locale/messages.pot b/locale/messages.pot index ca9e49443..c881f3581 100644 --- a/locale/messages.pot +++ b/locale/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2010-10-31 13:42+CET\n" +"POT-Creation-Date: 2011-06-25 14:17+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,198 +15,198 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" -#: ./callbacks.py:184 +#: ../src/callbacks.py:184 msgid "Error: " msgstr "" -#: ./callbacks.py:198 +#: ../src/callbacks.py:198 msgid "Error: I tried to send you an empty message." msgstr "" -#: ./callbacks.py:288 +#: ../src/callbacks.py:288 msgid "Missing \"%s\". You may want to quote your arguments with double quotes in order to prevent extra brackets from being evaluated as nested commands." msgstr "" -#: ./callbacks.py:318 +#: ../src/callbacks.py:318 msgid "\"|\" with nothing preceding. I obviously can't do a pipe with nothing before the |." msgstr "" -#: ./callbacks.py:326 +#: ../src/callbacks.py:326 msgid "Spurious \"%s\". You may want to quote your arguments with double quotes in order to prevent extra brackets from being evaluated as nested commands." msgstr "" -#: ./callbacks.py:335 +#: ../src/callbacks.py:335 msgid "\"|\" with nothing following. I obviously can't do a pipe with nothing after the |." msgstr "" -#: ./callbacks.py:515 +#: ../src/callbacks.py:519 msgid "%s is not a valid %s." msgstr "" -#: ./callbacks.py:517 +#: ../src/callbacks.py:521 msgid "That's not a valid %s." msgstr "" -#: ./callbacks.py:595 +#: ../src/callbacks.py:599 msgid "You've attempted more nesting than is currently allowed on this bot." msgstr "" -#: ./callbacks.py:774 +#: ../src/callbacks.py:778 msgid "The command %q is available in the %L plugins. Please specify the plugin whose command you wish to call by using its name as a command before %q." msgstr "" -#: ./callbacks.py:859 ./callbacks.py:872 +#: ../src/callbacks.py:863 ../src/callbacks.py:876 msgid "(XX more messages)" msgstr "" -#: ./callbacks.py:904 +#: ../src/callbacks.py:908 msgid "more message" msgstr "" -#: ./callbacks.py:906 +#: ../src/callbacks.py:910 msgid "more messages" msgstr "" -#: ./callbacks.py:1006 +#: ../src/callbacks.py:1010 msgid "" "Determines what commands are currently disabled. Such\n" " commands will not appear in command lists, etc. They will appear not even\n" " to exist." msgstr "" -#: ./callbacks.py:1197 +#: ../src/callbacks.py:1201 msgid "Invalid arguments for %s." msgstr "" -#: ./callbacks.py:1223 +#: ../src/callbacks.py:1227 msgid "The %q command has no help." msgstr "" -#: ./commands.py:171 +#: ../src/commands.py:171 msgid "integer" msgstr "" -#: ./commands.py:182 +#: ../src/commands.py:182 msgid "non-integer value" msgstr "" -#: ./commands.py:193 +#: ../src/commands.py:193 msgid "floating point number" msgstr "" -#: ./commands.py:202 +#: ../src/commands.py:202 msgid "positive integer" msgstr "" -#: ./commands.py:206 +#: ../src/commands.py:206 msgid "non-negative integer" msgstr "" -#: ./commands.py:209 +#: ../src/commands.py:209 msgid "index" msgstr "" -#: ./commands.py:234 +#: ../src/commands.py:234 msgid "number of seconds" msgstr "" -#: ./commands.py:241 +#: ../src/commands.py:241 msgid "boolean" msgstr "" -#: ./commands.py:255 +#: ../src/commands.py:255 msgid "do that" msgstr "" -#: ./commands.py:259 +#: ../src/commands.py:259 msgid "I'm not even in %s." msgstr "" -#: ./commands.py:261 +#: ../src/commands.py:261 msgid "I need to be opped to %s." msgstr "" -#: ./commands.py:278 +#: ../src/commands.py:278 msgid "nick or hostmask" msgstr "" -#: ./commands.py:330 ./commands.py:333 +#: ../src/commands.py:330 ../src/commands.py:333 msgid "regular expression" msgstr "" -#: ./commands.py:344 +#: ../src/commands.py:344 msgid "That nick is too long for this server." msgstr "" -#: ./commands.py:393 ./commands.py:412 +#: ../src/commands.py:393 ../src/commands.py:412 msgid "I'm not in %s." msgstr "" -#: ./commands.py:397 +#: ../src/commands.py:397 msgid "This command may only be given in a channel that I am in." msgstr "" -#: ./commands.py:410 +#: ../src/commands.py:410 msgid "You must be in %s." msgstr "" -#: ./commands.py:414 +#: ../src/commands.py:414 msgid "channel" msgstr "" -#: ./commands.py:421 +#: ../src/commands.py:421 msgid "%s is not in %s." msgstr "" -#: ./commands.py:455 +#: ../src/commands.py:455 msgid "You must not give the empty string as an argument." msgstr "" -#: ./commands.py:472 +#: ../src/commands.py:472 msgid "This message must be sent in a channel." msgstr "" -#: ./commands.py:513 +#: ../src/commands.py:518 msgid "http url" msgstr "" -#: ./commands.py:520 +#: ../src/commands.py:525 msgid "command name" msgstr "" -#: ./commands.py:528 +#: ../src/commands.py:533 msgid "ip" msgstr "" -#: ./commands.py:534 +#: ../src/commands.py:539 msgid "letter" msgstr "" -#: ./commands.py:566 +#: ../src/commands.py:571 msgid "plugin" msgstr "" -#: ./commands.py:574 +#: ../src/commands.py:579 msgid "irc color" msgstr "" -#: ./conf.py:104 +#: ../src/conf.py:104 msgid "" "Determines whether this plugin is loaded\n" " bydefault." msgstr "" -#: ./conf.py:108 +#: ../src/conf.py:108 msgid "" "Determines whether this plugin is\n" " publicly visible." msgstr "" -#: ./conf.py:194 +#: ../src/conf.py:194 msgid "Determines the bot's default nick." msgstr "" -#: ./conf.py:197 +#: ../src/conf.py:197 msgid "" "Determines what alternative\n" " nicks will be used if the primary nick (supybot.nick) isn't available. A\n" @@ -215,54 +215,54 @@ msgid "" " appropriately until an unused nick is found." msgstr "" -#: ./conf.py:204 +#: ../src/conf.py:204 msgid "" "Determines the bot's ident string, if the server\n" " doesn't provide one by default." msgstr "" -#: ./conf.py:215 +#: ../src/conf.py:215 msgid "" "Determines the user the bot sends to the server.\n" " A standard user using the current version of the bot will be generated if\n" " this is left empty." msgstr "" -#: ./conf.py:223 +#: ../src/conf.py:223 msgid "Determines what networks the bot will connect to." msgstr "" -#: ./conf.py:264 +#: ../src/conf.py:264 msgid "" "Determines what password will be used on %s. Yes, we know that\n" " technically passwords are server-specific and not network-specific,\n" " but this is the best we can do right now." msgstr "" -#: ./conf.py:268 +#: ../src/conf.py:268 msgid "" "Determines what servers the bot will connect to for %s. Each will\n" " be tried in order, wrapping back to the first when the cycle is\n" " completed." msgstr "" -#: ./conf.py:272 +#: ../src/conf.py:272 msgid "Determines what channels the bot will join only on %s." msgstr "" -#: ./conf.py:275 +#: ../src/conf.py:275 msgid "" "Determines whether the bot will attempt to connect with SSL\n" " sockets to %s." msgstr "" -#: ./conf.py:278 +#: ../src/conf.py:278 msgid "" "Determines what key (if any) will be used to join the\n" " channel." msgstr "" -#: ./conf.py:298 +#: ../src/conf.py:298 msgid "" "Determines how timestamps\n" " printed for human reading should be formatted. Refer to the Python\n" @@ -270,40 +270,40 @@ msgid "" " time formats." msgstr "" -#: ./conf.py:312 +#: ../src/conf.py:312 msgid "" "Determines whether elapsed times will be given\n" " as \"1 day, 2 hours, 3 minutes, and 15 seconds\" or as \"1d 2h 3m 15s\"." msgstr "" -#: ./conf.py:322 +#: ../src/conf.py:322 msgid "" "Determines the absolute maximum length of\n" " the bot's reply -- no reply will be passed through the bot with a length\n" " greater than this." msgstr "" -#: ./conf.py:327 +#: ../src/conf.py:327 msgid "" "Determines whether the bot will break up long\n" " messages into chunks and allow users to use the 'more' command to get the\n" " remaining chunks." msgstr "" -#: ./conf.py:332 +#: ../src/conf.py:332 msgid "" "Determines what the maximum number of\n" " chunks (for use with the 'more' command) will be." msgstr "" -#: ./conf.py:336 +#: ../src/conf.py:336 msgid "" "Determines how long individual chunks\n" " will be. If set to 0, uses our super-tweaked,\n" " get-the-most-out-of-an-individual-message default." msgstr "" -#: ./conf.py:341 +#: ../src/conf.py:341 msgid "" "Determines how many mores will be sent\n" " instantly (i.e., without the use of the more command, immediately when\n" @@ -311,7 +311,7 @@ msgid "" " required for all but the first chunk." msgstr "" -#: ./conf.py:347 +#: ../src/conf.py:347 msgid "" "Determines whether the bot will send\n" " multi-message replies in a single message or in multiple messages. For\n" @@ -319,7 +319,7 @@ msgid "" " everything in a single message, using mores if necessary." msgstr "" -#: ./conf.py:353 +#: ../src/conf.py:353 msgid "" "Determines whether the bot will reply with an\n" " error message when it is addressed but not given a valid command. If this\n" @@ -327,14 +327,14 @@ msgid "" " override the normal behavior." msgstr "" -#: ./conf.py:360 +#: ../src/conf.py:360 msgid "" "Determines whether error messages that result\n" " from bugs in the bot will show a detailed error message (the uncaught\n" " exception) or a generic error message." msgstr "" -#: ./conf.py:364 +#: ../src/conf.py:364 msgid "" "Determines whether the bot will send error\n" " messages to users in private. You might want to do this in order to keep\n" @@ -342,7 +342,7 @@ msgid "" " supybot.reply.error.withNotice." msgstr "" -#: ./conf.py:369 +#: ../src/conf.py:369 msgid "" "Determines whether the bot will send error\n" " messages to users via NOTICE instead of PRIVMSG. You might want to do this\n" @@ -352,7 +352,7 @@ msgid "" " in most IRC clients." msgstr "" -#: ./conf.py:376 +#: ../src/conf.py:376 msgid "" "Determines whether the bot will send an error\n" " message to users who attempt to call a command for which they do not have\n" @@ -361,21 +361,21 @@ msgid "" " running certain commands." msgstr "" -#: ./conf.py:383 +#: ../src/conf.py:383 msgid "" "Determines whether the bot will reply\n" " privatelywhen replying in a channel, rather than replying to the whole\n" " channel." msgstr "" -#: ./conf.py:388 +#: ../src/conf.py:388 msgid "" "Determines whether the bot will reply with a\n" " notice when replying in a channel, rather than replying with a privmsg as\n" " normal." msgstr "" -#: ./conf.py:394 +#: ../src/conf.py:394 msgid "" "Determines whether the bot will reply with a\n" " notice when it is sending a private message, in order not to open a /query\n" @@ -383,13 +383,13 @@ msgid "" " configuration variable reply.withNoticeWhenPrivate." msgstr "" -#: ./conf.py:400 +#: ../src/conf.py:400 msgid "" "Determines whether the bot will always prefix\n" " theuser's nick to its reply to that user's command." msgstr "" -#: ./conf.py:404 +#: ../src/conf.py:404 msgid "" "Determines whether the bot should attempt to\n" " reply to all messages even if they don't address it (either via its nick\n" @@ -397,7 +397,7 @@ msgid "" " to set supybot.reply.whenNotCommand to False." msgstr "" -#: ./conf.py:410 +#: ../src/conf.py:410 msgid "" "Determines whether the bot will allow you to\n" " send channel-related commands outside of that channel. Sometimes people\n" @@ -406,7 +406,7 @@ msgid "" " itself." msgstr "" -#: ./conf.py:417 +#: ../src/conf.py:417 msgid "" "Determines whether the bot will unidentify\n" " someone when that person changes his or her nick. Setting this to True\n" @@ -414,7 +414,7 @@ msgid "" " little greater security." msgstr "" -#: ./conf.py:423 +#: ../src/conf.py:423 msgid "" "Determines whether the bot will always join a\n" " channel when it's invited. If this value is False, the bot will only join\n" @@ -422,7 +422,7 @@ msgid "" " explicitly told to join the channel using the Admin.join command)" msgstr "" -#: ./conf.py:429 +#: ../src/conf.py:429 msgid "" "Supybot normally replies with the full help\n" " whenever a user misuses a command. If this value is set to True, the bot\n" @@ -430,7 +430,7 @@ msgid "" " help) rather than the full help." msgstr "" -#: ./conf.py:443 +#: ../src/conf.py:443 msgid "" "Determines what prefix characters the bot will\n" " reply to. A prefix character is a single character that the bot will use\n" @@ -441,7 +441,7 @@ msgid "" " assume it is being addressed." msgstr "" -#: ./conf.py:452 +#: ../src/conf.py:452 msgid "" "Determines what strings the\n" " bot will reply to when they are at the beginning of the message. Whereas\n" @@ -451,77 +451,89 @@ msgid "" " prefixed by either @@ or ??." msgstr "" -#: ./conf.py:459 +#: ../src/conf.py:459 msgid "" "Determines whether the bot will reply when\n" " people address it by its nick, rather than with a prefix character." msgstr "" -#: ./conf.py:462 +#: ../src/conf.py:462 msgid "" "Determines whether the bot will reply when\n" " people address it by its nick at the end of the message, rather than at\n" " the beginning." msgstr "" -#: ./conf.py:466 +#: ../src/conf.py:466 msgid "" "Determines what extra nicks\n" " the bot will always respond to when addressed by, even if its current nick\n" " is something else." msgstr "" -#: ./conf.py:476 +#: ../src/conf.py:476 msgid "The operation succeeded." msgstr "" -#: ./conf.py:477 +#: ../src/conf.py:477 msgid "" "Determines what message the bot replies with when a command succeeded.\n" " If this configuration variable is empty, no success message will be\n" " sent." msgstr "" -#: ./conf.py:482 +#: ../src/conf.py:482 msgid "" "An error has occurred and has been logged.\n" " Please contact this bot's administrator for more information." msgstr "" -#: ./conf.py:483 +#: ../src/conf.py:483 msgid "" "\n" " Determines what error message the bot gives when it wants to be\n" " ambiguous." msgstr "" -#: ./conf.py:488 +#: ../src/conf.py:488 +msgid "" +"An error has occurred and has been logged.\n" +" Check the logs for more informations." +msgstr "" + +#: ../src/conf.py:489 +msgid "" +"Determines what error\n" +" message the bot gives to the owner when it wants to be ambiguous." +msgstr "" + +#: ../src/conf.py:493 msgid "" "Your hostmask doesn't match or your password\n" " is wrong." msgstr "" -#: ./conf.py:489 +#: ../src/conf.py:494 msgid "" "Determines what message the bot replies with when\n" " someonetries to use a command that requires being identified or having a\n" " password and neither credential is correct." msgstr "" -#: ./conf.py:495 +#: ../src/conf.py:500 msgid "" "I can't find %s in my user\n" " database. If you didn't give a user name, then I might not know what your\n" " user is, and you'll need to identify before this command might work." msgstr "" -#: ./conf.py:498 +#: ../src/conf.py:503 msgid "" "Determines what error message the bot replies with when someone tries\n" " to accessing some information on a user the bot doesn't know about." msgstr "" -#: ./conf.py:502 +#: ../src/conf.py:507 msgid "" "You must be registered to use this command.\n" " If you are already registered, you must either identify (using the identify\n" @@ -529,14 +541,14 @@ msgid "" " \"hostmask add\" command)." msgstr "" -#: ./conf.py:505 +#: ../src/conf.py:510 msgid "" "Determines what error message the bot\n" " replies with when someone tries to do something that requires them to be\n" " registered but they're not currently recognized." msgstr "" -#: ./conf.py:510 +#: ../src/conf.py:515 msgid "" "You don't have the %s capability. If you\n" " think that you should have this capability, be sure that you are identified\n" @@ -544,14 +556,14 @@ msgid "" " identified." msgstr "" -#: ./conf.py:513 +#: ../src/conf.py:518 msgid "" "Determines what error message is given when the bot\n" " is telling someone they aren't cool enough to use the command they tried to\n" " use." msgstr "" -#: ./conf.py:518 +#: ../src/conf.py:523 msgid "" "You're missing some capability you need.\n" " This could be because you actually possess the anti-capability for the\n" @@ -563,7 +575,7 @@ msgid "" " what you want to do." msgstr "" -#: ./conf.py:526 +#: ../src/conf.py:531 msgid "" "Determines what generic error message is given when the bot is telling\n" " someone that they aren't cool enough to use the command they tried to use,\n" @@ -571,40 +583,40 @@ msgid "" " explicit capability for whatever reason." msgstr "" -#: ./conf.py:532 +#: ../src/conf.py:537 msgid "" "That operation cannot be done in a\n" " channel." msgstr "" -#: ./conf.py:533 +#: ../src/conf.py:538 msgid "" "Determines what error messages the bot sends to people\n" " who try to do things in a channel that really should be done in\n" " private." msgstr "" -#: ./conf.py:538 +#: ../src/conf.py:543 msgid "" "This may be a bug. If you think it is,\n" " please file a bug report at\n" " ." msgstr "" -#: ./conf.py:541 +#: ../src/conf.py:546 msgid "" "Determines what message the bot sends when it thinks you've\n" " encountered a bug that the developers don't know about." msgstr "" -#: ./conf.py:548 +#: ../src/conf.py:553 msgid "" "A floating point number of seconds to throttle\n" " snarfed URLs, in order to prevent loops between two bots snarfing the same\n" " URLs and having the snarfed URL in the output of the snarf message." msgstr "" -#: ./conf.py:553 +#: ../src/conf.py:558 msgid "" "Determines the number of seconds\n" " between running the upkeep function that flushes (commits) open databases,\n" @@ -612,7 +624,7 @@ msgid "" " level." msgstr "" -#: ./conf.py:559 +#: ../src/conf.py:564 msgid "" "Determines whether the bot will periodically\n" " flush data and configuration files to disk. Generally, the only time\n" @@ -623,27 +635,27 @@ msgid "" " permanent, you must edit the registry yourself." msgstr "" -#: ./conf.py:584 +#: ../src/conf.py:589 msgid "" "Determines what characters are valid for quoting\n" " arguments to commands in order to prevent them from being tokenized.\n" " " msgstr "" -#: ./conf.py:591 +#: ../src/conf.py:596 msgid "" "Determines whether the bot will allow nested\n" " commands, which rule. You definitely should keep this on." msgstr "" -#: ./conf.py:594 +#: ../src/conf.py:599 msgid "" "Determines what the maximum number of\n" " nested commands will be; users will receive an error if they attempt\n" " commands more nested than this." msgstr "" -#: ./conf.py:602 +#: ../src/conf.py:607 msgid "" "Supybot allows you to specify what brackets are\n" " used for your nested commands. Valid sets of brackets include [], <>, and\n" @@ -653,21 +665,21 @@ msgid "" " not be allowed in this channel." msgstr "" -#: ./conf.py:609 +#: ../src/conf.py:614 msgid "" "Supybot allows nested commands. Enabling this\n" " option will allow nested commands with a syntax similar to UNIX pipes, for\n" " example: 'bot: foo | bar'." msgstr "" -#: ./conf.py:614 +#: ../src/conf.py:619 msgid "" "Determines what commands have default\n" " plugins set, and which plugins are set to be the default for each of those\n" " commands." msgstr "" -#: ./conf.py:620 +#: ../src/conf.py:625 msgid "" "Determines what plugins automatically get precedence over all\n" " other plugins when selecting a default plugin for a command. By\n" @@ -677,13 +689,13 @@ msgid "" " case-sensitive." msgstr "" -#: ./conf.py:635 +#: ../src/conf.py:640 msgid "" "Determines whether the bot will defend itself\n" " against command-flooding." msgstr "" -#: ./conf.py:638 +#: ../src/conf.py:643 msgid "" "Determines how many commands users are\n" " allowed per minute. If a user sends more than this many commands in any\n" @@ -691,19 +703,19 @@ msgid "" " supybot.abuse.flood.command.punishment seconds." msgstr "" -#: ./conf.py:643 +#: ../src/conf.py:648 msgid "" "Determines how many seconds the bot\n" " will ignore users who flood it with commands." msgstr "" -#: ./conf.py:647 +#: ../src/conf.py:652 msgid "" "Determines whether the bot will defend itself\n" " against invalid command-flooding." msgstr "" -#: ./conf.py:650 +#: ../src/conf.py:655 msgid "" "Determines how many invalid commands users\n" " are allowed per minute. If a user sends more than this many invalid\n" @@ -714,7 +726,7 @@ msgid "" " commands than for them to flood with valid commands." msgstr "" -#: ./conf.py:658 +#: ../src/conf.py:663 msgid "" "Determines how many seconds the bot\n" " will ignore users who flood it with invalid commands. Typically, this\n" @@ -723,19 +735,19 @@ msgid "" " commands than for them to flood with valid commands." msgstr "" -#: ./conf.py:664 +#: ../src/conf.py:669 msgid "" "Determines whether the bot will notify people\n" " that they're being ignored for invalid command flooding." msgstr "" -#: ./conf.py:673 +#: ../src/conf.py:678 msgid "" "Determines the default length of time a\n" " driver should block waiting for input." msgstr "" -#: ./conf.py:680 +#: ../src/conf.py:685 msgid "" "Determines what driver module the bot\n" " will use. Socket, a simple driver based on timeout sockets, is used by\n" @@ -743,36 +755,36 @@ msgid "" " and if you've got Twisted installed, is probably your best bet." msgstr "" -#: ./conf.py:686 +#: ../src/conf.py:691 msgid "" "Determines the maximum time the bot will\n" " wait before attempting to reconnect to an IRC server. The bot may, of\n" " course, reconnect earlier if possible." msgstr "" -#: ./conf.py:735 +#: ../src/conf.py:740 msgid "" "Determines what directory configuration data is\n" " put into." msgstr "" -#: ./conf.py:738 +#: ../src/conf.py:743 msgid "Determines what directory data is put into." msgstr "" -#: ./conf.py:740 +#: ../src/conf.py:745 msgid "" "Determines what directory backup data is put\n" " into." msgstr "" -#: ./conf.py:743 +#: ../src/conf.py:748 msgid "" "Determines what directory temporary files\n" " are put into." msgstr "" -#: ./conf.py:750 +#: ../src/conf.py:755 msgid "" "Determines what directories\n" " the bot will look for plugins in. Accepts a comma-separated list of\n" @@ -782,13 +794,13 @@ msgid "" " [config supybot.directories.plugins], newPluginDirectory'." msgstr "" -#: ./conf.py:758 +#: ../src/conf.py:763 msgid "" "Determines what plugins will\n" " be loaded." msgstr "" -#: ./conf.py:761 +#: ../src/conf.py:766 msgid "" "Determines whether the bot will always load\n" " important plugins (Admin, Channel, Config, Misc, Owner, and User)\n" @@ -798,28 +810,28 @@ msgid "" " enough to change the value of this variable appropriately :)" msgstr "" -#: ./conf.py:784 +#: ../src/conf.py:793 msgid "" "Determines what databases are available for use. If this\n" " value is not configured (that is, if its value is empty) then sane defaults\n" " will be provided." msgstr "" -#: ./conf.py:790 +#: ../src/conf.py:799 msgid "" "Determines what filename will be used\n" " for the users database. This file will go into the directory specified by\n" " the supybot.directories.conf variable." msgstr "" -#: ./conf.py:794 +#: ../src/conf.py:803 msgid "" "Determines how long it takes identification to\n" " time out. If the value is less than or equal to zero, identification never\n" " times out." msgstr "" -#: ./conf.py:798 +#: ../src/conf.py:807 msgid "" "Determines whether the bot will allow users to\n" " unregister their users. This can wreak havoc with already-existing\n" @@ -829,21 +841,21 @@ msgid "" " " msgstr "" -#: ./conf.py:807 +#: ../src/conf.py:816 msgid "" "Determines what filename will be used\n" " for the ignores database. This file will go into the directory specified\n" " by the supybot.directories.conf variable." msgstr "" -#: ./conf.py:813 +#: ../src/conf.py:822 msgid "" "Determines what filename will be used\n" " for the channels database. This file will go into the directory specified\n" " by the supybot.directories.conf variable." msgstr "" -#: ./conf.py:843 +#: ../src/conf.py:852 msgid "" "Determines whether database-based plugins that\n" " can be channel-specific will be so. This can be overridden by individual\n" @@ -854,7 +866,7 @@ msgid "" " to share a certain channel's databases globally." msgstr "" -#: ./conf.py:851 +#: ../src/conf.py:860 msgid "" "Determines what channel global\n" " (non-channel-specific) databases will be considered a part of. This is\n" @@ -866,7 +878,7 @@ msgid "" " for your channel." msgstr "" -#: ./conf.py:860 +#: ../src/conf.py:869 msgid "" "Determines whether another channel's global\n" " (non-channel-specific) databases will be allowed to link to this channel's\n" @@ -875,13 +887,13 @@ msgid "" " " msgstr "" -#: ./conf.py:877 +#: ../src/conf.py:886 msgid "" "Determines\n" " whether CDB databases will be allowed as a database implementation." msgstr "" -#: ./conf.py:880 +#: ../src/conf.py:889 msgid "" "Determines how often CDB databases will have\n" " their modifications flushed to disk. When the number of modified records\n" @@ -889,13 +901,13 @@ msgid "" " will be entirely flushed to disk." msgstr "" -#: ./conf.py:965 +#: ../src/conf.py:974 msgid "" "Determines what will be used as the\n" " default banmask style." msgstr "" -#: ./conf.py:969 +#: ../src/conf.py:978 msgid "" "Determines whether the bot will strictly follow\n" " the RFC; currently this only affects what strings are considered to be\n" @@ -904,7 +916,7 @@ msgid "" " False." msgstr "" -#: ./conf.py:976 +#: ../src/conf.py:985 msgid "" "Determines what user modes the bot will request\n" " from the server when it first connects. Many people might choose +i; some\n" @@ -912,27 +924,27 @@ msgid "" " that you should be given a fake host." msgstr "" -#: ./conf.py:982 +#: ../src/conf.py:991 msgid "" "Determines what vhost the bot will bind to before\n" " connecting to the IRC server." msgstr "" -#: ./conf.py:986 +#: ../src/conf.py:995 msgid "" "Determines how many old messages the bot will\n" " keep around in its history. Changing this variable will not take effect\n" " until the bot is restarted." msgstr "" -#: ./conf.py:991 +#: ../src/conf.py:1000 msgid "" "A floating point number of seconds to throttle\n" " queued messages -- that is, messages will not be sent faster than once per\n" " throttleTime seconds." msgstr "" -#: ./conf.py:996 +#: ../src/conf.py:1005 msgid "" "Determines whether the bot will send PINGs to\n" " the server it's connected to in order to keep the connection alive and\n" @@ -941,13 +953,13 @@ msgid "" " some strange server issues." msgstr "" -#: ./conf.py:1003 +#: ../src/conf.py:1012 msgid "" "Determines the number of seconds between sending\n" " pings to the server, if pings are being sent to the server." msgstr "" -#: ./conf.py:1008 +#: ../src/conf.py:1017 msgid "" "Determines whether the bot will refuse\n" " duplicate messages to be queued for delivery to the server. This is a\n" @@ -956,13 +968,13 @@ msgid "" " doing certain kinds of plugin hacking." msgstr "" -#: ./conf.py:1016 +#: ../src/conf.py:1025 msgid "" "Determines how many seconds must elapse between\n" " JOINs sent to the server." msgstr "" -#: ./conf.py:1024 +#: ../src/conf.py:1033 msgid "" "Determines how many bytes the bot will\n" " 'peek' at when looking through a URL for a doctype or title or something\n" @@ -970,13 +982,30 @@ msgid "" " found what it was looking for." msgstr "" -#: ./conf.py:1030 +#: ../src/conf.py:1039 msgid "" "Determines what proxy all HTTP requests should go\n" " through. The value should be of the form 'host:port'." msgstr "" -#: ./conf.py:1039 +#: ../src/conf.py:1059 +msgid "Determines what host the HTTP server will bind." +msgstr "" + +#: ../src/conf.py:1061 +msgid "" +"Determines what port the HTTP server will\n" +" bind." +msgstr "" + +#: ../src/conf.py:1064 +msgid "" +"Defines whether the server will stay alive if\n" +" no plugin is using it. This also means that the server will start even\n" +" if it is not used." +msgstr "" + +#: ../src/conf.py:1073 msgid "" "Determines whether the bot will ignore\n" " unregistered users by default. Of course, that'll make it particularly\n" @@ -984,14 +1013,14 @@ msgid "" " problem to solve." msgstr "" -#: ./conf.py:1053 +#: ../src/conf.py:1080 msgid "" "A string that is the external IP of the bot. If this is the\n" " empty string, the bot will attempt to find out its IP dynamically (though\n" " sometimes that doesn't work, hence this variable)." msgstr "" -#: ./conf.py:1067 +#: ../src/conf.py:1094 msgid "" "Determines what the default timeout for socket\n" " objects will be. This means that *all* sockets will timeout when this many\n" @@ -999,7 +1028,7 @@ msgid "" " that uses the sockets)." msgstr "" -#: ./conf.py:1073 +#: ../src/conf.py:1100 msgid "" "Determines what file the bot should write its PID\n" " (Process ID) to, so you can kill it more easily. If it's left unset (as is\n" @@ -1007,36 +1036,69 @@ msgid "" " changes to this variable to take effect." msgstr "" -#: ./conf.py:1083 +#: ../src/conf.py:1110 msgid "" "Determines whether the bot will automatically\n" " thread all commands." msgstr "" -#: ./conf.py:1086 +#: ../src/conf.py:1113 msgid "" "Determines whether the bot will automatically\n" " flush all flushers *very* often. Useful for debugging when you don't know\n" " what's breaking or when, but think that it might be logged." msgstr "" -#: ./questions.py:60 +#: ../src/questions.py:60 msgid "Sorry, that response was not an option." msgstr "" -#: ./questions.py:106 +#: ../src/questions.py:106 msgid "Sorry, you must enter a value." msgstr "" -#: ./questions.py:126 +#: ../src/questions.py:126 msgid "Enter password: " msgstr "" -#: ./questions.py:128 +#: ../src/questions.py:128 msgid "Re-enter password: " msgstr "" -#: ./questions.py:141 +#: ../src/questions.py:141 msgid "Passwords don't match." msgstr "" +#: ../src/utils/httpserver.py:129 +msgid "" +"\n" +" This is a default response of the Supybot HTTP server. If you see this\n" +" message, it probably means you are developping a plugin, and you have\n" +" neither overriden this message or defined an handler for this query." +msgstr "" + +#: ../src/utils/httpserver.py:150 +msgid "" +"\n" +" I am a pretty clever IRC bot, but I suck at serving Web pages, particulary\n" +" if I don't know what to serve.\n" +" What I'm saying is you just triggered a 404 Not Found, and I am not\n" +" trained to help you in such a case." +msgstr "" + +#: ../src/utils/httpserver.py:167 +msgid "Request not handled." +msgstr "" + +#: ../src/utils/httpserver.py:171 +msgid "Supybot Web server index" +msgstr "" + +#: ../src/utils/httpserver.py:174 +msgid "Here is a list of the plugins that have a Web interface:" +msgstr "" + +#: ../src/utils/httpserver.py:183 +msgid "No plugins available." +msgstr "" + From 9ded853effb82225ad254dee502d705fb8b1a805 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 25 Jun 2011 14:57:41 +0200 Subject: [PATCH 046/244] Later: fix typo in l10n-fi --- plugins/Later/locale/fi.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/Later/locale/fi.po b/plugins/Later/locale/fi.po index fa788f1f8..f1372aa00 100644 --- a/plugins/Later/locale/fi.po +++ b/plugins/Later/locale/fi.po @@ -1,12 +1,12 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. +# Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-25 13:05+0200\n" +"PO-Revision-Date: 2011-06-25 15:51+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -108,7 +108,7 @@ msgid "" msgstr "" " \n" "\n" -" Kertoo seuraavalla kerralla, kun on nähty seuraavan kerran. voi\n" +" Kertoo seuraavalla kerralla, kun nähdään seuraavan kerran. voi\n" " sisältää jokerimerkkejä ja ensimmäiselle täsmäävälle nimimerkille\n" " annetaan muistiinpano.\n" " " From a7f6f6c3b3fde596e11dd4d2cd52d5eb26265603 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 25 Jun 2011 15:15:19 +0200 Subject: [PATCH 047/244] Update the version string --- src/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.py b/src/version.py index 3cfc2ec57..40938fbc5 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-06-23T12:30:23+0200)' +version = '0.83.4.1+limnoria (2011-06-25T15:15:16+0200)' From 509a6c1780bfd023af1b74f395ac21de602b64f3 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 25 Jun 2011 16:28:49 +0200 Subject: [PATCH 048/244] Forgot a debug print in httpserver.py --- src/utils/httpserver.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/utils/httpserver.py b/src/utils/httpserver.py index 4ace1ef44..e0b986b2d 100644 --- a/src/utils/httpserver.py +++ b/src/utils/httpserver.py @@ -103,7 +103,6 @@ class SupyHTTPRequestHandler(BaseHTTPRequestHandler): *args, **kwargs) def do_GET(self): - print 'GET !' self.do_X('doGet') def do_POST(self): From a815f11e516c7f4149f5ab48b11a498304e97145 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 26 Jun 2011 11:12:28 +0200 Subject: [PATCH 049/244] Anonymous: bug fix (_ was used as a temporary variable name) --- plugins/Anonymous/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Anonymous/plugin.py b/plugins/Anonymous/plugin.py index 89b411377..da845c9c1 100644 --- a/plugins/Anonymous/plugin.py +++ b/plugins/Anonymous/plugin.py @@ -51,7 +51,7 @@ class Anonymous(callbacks.Plugin): def _preCheck(self, irc, msg, target, action): if self.registryValue('requireRegistration'): try: - _ = ircdb.users.getUser(msg.prefix) + foo = ircdb.users.getUser(msg.prefix) except KeyError: irc.errorNotRegistered(Raise=True) capability = self.registryValue('requireCapability') From add80364ee7c3e1fc31667fba333112eb37b8bf9 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 26 Jun 2011 19:25:11 +0200 Subject: [PATCH 050/244] Limiter: fix typo. Closes GH-35 --- plugins/Limiter/locale/fr.po | 2 +- plugins/Limiter/messages.pot | 2 +- plugins/Limiter/plugin.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/Limiter/locale/fr.po b/plugins/Limiter/locale/fr.po index 317f2c157..747d3e119 100644 --- a/plugins/Limiter/locale/fr.po +++ b/plugins/Limiter/locale/fr.po @@ -39,7 +39,7 @@ msgid "" "In order to use this plugin, its config values need to be properly\n" " setup. supybot.plugins.Limiter.enable needs to be set to True and\n" " supybot.plugins.Limiter.{maximumExcess,minimumExcess} should be set to\n" -" values appropriate to your channel (if the defaults aren't satisfactory.\n" +" values appropriate to your channel (if the defaults aren't satisfactory).\n" " Once these are set, and someone enters/leaves the channel, Supybot will\n" " start setting the proper +l modes.\n" " " diff --git a/plugins/Limiter/messages.pot b/plugins/Limiter/messages.pot index 3dcf93fe1..1be6be5ba 100644 --- a/plugins/Limiter/messages.pot +++ b/plugins/Limiter/messages.pot @@ -42,7 +42,7 @@ msgid "" "In order to use this plugin, its config values need to be properly\n" " setup. supybot.plugins.Limiter.enable needs to be set to True and\n" " supybot.plugins.Limiter.{maximumExcess,minimumExcess} should be set to\n" -" values appropriate to your channel (if the defaults aren't satisfactory.\n" +" values appropriate to your channel (if the defaults aren't satisfactory).\n" " Once these are set, and someone enters/leaves the channel, Supybot will\n" " start setting the proper +l modes.\n" " " diff --git a/plugins/Limiter/plugin.py b/plugins/Limiter/plugin.py index 22a31df0a..b34b03319 100644 --- a/plugins/Limiter/plugin.py +++ b/plugins/Limiter/plugin.py @@ -39,7 +39,7 @@ class Limiter(callbacks.Plugin): """In order to use this plugin, its config values need to be properly setup. supybot.plugins.Limiter.enable needs to be set to True and supybot.plugins.Limiter.{maximumExcess,minimumExcess} should be set to - values appropriate to your channel (if the defaults aren't satisfactory. + values appropriate to your channel (if the defaults aren't satisfactory). Once these are set, and someone enters/leaves the channel, Supybot will start setting the proper +l modes. """ From ca61dd0ed287b6bcb71f436aec569607e940e43c Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 26 Jun 2011 19:32:03 +0200 Subject: [PATCH 051/244] Limiter: Add l10n-fi --- plugins/Limiter/locale/fi.po | 65 ++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 plugins/Limiter/locale/fi.po diff --git a/plugins/Limiter/locale/fi.po b/plugins/Limiter/locale/fi.po new file mode 100644 index 000000000..844447f63 --- /dev/null +++ b/plugins/Limiter/locale/fi.po @@ -0,0 +1,65 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-26 20:28+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:46 +msgid "" +"Determines whether the bot will maintain the\n" +" channel limit to be slightly above the current number of people in the\n" +" channel, in order to make clone/drone attacks harder." +msgstr "" +"Määrittää ylläpitääkö botti kanava rajoitusta\n" +" huomattavasti korkeammalla kuin nykyinen ihmisten määrä kanavalla\n" +" tehdäkseen klooni/botti hyökkäykset vaikeammiksi." + +#: config.py:50 +msgid "" +"Determines the minimum number of free\n" +" spots that will be saved when limits are being enforced. This should\n" +" always be smaller than supybot.plugins.Limiter.limit.maximumExcess." +msgstr "" +"Määrittää minimimäärän vapaita paikkoja, jotka\n" +" säästetään, kun rajajoja pakotetaan. Tämän pitäisi aina olla pienempi kuin\n" +" supybot.plugins.Limiter.limit.maximumExcess." + +#: config.py:54 +msgid "" +"Determines the maximum number of free spots\n" +" that will be saved when limits are being enforced. This should always be\n" +" larger than supybot.plugins.Limiter.limit.minimumExcess." +msgstr "" +"Määrittää maksimi määrän vapaita paikkoja, jotka säästetään\n" +" kun rajoja pakotetaan. Tämän pitäisi aina olla suurempi kuin\n" +" supybot.plugins.Limiter.limit.minimumExcess." + +#: plugin.py:39 +msgid "" +"In order to use this plugin, its config values need to be properly\n" +" setup. supybot.plugins.Limiter.enable needs to be set to True and\n" +" supybot.plugins.Limiter.{maximumExcess,minimumExcess} should be set to\n" +" values appropriate to your channel (if the defaults aren't satisfactory).\n" +" Once these are set, and someone enters/leaves the channel, Supybot will\n" +" start setting the proper +l modes.\n" +" " +msgstr "" +"Käyttääkseen tätä lisäosaa, sen asetusarvot täytyy asettaa\n" +" kunnolla. supybot.plugins.Limiter.enable täytyy asettaa todeksi (\"True\") ja\n" +" supybot.plugins.Limiter.{maximumExcess,minimumExcess} \n" +" arvot kanavallesi sopiviksi (jos oletukset eivät kelpaa).\n" +" Kun nämä on asetettu, ja joku tulee/lähtee kanavalta, Supybotti alkaa\n" +" asettamaan oikeita +l tiloja.\n" +" " + From 128143f8568519f97ecd7dda61e05ac2b2b956a1 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Mon, 27 Jun 2011 11:24:50 +0200 Subject: [PATCH 052/244] AutoMode: fix supybot.plugins.AutoMode.owner. Closes GH-36. --- plugins/AutoMode/config.py | 2 +- plugins/AutoMode/plugin.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/AutoMode/config.py b/plugins/AutoMode/config.py index 4431696de..aa8766655 100644 --- a/plugins/AutoMode/config.py +++ b/plugins/AutoMode/config.py @@ -47,7 +47,7 @@ conf.registerChannelValue(AutoMode, 'enable', """))) conf.registerGlobalValue(AutoMode, 'owner', registry.Boolean(True, _("""Determines whether this plugin will automode - owners."""))) + owners even if they don't have op/halfop/voice/whatever capability."""))) conf.registerChannelValue(AutoMode, 'fallthrough', registry.Boolean(False, _("""Determines whether the bot will "fall through" to halfop/voicing when auto-opping is turned off but diff --git a/plugins/AutoMode/plugin.py b/plugins/AutoMode/plugin.py index f1d321efb..001db84f1 100644 --- a/plugins/AutoMode/plugin.py +++ b/plugins/AutoMode/plugin.py @@ -51,7 +51,8 @@ class AutoMode(callbacks.Plugin): fallthrough = self.registryValue('fallthrough', channel) def do(type): cap = ircdb.makeChannelCapability(channel, type) - if ircdb.checkCapability(msg.prefix, cap, ignoreOwner=True): + if ircdb.checkCapability(msg.prefix, cap, + ignoreOwner=not self.registryValue('owner')): if self.registryValue(type, channel): self.log.info('Sending auto-%s of %s in %s.', type, msg.prefix, channel) From 90ed5fcc5197c3fe229ce6c53482025e00eb90dd Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Mon, 27 Jun 2011 12:06:16 +0200 Subject: [PATCH 053/244] AutoMode: update messages.pot and l10n-fr --- plugins/AutoMode/locale/fr.po | 6 +++--- plugins/AutoMode/messages.pot | 4 ++-- plugins/Herald/locale/fi.po | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/AutoMode/locale/fr.po b/plugins/AutoMode/locale/fr.po index 47509f138..b7679a94a 100644 --- a/plugins/AutoMode/locale/fr.po +++ b/plugins/AutoMode/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-06-12 12:45+CEST\n" +"POT-Creation-Date: 2011-06-27 12:02+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -22,8 +22,8 @@ msgstr "Détermine si ce plugin est activé." #: config.py:49 msgid "" "Determines whether this plugin will automode\n" -" owners." -msgstr "Détermine si ce plugin mettra des modes automatiques sur les owners." +" owners even if they don't have op/halfop/voice/whatever capability." +msgstr "Détermine si ce plugin mettra des modes automatiques sur les owners, même si ils n'ont pas la capacité op/halfop/voice/..." #: config.py:52 msgid "" diff --git a/plugins/AutoMode/messages.pot b/plugins/AutoMode/messages.pot index 9f488b94a..14d0660ba 100644 --- a/plugins/AutoMode/messages.pot +++ b/plugins/AutoMode/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-06-12 12:45+CEST\n" +"POT-Creation-Date: 2011-06-27 12:02+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,7 +24,7 @@ msgstr "" #: config.py:49 msgid "" "Determines whether this plugin will automode\n" -" owners." +" owners even if they don't have op/halfop/voice/whatever capability." msgstr "" #: config.py:52 diff --git a/plugins/Herald/locale/fi.po b/plugins/Herald/locale/fi.po index a26f52b88..5d1e32d28 100644 --- a/plugins/Herald/locale/fi.po +++ b/plugins/Herald/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-23 00:57+0200\n" +"PO-Revision-Date: 2011-06-27 12:56+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -94,7 +94,7 @@ msgid "" " isn't sent in the channel itself.\n" " " msgstr "" -"[] [--poista|]\n" +"[] [--remove|]\n" "\n" " Jos on annettu, asettaa oletusairueen . \"\"\n" " poistaa oletus airueen. Jos ei anneta, palauttaa\n" From 7f8700a94813529ffdae54320f2ae16c5ba54442 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Mon, 27 Jun 2011 18:08:31 +0200 Subject: [PATCH 054/244] AutoMode & Math: update/add l10n-fi --- plugins/AutoMode/locale/fi.po | 10 +- plugins/Math/locale/fi.po | 166 ++++++++++++++++++++++++++++++++++ 2 files changed, 171 insertions(+), 5 deletions(-) create mode 100644 plugins/Math/locale/fi.po diff --git a/plugins/AutoMode/locale/fi.po b/plugins/AutoMode/locale/fi.po index 578771d41..2a4873667 100644 --- a/plugins/AutoMode/locale/fi.po +++ b/plugins/AutoMode/locale/fi.po @@ -1,9 +1,9 @@ msgid "" msgstr "" "Project-Id-Version: Supybot AutoMode\n" -"POT-Creation-Date: 2011-06-12 12:45+CEST\n" +"POT-Creation-Date: 2011-06-27 12:02+CEST\n" "PO-Revision-Date: \n" -"Last-Translator: Valentin Lorentz \n" +"Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" @@ -23,10 +23,10 @@ msgstr "" #: config.py:49 msgid "" "Determines whether this plugin will automode\n" -" owners." +" owners even if they don't have op/halfop/voice/whatever capability." msgstr "" -"Määrittää käytetäänkö tätä lisäosaa \n" -"omistajiin." +"Määrittää vaihtaako botti omistajien tilaa automaattisesti, vaikka heillä ei olisi\n" +" op/halfop/voice/ihansama valtuutta." #: config.py:52 msgid "" diff --git a/plugins/Math/locale/fi.po b/plugins/Math/locale/fi.po new file mode 100644 index 000000000..85821e4af --- /dev/null +++ b/plugins/Math/locale/fi.po @@ -0,0 +1,166 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-27 14:08+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:52 +#, fuzzy +msgid "" +" [] \n" +"\n" +" Converts from base to base .\n" +" If is left out, it converts to decimal.\n" +" " +msgstr "" +" [] \n" +"\n" +" Muuntaa from base to base .\n" +" Jos jätetään pois, se muuntaa desimaaliksi..\n" +" " + +#: plugin.py:63 +#, fuzzy +msgid "Invalid for base %s: %s" +msgstr "Viallinen baselle %s: %s" + +#: plugin.py:69 +#, fuzzy +msgid "Convert a decimal number to another base; returns a string." +msgstr "Muuunna desimaaliluku; toiseksi baseksi; palauttaa merkkijonon ." + +#: plugin.py:90 +msgid "" +"Convert a number from any base, 2 through 36, to any other\n" +" base, 2 through 36. Returns a string." +msgstr "" +"Muunna basesta mikä tahansa numero, 2:sta 36:teen, millä tahansa muulla\n" +" basella , 2:sta 36:teen. Palauttaa merkkiketjun." + +#: plugin.py:157 +#, fuzzy +msgid "" +"\n" +"\n" +" Returns the value of the evaluated . The syntax is\n" +" Python syntax; the type of arithmetic is floating point. Floating\n" +" point arithmetic is used in order to prevent a user from being able to\n" +" crash to the bot with something like '10**10**10**10'. One consequence\n" +" is that large values such as '10**24' might not be exact.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa kehittyneen arvon. Syntaksi\n" +" on Pythonin syntaksi; aritmeettisen leijumispisteen tyyppi. Leijuvan pisteen\n" +" aritmeettiä käytetään estämään käyttäjää kaatamasta bottia, jollakin\n" +" kuin '10**10**10**10'. Yksi sattuma on suurilla arvoilla, kuin\n" +" '10**24' ei ehkä ole tarkka.\n" +" " + +#: plugin.py:166 +#: plugin.py:220 +msgid "There's really no reason why you should have underscores or brackets in your mathematical expression. Please remove them." +msgstr "Ei todella ole mitään syytä miksi sinulla pitäisi olla alaviivoja tai sulkuja matemaattisessa lausekkeessasi. Ole hyvä ja poista ne." + +#: plugin.py:172 +#: plugin.py:228 +msgid "You can't use lambda in this command." +msgstr "Et voi käyttää Lambdaa tässä komennossa." + +#: plugin.py:202 +#: plugin.py:236 +msgid "The answer exceeded %s or so." +msgstr "Vastaus ylittää %s:än tai niin." + +#: plugin.py:204 +#: plugin.py:238 +msgid "Something in there wasn't a valid number." +msgstr "Jokin siinä ei ole kelvollinen numero." + +#: plugin.py:206 +#: plugin.py:240 +msgid "%s is not a defined function." +msgstr "%s ei ole määritetty funktio." + +#: plugin.py:213 +msgid "" +"\n" +"\n" +" This is the same as the calc command except that it allows integer\n" +" math, and can thus cause the bot to suck up CPU. Hence it requires\n" +" the 'trusted' capability to use.\n" +" " +msgstr "" +"\n" +"\n" +" Tämä on sama kuin calc komento, paitsi tämä sallii loputtoman\n" +" matematiikan ja näin aiheuttaa botin imevän kaiken prosessorin suorituskyvyn. Tästä johtuen se vaatii\n" +" 'trusted' valtuuden.\n" +" " + +#: plugin.py:250 +#, fuzzy +msgid "" +"\n" +"\n" +" Returns the value of an RPN expression.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa RPN lausekkeen arvon.\n" +" " + +#: plugin.py:275 +msgid "Not enough arguments for %s" +msgstr "Ei tarpeeksi parametrejä %s:lle." + +#: plugin.py:288 +msgid "%q is not a defined function." +msgstr "%q ei ole määritetty funktio." + +#: plugin.py:295 +msgid "Stack: [%s]" +msgstr "Pino: [%s]" + +#: plugin.py:299 +msgid "" +"[] to \n" +"\n" +" Converts from to . If number isn't given, it\n" +" defaults to 1. For unit information, see 'units' command.\n" +" " +msgstr "" +"[] to \n" +"\n" +" Muuntaa to . Jos numeroa ei ole annettu, se\n" +" on oletuksena 1. Yksikkö tiedoille, katso 'units' komento.\n" +" " + +#: plugin.py:314 +msgid "" +" []\n" +"\n" +" With no arguments, returns a list of measurement types, which can be\n" +" passed as arguments. When called with a type as an argument, returns\n" +" the units of that type.\n" +" " +msgstr "" +" []\n" +"\n" +" Ilman parametrejä, palauttaa listan arviointi tyyppejä, joita voidaan\n" +" käyttää parametreinä. Kun kutsuttu tyyppinä parametrissä, palaittaa\n" +" sen tyyppiset yksiköt.\n" +" " + From c9cc858095a041019a2320aa18fb1e5a7f1f39f3 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Mon, 27 Jun 2011 18:09:54 +0200 Subject: [PATCH 055/244] the default ident in the supybot-wizard is now limnoria. Closes GH-37. --- scripts/supybot-wizard | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/supybot-wizard b/scripts/supybot-wizard index 53b566df8..2143209bd 100644 --- a/scripts/supybot-wizard +++ b/scripts/supybot-wizard @@ -407,7 +407,7 @@ def main(): default=nick) conf.supybot.user.set(user) # conf.supybot.ident (if advanced) - defaultIdent = 'supybot' + defaultIdent = 'limnoria' if advanced: output("""IRC servers also allow you to set your ident, which they might need if they can't find your identd server. What would you like From 49e14f9a924ea0324a3ad089befe18cd6ebb3b09 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Tue, 28 Jun 2011 19:43:21 +0200 Subject: [PATCH 056/244] Conditional & Dict & Factoids & MessageParser: remove redundant spaces, update i18n and l10n-fr --- plugins/Conditional/locale/fr.po | 64 ++++++++++---------- plugins/Conditional/messages.pot | 64 ++++++++++---------- plugins/Conditional/plugin.py | 96 +++++++++++++++--------------- plugins/Dict/locale/fr.po | 11 ++-- plugins/Dict/messages.pot | 7 ++- plugins/Dict/plugin.py | 7 ++- plugins/Factoids/locale/fr.po | 56 ++++++++--------- plugins/Factoids/messages.pot | 48 +++++++-------- plugins/Factoids/plugin.py | 2 +- plugins/MessageParser/locale/fr.po | 38 ++++++------ plugins/MessageParser/messages.pot | 38 ++++++------ 11 files changed, 217 insertions(+), 214 deletions(-) diff --git a/plugins/Conditional/locale/fr.po b/plugins/Conditional/locale/fr.po index 91f8d1cbf..02c0e97ab 100644 --- a/plugins/Conditional/locale/fr.po +++ b/plugins/Conditional/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Gribble\n" -"POT-Creation-Date: 2010-11-02 11:39+CET\n" +"POT-Creation-Date: 2011-06-28 19:37+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -26,10 +26,10 @@ msgstr "" #: plugin.py:80 msgid "" " \n" -" \n" +"\n" " Runs if evaluates to true, runs \n" " if it evaluates to false.\n" -" \n" +"\n" " Use other logical operators defined in this plugin and command nesting\n" " to your advantage here.\n" " " @@ -41,7 +41,7 @@ msgstr "" #: plugin.py:97 msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if all conditions supplied evaluate to true.\n" " " msgstr "" @@ -52,7 +52,7 @@ msgstr "" #: plugin.py:109 msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if any one of conditions supplied evaluates to true.\n" " " msgstr "" @@ -63,7 +63,7 @@ msgstr "" #: plugin.py:121 msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if only one of conditions supplied evaluates to true.\n" " " msgstr "" @@ -74,8 +74,8 @@ msgstr "" #: plugin.py:133 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if they are equal.\n" " " msgstr "" @@ -86,8 +86,8 @@ msgstr "" #: plugin.py:146 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if they are not equal.\n" " " msgstr "" @@ -98,8 +98,8 @@ msgstr "" #: plugin.py:159 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is greater than .\n" " " msgstr "" @@ -110,8 +110,8 @@ msgstr "" #: plugin.py:172 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is greater than or equal to .\n" " " msgstr "" @@ -122,8 +122,8 @@ msgstr "" #: plugin.py:185 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is less than .\n" " " msgstr "" @@ -134,8 +134,8 @@ msgstr "" #: plugin.py:198 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is less than or equal to .\n" " " msgstr "" @@ -146,8 +146,8 @@ msgstr "" #: plugin.py:211 msgid "" " \n" -" \n" -" Determines if is a substring of . \n" +"\n" +" Determines if is a substring of .\n" " Returns true if is contained in .\n" " " msgstr "" @@ -158,8 +158,8 @@ msgstr "" #: plugin.py:224 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they are equal.\n" " " msgstr "" @@ -170,8 +170,8 @@ msgstr "" #: plugin.py:237 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they are not equal.\n" " " msgstr "" @@ -182,8 +182,8 @@ msgstr "" #: plugin.py:250 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they is greater than .\n" " " msgstr "" @@ -194,8 +194,8 @@ msgstr "" #: plugin.py:263 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is greater than or equal to .\n" " " msgstr "" @@ -206,8 +206,8 @@ msgstr "" #: plugin.py:276 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is less than .\n" " " msgstr "" @@ -218,8 +218,8 @@ msgstr "" #: plugin.py:289 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is less than or equal to .\n" " " msgstr "" diff --git a/plugins/Conditional/messages.pot b/plugins/Conditional/messages.pot index 0fd941dbd..4d60086b4 100644 --- a/plugins/Conditional/messages.pot +++ b/plugins/Conditional/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2010-11-02 11:39+CET\n" +"POT-Creation-Date: 2011-06-28 19:37+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -31,10 +31,10 @@ msgstr "" #, docstring msgid "" " \n" -" \n" +"\n" " Runs if evaluates to true, runs \n" " if it evaluates to false.\n" -" \n" +"\n" " Use other logical operators defined in this plugin and command nesting\n" " to your advantage here.\n" " " @@ -44,7 +44,7 @@ msgstr "" #, docstring msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if all conditions supplied evaluate to true.\n" " " msgstr "" @@ -53,7 +53,7 @@ msgstr "" #, docstring msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if any one of conditions supplied evaluates to true.\n" " " msgstr "" @@ -62,7 +62,7 @@ msgstr "" #, docstring msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if only one of conditions supplied evaluates to true.\n" " " msgstr "" @@ -71,8 +71,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if they are equal.\n" " " msgstr "" @@ -81,8 +81,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if they are not equal.\n" " " msgstr "" @@ -91,8 +91,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is greater than .\n" " " msgstr "" @@ -101,8 +101,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is greater than or equal to .\n" " " msgstr "" @@ -111,8 +111,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is less than .\n" " " msgstr "" @@ -121,8 +121,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is less than or equal to .\n" " " msgstr "" @@ -131,8 +131,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Determines if is a substring of . \n" +"\n" +" Determines if is a substring of .\n" " Returns true if is contained in .\n" " " msgstr "" @@ -141,8 +141,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they are equal.\n" " " msgstr "" @@ -151,8 +151,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they are not equal.\n" " " msgstr "" @@ -161,8 +161,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they is greater than .\n" " " msgstr "" @@ -171,8 +171,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is greater than or equal to .\n" " " msgstr "" @@ -181,8 +181,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is less than .\n" " " msgstr "" @@ -191,8 +191,8 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is less than or equal to .\n" " " msgstr "" diff --git a/plugins/Conditional/plugin.py b/plugins/Conditional/plugin.py index d349f2103..d3783ef50 100644 --- a/plugins/Conditional/plugin.py +++ b/plugins/Conditional/plugin.py @@ -66,22 +66,22 @@ class Conditional(callbacks.Plugin): threaded = True def __init__(self, irc): callbacks.Plugin.__init__(self, irc) - + def _runCommandFunction(self, irc, msg, command): """Run a command from message, as if command was sent over IRC.""" - tokens = callbacks.tokenize(command) + tokens = callbacks.tokenize(command) try: self.Proxy(irc.irc, msg, tokens) except Exception, e: log.exception('Uncaught exception in requested function:') - + @internationalizeDocstring def cif(self, irc, msg, args, condition, ifcommand, elsecommand): """ - + Runs if evaluates to true, runs if it evaluates to false. - + Use other logical operators defined in this plugin and command nesting to your advantage here. """ @@ -91,11 +91,11 @@ class Conditional(callbacks.Plugin): self._runCommandFunction(irc, msg, elsecommand) irc.noReply() cif = wrap(cif, ['boolean', 'something', 'something']) - + @internationalizeDocstring def cand(self, irc, msg, args, conds): """ [ ... ] - + Returns true if all conditions supplied evaluate to true. """ if _all(conds): @@ -103,11 +103,11 @@ class Conditional(callbacks.Plugin): else: irc.reply("false") cand = wrap(cand, [many('boolean'),]) - + @internationalizeDocstring def cor(self, irc, msg, args, conds): """ [ ... ] - + Returns true if any one of conditions supplied evaluates to true. """ if _any(conds): @@ -115,11 +115,11 @@ class Conditional(callbacks.Plugin): else: irc.reply("false") cor = wrap(cor, [many('boolean'),]) - + @internationalizeDocstring def cxor(self, irc, msg, args, conds): """ [ ... ] - + Returns true if only one of conditions supplied evaluates to true. """ if sum(conds) == 1: @@ -127,12 +127,12 @@ class Conditional(callbacks.Plugin): else: irc.reply("false") cxor = wrap(cxor, [many('boolean'),]) - + @internationalizeDocstring def ceq(self, irc, msg, args, item1, item2): """ - - Does a string comparison on and . + + Does a string comparison on and . Returns true if they are equal. """ if item1 == item2: @@ -140,12 +140,12 @@ class Conditional(callbacks.Plugin): else: irc.reply('false') ceq = wrap(ceq, ['anything', 'anything']) - + @internationalizeDocstring def ne(self, irc, msg, args, item1, item2): """ - - Does a string comparison on and . + + Does a string comparison on and . Returns true if they are not equal. """ if item1 != item2: @@ -153,12 +153,12 @@ class Conditional(callbacks.Plugin): else: irc.reply('false') ne = wrap(ne, ['anything', 'anything']) - + @internationalizeDocstring def gt(self, irc, msg, args, item1, item2): """ - - Does a string comparison on and . + + Does a string comparison on and . Returns true if is greater than . """ if item1 > item2: @@ -166,12 +166,12 @@ class Conditional(callbacks.Plugin): else: irc.reply('false') gt = wrap(gt, ['anything', 'anything']) - + @internationalizeDocstring def ge(self, irc, msg, args, item1, item2): """ - - Does a string comparison on and . + + Does a string comparison on and . Returns true if is greater than or equal to . """ if item1 >= item2: @@ -179,12 +179,12 @@ class Conditional(callbacks.Plugin): else: irc.reply('false') ge = wrap(ge, ['anything', 'anything']) - + @internationalizeDocstring def lt(self, irc, msg, args, item1, item2): """ - - Does a string comparison on and . + + Does a string comparison on and . Returns true if is less than . """ if item1 < item2: @@ -192,12 +192,12 @@ class Conditional(callbacks.Plugin): else: irc.reply('false') lt = wrap(lt, ['anything', 'anything']) - + @internationalizeDocstring def le(self, irc, msg, args, item1, item2): """ - - Does a string comparison on and . + + Does a string comparison on and . Returns true if is less than or equal to . """ if item1 <= item2: @@ -209,8 +209,8 @@ class Conditional(callbacks.Plugin): @internationalizeDocstring def match(self, irc, msg, args, item1, item2): """ - - Determines if is a substring of . + + Determines if is a substring of . Returns true if is contained in . """ if item2.find(item1) != -1: @@ -222,8 +222,8 @@ class Conditional(callbacks.Plugin): @internationalizeDocstring def nceq(self, irc, msg, args, item1, item2): """ - - Does a numeric comparison on and . + + Does a numeric comparison on and . Returns true if they are equal. """ if item1 == item2: @@ -231,12 +231,12 @@ class Conditional(callbacks.Plugin): else: irc.reply('false') nceq = wrap(nceq, ['float', 'float']) - + @internationalizeDocstring def nne(self, irc, msg, args, item1, item2): """ - - Does a numeric comparison on and . + + Does a numeric comparison on and . Returns true if they are not equal. """ if item1 != item2: @@ -244,12 +244,12 @@ class Conditional(callbacks.Plugin): else: irc.reply('false') nne = wrap(nne, ['float', 'float']) - + @internationalizeDocstring def ngt(self, irc, msg, args, item1, item2): """ - - Does a numeric comparison on and . + + Does a numeric comparison on and . Returns true if they is greater than . """ if item1 > item2: @@ -257,12 +257,12 @@ class Conditional(callbacks.Plugin): else: irc.reply('false') ngt = wrap(ngt, ['float', 'float']) - + @internationalizeDocstring def nge(self, irc, msg, args, item1, item2): """ - - Does a numeric comparison on and . + + Does a numeric comparison on and . Returns true if is greater than or equal to . """ if item1 >= item2: @@ -270,12 +270,12 @@ class Conditional(callbacks.Plugin): else: irc.reply('false') nge = wrap(nge, ['float', 'float']) - + @internationalizeDocstring def nlt(self, irc, msg, args, item1, item2): """ - - Does a numeric comparison on and . + + Does a numeric comparison on and . Returns true if is less than . """ if item1 < item2: @@ -283,12 +283,12 @@ class Conditional(callbacks.Plugin): else: irc.reply('false') nlt = wrap(nlt, ['float', 'float']) - + @internationalizeDocstring def nle(self, irc, msg, args, item1, item2): """ - - Does a numeric comparison on and . + + Does a numeric comparison on and . Returns true if is less than or equal to . """ if item1 <= item2: diff --git a/plugins/Dict/locale/fr.po b/plugins/Dict/locale/fr.po index 32708ea0b..2a6360cd2 100644 --- a/plugins/Dict/locale/fr.po +++ b/plugins/Dict/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-06-28 19:40+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -87,14 +87,15 @@ msgstr "%L a répondu : %s" #: plugin.py:136 msgid "" " [ ...]\n" +"\n" " Gets a random synonym from the Moby Thesaurus (moby-thes) database.\n" -" \n" +"\n" " If given many words, gets a random synonym for each of them.\n" -" \n" +"\n" " Quote phrases to have them treated as one lookup word.\n" " " msgstr "" -" [ ...]\n" +" [ ...]\n" "\n" -"Récupère un synonyme aléatoire à partir de la base de données de Moby Thesaurus (moby-thes).Si plusieurs mots sont donnés, récupère un synonyme aléatoire pour chaque d'eux.Mettez les phrases entre guillemets pour qu'elles soient considérées comme un seul mot." +"Récupère un synonyme au hasard de la base de données du Moby Thesaurus (moby-thes). Si plusieurs mots sont donnés, récupère un synonyme au hasard pour chacun d'eux. Citez les phrases pour qu'elles soient traitées comme un unique mot." diff --git a/plugins/Dict/messages.pot b/plugins/Dict/messages.pot index 42338f3a2..41a8993a6 100644 --- a/plugins/Dict/messages.pot +++ b/plugins/Dict/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-06-28 19:40+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -84,10 +84,11 @@ msgstr "" #, docstring msgid "" " [ ...]\n" +"\n" " Gets a random synonym from the Moby Thesaurus (moby-thes) database.\n" -" \n" +"\n" " If given many words, gets a random synonym for each of them.\n" -" \n" +"\n" " Quote phrases to have them treated as one lookup word.\n" " " msgstr "" diff --git a/plugins/Dict/plugin.py b/plugins/Dict/plugin.py index 087054d17..ca6bfb526 100644 --- a/plugins/Dict/plugin.py +++ b/plugins/Dict/plugin.py @@ -134,10 +134,11 @@ class Dict(callbacks.Plugin): def synonym(self, irc, msg, args, words): """ [ ...] + Gets a random synonym from the Moby Thesaurus (moby-thes) database. - + If given many words, gets a random synonym for each of them. - + Quote phrases to have them treated as one lookup word. """ try: @@ -145,7 +146,7 @@ class Dict(callbacks.Plugin): conn = dictclient.Connection(server) except socket.error, e: irc.error(utils.web.strError(e), Raise=True) - + dictionary = 'moby-thes' response = [] for word in words: diff --git a/plugins/Factoids/locale/fr.po b/plugins/Factoids/locale/fr.po index 9cc269f84..9129f5fe8 100644 --- a/plugins/Factoids/locale/fr.po +++ b/plugins/Factoids/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-02-26 09:58+CET\n" +"POT-Creation-Date: 2011-06-28 19:40+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -87,13 +87,13 @@ msgid "" msgstr "" #: plugin.py:257 -#: plugin.py:391 +#: plugin.py:386 msgid "That's not a valid number for that key." msgstr "Ce n'est pas un nombre valide pour cette clef." #: plugin.py:279 -#: plugin.py:377 -#: plugin.py:604 +#: plugin.py:372 +#: plugin.py:598 msgid "No factoid matches that key." msgstr "Aucune factoid ne correspond à cette clef." @@ -113,11 +113,11 @@ msgstr "" "Regarde la valeur de la dans la base de données de factoids. Si un est donné, retourne la factoid exacte.Si l'option --raw est donnée, aucune substitution de variable ne sera effectuée avant d'afficher la factoid. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." #: plugin.py:321 -#: plugin.py:529 +#: plugin.py:523 msgid "key id" msgstr "id de clef" -#: plugin.py:339 +#: plugin.py:334 msgid "" "[] []\n" "\n" @@ -133,16 +133,16 @@ msgstr "" "\n" "Ajoute une à la factoid correspondant à l'.Le n'est nécessaire que si il y a plus d'une factoid associée à l'.La même action peut être accomplie en utilisant la fonction 'learn' avec la , sans le contenu actuel de la factoid." -#: plugin.py:386 -#: plugin.py:403 +#: plugin.py:381 +#: plugin.py:398 msgid "This key-factoid relationship already exists." msgstr "Cette relation clef-factoid existe déjà." -#: plugin.py:394 +#: plugin.py:389 msgid "This key has more than one factoid associated with it, but you have not provided a number." msgstr "Cette clef a plus d'une factoid associée, mais vous n'avez pas fourni un nombre." -#: plugin.py:409 +#: plugin.py:403 msgid "" "[] [--plain] [--alpha] []\n" "\n" @@ -164,7 +164,7 @@ msgstr "" "\n" "Retourne une liste des factoids les plus utilisées. Si le n'est pas fourni, il correspond par défaut au nombre de clefs de factoids défini dans la clef de registre rankListLength.Si --plain est donné, le numéro des rangs et le comptage des utilisations n'est pas inclu dans la sortie.Si --alpha est donné, en plus de --plain, les clefs seront triées alphabétiquement, au lieu de l'être par leur rang. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:454 +#: plugin.py:448 msgid "" "[] \n" "\n" @@ -177,7 +177,7 @@ msgstr "" "\n" "Verrouille la/les factoid(s) associé(e) à la , pour qu'elles ne puissent plus être supprimées ou modifiées. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:472 +#: plugin.py:466 msgid "" "[] \n" "\n" @@ -190,7 +190,7 @@ msgstr "" "\n" "Verrouille la/les factoid(s) associé(e) à la , pour qu'elles puissent être supprimées ou modifiées. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:511 +#: plugin.py:505 msgid "" "[] [|*]\n" "\n" @@ -210,19 +210,19 @@ msgstr "" "\n" "Enlève la factoid de la base de données. Si il y a plus d'une factoid avec cette clef, un est requis pour déterminer laquelle sera supprimée. Un joker * peut être utilisé pour enlever toutes les factoids avec cette clef.Si, en tant que résultat, la clef (factoid) n'a plus aucune relation avec une autre factoid (clef), elle devrait être supprimée de la base de données. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:543 +#: plugin.py:537 msgid "There is no such factoid." msgstr "Cette factoid n'existe pas." -#: plugin.py:553 +#: plugin.py:547 msgid "Invalid factoid number." msgstr "Numéro de factoid invalide." -#: plugin.py:558 +#: plugin.py:552 msgid "%s factoids have that key. Please specify which one to remove, or use * to designate all of them." msgstr "%s factoids ont cette clef. Veuillez spécifier laquelle vous voulez supprimer ou utiliser * pour toutes les désigner." -#: plugin.py:566 +#: plugin.py:560 msgid "" "[]\n" "\n" @@ -234,11 +234,11 @@ msgstr "" "\n" "Retourne une factoid aléatoire de la base de données pour le canal. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:588 +#: plugin.py:582 msgid "I couldn't find a factoid." msgstr "Je ne peux trouver une factoid" -#: plugin.py:593 +#: plugin.py:587 msgid "" "[] \n" "\n" @@ -251,15 +251,15 @@ msgstr "" "\n" "Donne des informations sur la/les factoid(s) associée(s) à la . n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:619 +#: plugin.py:613 msgid "#%i was added by %s at %s, and has been recalled %n" msgstr "#%i a été ajouté par %s le %s, et il y a eu %n." -#: plugin.py:622 +#: plugin.py:616 msgid "time" msgstr "rappel" -#: plugin.py:632 +#: plugin.py:626 msgid "" "[] \n" "\n" @@ -271,11 +271,11 @@ msgstr "" "\n" "Change la factoid associée à la , en accord avec l'. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:646 +#: plugin.py:640 msgid "I couldn't find any key %q" msgstr "Je ne peux trouver de clef %q" -#: plugin.py:661 +#: plugin.py:655 msgid "" "[] [--values] [--{regexp} ] [ ...]\n" "\n" @@ -288,13 +288,13 @@ msgstr "" "\n" "Recherche les clefs correspondant au . Si --regexp est donné, recherche les clefs correspondantes à l'. Si --values est donné, recherche parmi les valeurs, plutôt que parmi les clefs. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:698 -#: plugin.py:707 +#: plugin.py:692 +#: plugin.py:701 msgid "No keys matched that query." msgstr "Aucune clef ne correspond à cette requête." -#: plugin.py:703 -#: plugin.py:712 +#: plugin.py:697 +#: plugin.py:706 msgid "More than 100 keys matched that query; please narrow your query." msgstr "Plus de 100 clefs correspondent à votre requête ; veuillez la préciser." diff --git a/plugins/Factoids/messages.pot b/plugins/Factoids/messages.pot index d7f98ee95..a819f7d82 100644 --- a/plugins/Factoids/messages.pot +++ b/plugins/Factoids/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:58+CET\n" +"POT-Creation-Date: 2011-06-28 19:40+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -87,11 +87,11 @@ msgid "" " " msgstr "" -#: plugin.py:257 plugin.py:391 +#: plugin.py:257 plugin.py:386 msgid "That's not a valid number for that key." msgstr "" -#: plugin.py:279 plugin.py:377 plugin.py:604 +#: plugin.py:279 plugin.py:372 plugin.py:598 msgid "No factoid matches that key." msgstr "" @@ -108,11 +108,11 @@ msgid "" " " msgstr "" -#: plugin.py:321 plugin.py:529 +#: plugin.py:321 plugin.py:523 msgid "key id" msgstr "" -#: plugin.py:339 +#: plugin.py:334 #, docstring msgid "" "[] []\n" @@ -126,15 +126,15 @@ msgid "" " " msgstr "" -#: plugin.py:386 plugin.py:403 +#: plugin.py:381 plugin.py:398 msgid "This key-factoid relationship already exists." msgstr "" -#: plugin.py:394 +#: plugin.py:389 msgid "This key has more than one factoid associated with it, but you have not provided a number." msgstr "" -#: plugin.py:409 +#: plugin.py:403 #, docstring msgid "" "[] [--plain] [--alpha] []\n" @@ -154,7 +154,7 @@ msgid "" " " msgstr "" -#: plugin.py:454 +#: plugin.py:448 #, docstring msgid "" "[] \n" @@ -165,7 +165,7 @@ msgid "" " " msgstr "" -#: plugin.py:472 +#: plugin.py:466 #, docstring msgid "" "[] \n" @@ -176,7 +176,7 @@ msgid "" " " msgstr "" -#: plugin.py:511 +#: plugin.py:505 #, docstring msgid "" "[] [|*]\n" @@ -194,19 +194,19 @@ msgid "" " " msgstr "" -#: plugin.py:543 +#: plugin.py:537 msgid "There is no such factoid." msgstr "" -#: plugin.py:553 +#: plugin.py:547 msgid "Invalid factoid number." msgstr "" -#: plugin.py:558 +#: plugin.py:552 msgid "%s factoids have that key. Please specify which one to remove, or use * to designate all of them." msgstr "" -#: plugin.py:566 +#: plugin.py:560 #, docstring msgid "" "[]\n" @@ -216,11 +216,11 @@ msgid "" " " msgstr "" -#: plugin.py:588 +#: plugin.py:582 msgid "I couldn't find a factoid." msgstr "" -#: plugin.py:593 +#: plugin.py:587 #, docstring msgid "" "[] \n" @@ -231,15 +231,15 @@ msgid "" " " msgstr "" -#: plugin.py:619 +#: plugin.py:613 msgid "#%i was added by %s at %s, and has been recalled %n" msgstr "" -#: plugin.py:622 +#: plugin.py:616 msgid "time" msgstr "" -#: plugin.py:632 +#: plugin.py:626 #, docstring msgid "" "[] \n" @@ -249,11 +249,11 @@ msgid "" " " msgstr "" -#: plugin.py:646 +#: plugin.py:640 msgid "I couldn't find any key %q" msgstr "" -#: plugin.py:661 +#: plugin.py:655 #, docstring msgid "" "[] [--values] [--{regexp} ] [ ...]\n" @@ -264,11 +264,11 @@ msgid "" " " msgstr "" -#: plugin.py:698 plugin.py:707 +#: plugin.py:692 plugin.py:701 msgid "No keys matched that query." msgstr "" -#: plugin.py:703 plugin.py:712 +#: plugin.py:697 plugin.py:706 msgid "More than 100 keys matched that query; please narrow your query." msgstr "" diff --git a/plugins/Factoids/plugin.py b/plugins/Factoids/plugin.py index 20381e859..7ed3c89a6 100644 --- a/plugins/Factoids/plugin.py +++ b/plugins/Factoids/plugin.py @@ -129,7 +129,7 @@ class Factoids(callbacks.Plugin, plugins.ChannelDBHandler): doc=method._fake__doc__ % (s, s), name=callbacks.formatCommand(command)) return super(Factoids, self).getCommandHelp(command, simpleSyntax) - + def _getKeyAndFactId(self, channel, key, factoid): db = self.getDb(channel) cursor = db.cursor() diff --git a/plugins/MessageParser/locale/fr.po b/plugins/MessageParser/locale/fr.po index abddb5c84..ad75aae17 100644 --- a/plugins/MessageParser/locale/fr.po +++ b/plugins/MessageParser/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Gribble\n" -"POT-Creation-Date: 2011-02-26 11:47+CET\n" +"POT-Creation-Date: 2011-06-28 19:39+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -13,32 +13,32 @@ msgstr "" "X-Poedit-Country: France\n" "X-Poedit-SourceCharset: Gribble\n" -#: config.py:49 +#: config.py:57 msgid "" "Determines whether the\n" " message parser is enabled. If enabled, will trigger on regexps\n" " added to the regexp db." msgstr "Détermine si le parseur de messages est activé. S'il l'est, il réagira aux expressions régulières qui sont dans la base de données d'expressions régulières." -#: config.py:53 +#: config.py:61 msgid "" "Determines whether we keep updating the usage\n" " count for each regexp, for popularity ranking." msgstr "Détermine si on met à jour le compteur d'utilisation de chaque expression régulière, pour un classement de popularité" -#: config.py:56 +#: config.py:64 msgid "" "Determines the number of regexps returned\n" " by the triggerrank command." msgstr "Détermine le nombre d'expressions régulières retournées par la commande triggerrank" -#: config.py:59 +#: config.py:67 msgid "" "Determines the capability required (if any) to\n" " vacuum the database." msgstr "Détermine la capacité requise (s'il y en a une) pour faire un vacuum de la base de données." -#: config.py:62 +#: config.py:70 msgid "" "Determines the\n" " capabilities required (if any) to manage the regexp database,\n" @@ -48,7 +48,7 @@ msgid "" " capability." msgstr "Détermine les capacités requises (s'il y en a) pour gérer la base de données d'expressions régulières, ce qui inclue l'ajout, la suppression, le verrouillage, et le déverrouillage. Utilisez 'canal,capa' pour des capacités par canal. Notez que l'absence de toute anti-capacité explicite signifit que l'utilisateur peut le faire." -#: config.py:69 +#: config.py:77 msgid "" "Determines the separator used between rexeps when\n" " shown by the list command." @@ -84,7 +84,7 @@ msgid "" "\n" " Associates with . is only\n" " necessary if the message isn't sent on the channel\n" -" itself. Action is echoed upon regexp match, with variables $1, $2, \n" +" itself. Action is echoed upon regexp match, with variables $1, $2,\n" " etc. being interpolated from the regexp match groups." msgstr "" "[] \n" @@ -103,7 +103,7 @@ msgstr "Ce trigger est bloqué." msgid "" "[] [--id] ]\n" "\n" -" Removes the trigger for from the triggers database. \n" +" Removes the trigger for from the triggers database.\n" " is only necessary if\n" " the message isn't sent in the channel itself.\n" " If option --id specified, will retrieve by regexp id, not content.\n" @@ -156,7 +156,7 @@ msgid "" "[] [--id] \n" "\n" " Looks up the value of in the triggers database.\n" -" is only necessary if the message isn't sent in the channel \n" +" is only necessary if the message isn't sent in the channel\n" " itself.\n" " If option --id specified, will retrieve by regexp id, not content.\n" " " @@ -170,7 +170,7 @@ msgid "" "[] [--id] \n" "\n" " Display information about in the triggers database.\n" -" is only necessary if the message isn't sent in the channel \n" +" is only necessary if the message isn't sent in the channel\n" " itself.\n" " If option --id specified, will retrieve by regexp id, not content.\n" " " @@ -196,7 +196,7 @@ msgid "" "[]\n" "\n" " Lists regexps present in the triggers database.\n" -" is only necessary if the message isn't sent in the channel \n" +" is only necessary if the message isn't sent in the channel\n" " itself. Regexp ID listed in paretheses.\n" " " msgstr "" @@ -212,10 +212,10 @@ msgstr "Il n'y a pas d'expression régulière dans ma base de données." #: plugin.py:394 msgid "" "[]\n" -" \n" -" Returns a list of top-ranked regexps, sorted by usage count \n" -" (rank). The number of regexps returned is set by the \n" -" rankListLength registry value. is only necessary if the \n" +"\n" +" Returns a list of top-ranked regexps, sorted by usage count\n" +" (rank). The number of regexps returned is set by the\n" +" rankListLength registry value. is only necessary if the\n" " message isn't sent in the channel itself.\n" " " msgstr "" @@ -226,12 +226,12 @@ msgstr "" #: plugin.py:418 msgid "" "[]\n" -" \n" +"\n" " Vacuums the database for .\n" " See SQLite vacuum doc here: http://www.sqlite.org/lang_vacuum.html\n" -" is only necessary if the message isn't sent in \n" +" is only necessary if the message isn't sent in\n" " the channel itself.\n" -" First check if user has the required capability specified in plugin \n" +" First check if user has the required capability specified in plugin\n" " config requireVacuumCapability.\n" " " msgstr "" diff --git a/plugins/MessageParser/messages.pot b/plugins/MessageParser/messages.pot index 6a9766807..8cf2374c2 100644 --- a/plugins/MessageParser/messages.pot +++ b/plugins/MessageParser/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 11:47+CET\n" +"POT-Creation-Date: 2011-06-28 19:39+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,32 +15,32 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" -#: config.py:49 +#: config.py:57 msgid "" "Determines whether the\n" " message parser is enabled. If enabled, will trigger on regexps\n" " added to the regexp db." msgstr "" -#: config.py:53 +#: config.py:61 msgid "" "Determines whether we keep updating the usage\n" " count for each regexp, for popularity ranking." msgstr "" -#: config.py:56 +#: config.py:64 msgid "" "Determines the number of regexps returned\n" " by the triggerrank command." msgstr "" -#: config.py:59 +#: config.py:67 msgid "" "Determines the capability required (if any) to\n" " vacuum the database." msgstr "" -#: config.py:62 +#: config.py:70 msgid "" "Determines the\n" " capabilities required (if any) to manage the regexp database,\n" @@ -50,7 +50,7 @@ msgid "" " capability." msgstr "" -#: config.py:69 +#: config.py:77 msgid "" "Determines the separator used between rexeps when\n" " shown by the list command." @@ -92,7 +92,7 @@ msgid "" "\n" " Associates with . is only\n" " necessary if the message isn't sent on the channel\n" -" itself. Action is echoed upon regexp match, with variables $1, $2, \n" +" itself. Action is echoed upon regexp match, with variables $1, $2,\n" " etc. being interpolated from the regexp match groups." msgstr "" @@ -109,7 +109,7 @@ msgstr "" msgid "" "[] [--id] ]\n" "\n" -" Removes the trigger for from the triggers database. \n" +" Removes the trigger for from the triggers database.\n" " is only necessary if\n" " the message isn't sent in the channel itself.\n" " If option --id specified, will retrieve by regexp id, not content.\n" @@ -152,7 +152,7 @@ msgid "" "[] [--id] \n" "\n" " Looks up the value of in the triggers database.\n" -" is only necessary if the message isn't sent in the channel \n" +" is only necessary if the message isn't sent in the channel\n" " itself.\n" " If option --id specified, will retrieve by regexp id, not content.\n" " " @@ -164,7 +164,7 @@ msgid "" "[] [--id] \n" "\n" " Display information about in the triggers database.\n" -" is only necessary if the message isn't sent in the channel \n" +" is only necessary if the message isn't sent in the channel\n" " itself.\n" " If option --id specified, will retrieve by regexp id, not content.\n" " " @@ -188,7 +188,7 @@ msgid "" "[]\n" "\n" " Lists regexps present in the triggers database.\n" -" is only necessary if the message isn't sent in the channel \n" +" is only necessary if the message isn't sent in the channel\n" " itself. Regexp ID listed in paretheses.\n" " " msgstr "" @@ -201,10 +201,10 @@ msgstr "" #, docstring msgid "" "[]\n" -" \n" -" Returns a list of top-ranked regexps, sorted by usage count \n" -" (rank). The number of regexps returned is set by the \n" -" rankListLength registry value. is only necessary if the \n" +"\n" +" Returns a list of top-ranked regexps, sorted by usage count\n" +" (rank). The number of regexps returned is set by the\n" +" rankListLength registry value. is only necessary if the\n" " message isn't sent in the channel itself.\n" " " msgstr "" @@ -213,12 +213,12 @@ msgstr "" #, docstring msgid "" "[]\n" -" \n" +"\n" " Vacuums the database for .\n" " See SQLite vacuum doc here: http://www.sqlite.org/lang_vacuum.html\n" -" is only necessary if the message isn't sent in \n" +" is only necessary if the message isn't sent in\n" " the channel itself.\n" -" First check if user has the required capability specified in plugin \n" +" First check if user has the required capability specified in plugin\n" " config requireVacuumCapability.\n" " " msgstr "" From 1c366a28999dc7acc351f0cfa9a3f85ca6a6587d Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Tue, 28 Jun 2011 19:52:18 +0200 Subject: [PATCH 057/244] src/i18n.py: fix error when running @reloadlocale with a plugin loaded before but not available any longer. --- src/i18n.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/i18n.py b/src/i18n.py index 3f64a82c9..ba57edfdf 100644 --- a/src/i18n.py +++ b/src/i18n.py @@ -50,6 +50,9 @@ MSGSTR = 'msgstr "' currentLocale = 'en' +class PluginNotFound(Exception): + pass + def getLocaleFromRegistryFilename(filename): """Called by the 'supybot' script. Gets the locale name before conf is loaded.""" @@ -88,7 +91,7 @@ def getPluginDir(plugin_name): for allowed_file in allowed_files: if filename.endswith(allowed_file): return filename[0:-len(allowed_file)] - raise Exception('Plugin %s not found by i18n.' % plugin_name) + raise PluginNotFound() def getLocalePath(name, localeName, extension): """Gets the path of the locale file of the given plugin ('supybot' stands @@ -153,7 +156,7 @@ class _PluginInternationalization: translationFile = open(getLocalePath(self.name, localeName, 'po'), 'r') self._parse(translationFile) - except IOError: # The translation is unavailable + except IOError, PluginNotFound: # The translation is unavailable self.translations = {} def _parse(self, translationFile): """A .po files parser. From 40db70eb7bb9b0b3e449233390c6cd5f5daa47df Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Tue, 28 Jun 2011 23:47:50 +0300 Subject: [PATCH 058/244] Updated Finnish translation in plugin Conditional. --- plugins/Conditional/locale/fi.po | 89 ++++++++++++++++---------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/plugins/Conditional/locale/fi.po b/plugins/Conditional/locale/fi.po index 53c39c765..8fc6a2eee 100644 --- a/plugins/Conditional/locale/fi.po +++ b/plugins/Conditional/locale/fi.po @@ -1,14 +1,15 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. +# Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2010-11-02 11:39+CET\n" -"PO-Revision-Date: 2011-06-07 21:48+0200\n" +"POT-Creation-Date: 2011-06-28 19:37+CEST\n" +"PO-Revision-Date: 2011-06-28 22:52+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -29,27 +30,27 @@ msgstr "Suorita komento viestistä, kuin komento olisi lähetetty IRC:stä." #: plugin.py:80 msgid "" " \n" -" \n" +"\n" " Runs if evaluates to true, runs \n" " if it evaluates to false.\n" -" \n" +"\n" " Use other logical operators defined in this plugin and command nesting\n" " to your advantage here.\n" " " msgstr "" " \n" -" \n" -" Suorittaa jos arvioituu todeksi, suorittaa \n" -" jos se arvioituu vääräksi.\n" -" \n" -"Käytä toisia loogisia operaatioita, jotka on määritetty lisäosassa ja rinnastettuja komentoja\n" -"eduksesi tässä.\n" +"\n" +" Suorittaa if kehittyy todeksi, suorittaa \n" +" jos se kehittyy epätodeksi.\n" +"\n" +" Käytä loogisia toimintoja, jotka on määritetty tässä laajennuksessa ja komentojen putkittamista\n" +" eduksesi tässä.\n" " " #: plugin.py:97 msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if all conditions supplied evaluate to true.\n" " " msgstr "" @@ -61,19 +62,19 @@ msgstr "" #: plugin.py:109 msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if any one of conditions supplied evaluates to true.\n" " " msgstr "" " [ ... ]\n" " \n" -" Palauttaa toden, jos yksikään edellytys tukee arvioimista todeksi.\n" +" Palauttaa toden, jos yksikin edellytys tukee arvioimista todeksi.\n" " " #: plugin.py:121 msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if only one of conditions supplied evaluates to true.\n" " " msgstr "" @@ -85,8 +86,8 @@ msgstr "" #: plugin.py:133 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if they are equal.\n" " " msgstr "" @@ -99,8 +100,8 @@ msgstr "" #: plugin.py:146 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if they are not equal.\n" " " msgstr "" @@ -113,22 +114,22 @@ msgstr "" #: plugin.py:159 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is greater than .\n" " " msgstr "" " \n" " \n" -" tekee ketju vertailun ja . \n" +" Tekee ketju vertailun ja . \n" " Palauttaa toden jos on suurempi kuin .\n" " " #: plugin.py:172 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is greater than or equal to .\n" " " msgstr "" @@ -141,8 +142,8 @@ msgstr "" #: plugin.py:185 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is less than .\n" " " msgstr "" @@ -155,8 +156,8 @@ msgstr "" #: plugin.py:198 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is less than or equal to .\n" " " msgstr "" @@ -169,22 +170,22 @@ msgstr "" #: plugin.py:211 msgid "" " \n" -" \n" -" Determines if is a substring of . \n" +"\n" +" Determines if is a substring of .\n" " Returns true if is contained in .\n" " " msgstr "" -" \n" +" \n" " \n" -" Määrittää onko . \n" +" Määrittää onko . \n" " Palauttaa toden, jos .\n" " " #: plugin.py:224 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they are equal.\n" " " msgstr "" @@ -197,8 +198,8 @@ msgstr "" #: plugin.py:237 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they are not equal.\n" " " msgstr "" @@ -211,8 +212,8 @@ msgstr "" #: plugin.py:250 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they is greater than .\n" " " msgstr "" @@ -225,8 +226,8 @@ msgstr "" #: plugin.py:263 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is greater than or equal to .\n" " " msgstr "" @@ -239,8 +240,8 @@ msgstr "" #: plugin.py:276 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is less than .\n" " " msgstr "" @@ -253,8 +254,8 @@ msgstr "" #: plugin.py:289 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is less than or equal to .\n" " " msgstr "" From 08175fc920b44745eaeb6db851ad922c7b1988c4 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Wed, 29 Jun 2011 09:40:05 +0200 Subject: [PATCH 059/244] Conditional: Update l10n-fi --- plugins/Conditional/locale/fi.po | 89 ++++++++++++++++---------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/plugins/Conditional/locale/fi.po b/plugins/Conditional/locale/fi.po index 53c39c765..8fc6a2eee 100644 --- a/plugins/Conditional/locale/fi.po +++ b/plugins/Conditional/locale/fi.po @@ -1,14 +1,15 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. +# Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2010-11-02 11:39+CET\n" -"PO-Revision-Date: 2011-06-07 21:48+0200\n" +"POT-Creation-Date: 2011-06-28 19:37+CEST\n" +"PO-Revision-Date: 2011-06-28 22:52+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -29,27 +30,27 @@ msgstr "Suorita komento viestistä, kuin komento olisi lähetetty IRC:stä." #: plugin.py:80 msgid "" " \n" -" \n" +"\n" " Runs if evaluates to true, runs \n" " if it evaluates to false.\n" -" \n" +"\n" " Use other logical operators defined in this plugin and command nesting\n" " to your advantage here.\n" " " msgstr "" " \n" -" \n" -" Suorittaa jos arvioituu todeksi, suorittaa \n" -" jos se arvioituu vääräksi.\n" -" \n" -"Käytä toisia loogisia operaatioita, jotka on määritetty lisäosassa ja rinnastettuja komentoja\n" -"eduksesi tässä.\n" +"\n" +" Suorittaa if kehittyy todeksi, suorittaa \n" +" jos se kehittyy epätodeksi.\n" +"\n" +" Käytä loogisia toimintoja, jotka on määritetty tässä laajennuksessa ja komentojen putkittamista\n" +" eduksesi tässä.\n" " " #: plugin.py:97 msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if all conditions supplied evaluate to true.\n" " " msgstr "" @@ -61,19 +62,19 @@ msgstr "" #: plugin.py:109 msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if any one of conditions supplied evaluates to true.\n" " " msgstr "" " [ ... ]\n" " \n" -" Palauttaa toden, jos yksikään edellytys tukee arvioimista todeksi.\n" +" Palauttaa toden, jos yksikin edellytys tukee arvioimista todeksi.\n" " " #: plugin.py:121 msgid "" " [ ... ]\n" -" \n" +"\n" " Returns true if only one of conditions supplied evaluates to true.\n" " " msgstr "" @@ -85,8 +86,8 @@ msgstr "" #: plugin.py:133 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if they are equal.\n" " " msgstr "" @@ -99,8 +100,8 @@ msgstr "" #: plugin.py:146 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if they are not equal.\n" " " msgstr "" @@ -113,22 +114,22 @@ msgstr "" #: plugin.py:159 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is greater than .\n" " " msgstr "" " \n" " \n" -" tekee ketju vertailun ja . \n" +" Tekee ketju vertailun ja . \n" " Palauttaa toden jos on suurempi kuin .\n" " " #: plugin.py:172 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is greater than or equal to .\n" " " msgstr "" @@ -141,8 +142,8 @@ msgstr "" #: plugin.py:185 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is less than .\n" " " msgstr "" @@ -155,8 +156,8 @@ msgstr "" #: plugin.py:198 msgid "" " \n" -" \n" -" Does a string comparison on and . \n" +"\n" +" Does a string comparison on and .\n" " Returns true if is less than or equal to .\n" " " msgstr "" @@ -169,22 +170,22 @@ msgstr "" #: plugin.py:211 msgid "" " \n" -" \n" -" Determines if is a substring of . \n" +"\n" +" Determines if is a substring of .\n" " Returns true if is contained in .\n" " " msgstr "" -" \n" +" \n" " \n" -" Määrittää onko . \n" +" Määrittää onko . \n" " Palauttaa toden, jos .\n" " " #: plugin.py:224 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they are equal.\n" " " msgstr "" @@ -197,8 +198,8 @@ msgstr "" #: plugin.py:237 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they are not equal.\n" " " msgstr "" @@ -211,8 +212,8 @@ msgstr "" #: plugin.py:250 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if they is greater than .\n" " " msgstr "" @@ -225,8 +226,8 @@ msgstr "" #: plugin.py:263 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is greater than or equal to .\n" " " msgstr "" @@ -239,8 +240,8 @@ msgstr "" #: plugin.py:276 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is less than .\n" " " msgstr "" @@ -253,8 +254,8 @@ msgstr "" #: plugin.py:289 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" +"\n" +" Does a numeric comparison on and .\n" " Returns true if is less than or equal to .\n" " " msgstr "" From 5275d708e5e0fe8910e11d68dcc442dbb58e21d6 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Wed, 29 Jun 2011 13:56:22 +0200 Subject: [PATCH 060/244] Owner: Fix bug with @enable and @disable if a plugin is given. Closes GH-43. Closes GH-44. --- plugins/Owner/plugin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Owner/plugin.py b/plugins/Owner/plugin.py index c7880b90a..64f8cd0bb 100644 --- a/plugins/Owner/plugin.py +++ b/plugins/Owner/plugin.py @@ -540,11 +540,11 @@ class Owner(callbacks.Plugin): if plugin.isCommand(command): pluginCommand = '%s.%s' % (plugin.name(), command) conf.supybot.commands.disabled().add(pluginCommand) + plugin._disabled.add(command) else: irc.error('%s is not a command in the %s plugin.' % (command, plugin.name())) return - self._disabled.add(pluginCommand, plugin.name()) else: conf.supybot.commands.disabled().add(command) self._disabled.add(command) @@ -560,8 +560,8 @@ class Owner(callbacks.Plugin): """ try: if plugin: + plugin._disabled.remove(command, plugin.name()) command = '%s.%s' % (plugin.name(), command) - self._disabled.remove(command, plugin.name()) else: self._disabled.remove(command) conf.supybot.commands.disabled().remove(command) From efc30a4ed2bc37b09ffdffba60533152d71b7f31 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 30 Jun 2011 00:55:09 +0200 Subject: [PATCH 061/244] Fix traceback when sending POST requests to the 404 error handler. --- src/utils/httpserver.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/httpserver.py b/src/utils/httpserver.py index e0b986b2d..687c69ed5 100644 --- a/src/utils/httpserver.py +++ b/src/utils/httpserver.py @@ -132,7 +132,7 @@ class SupyHTTPServerCallback: message, it probably means you are developping a plugin, and you have neither overriden this message or defined an handler for this query.""") - def doGet(self, handler, path): + def doGet(self, handler, path, *args, **kwargs): handler.send_response(400) self.send_header('Content_type', 'text/plain') self.send_header('Content-Length', len(self.defaultResponse)) @@ -153,7 +153,7 @@ class Supy404(SupyHTTPServerCallback): if I don't know what to serve. What I'm saying is you just triggered a 404 Not Found, and I am not trained to help you in such a case.""") - def doGet(self, handler, path): + def doGet(self, handler, path, *args, **kwargs): handler.send_response(404) self.send_header('Content_type', 'text/plain') self.send_header('Content-Length', len(self.response)) From 3b5d2cb48b5bb9fbe2c29a7ce7c46d705fddbf94 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 30 Jun 2011 03:04:12 +0200 Subject: [PATCH 062/244] Herald: fix name conflict (wqs using _ as a temporary variable) --- plugins/Herald/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Herald/plugin.py b/plugins/Herald/plugin.py index 833208ae8..b398362d1 100644 --- a/plugins/Herald/plugin.py +++ b/plugins/Herald/plugin.py @@ -149,7 +149,7 @@ class Herald(callbacks.Plugin): """ if optlist and text: raise callbacks.ArgumentError - for (option, _) in optlist: + for (option, foo) in optlist: if option == 'remove': self.setRegistryValue('default', '', channel) irc.replySuccess() From f0571e434b3f944736cec855a14cb6602fdad5a8 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 30 Jun 2011 09:56:25 +0200 Subject: [PATCH 063/244] AutoMode & BadWord & Config & Format & Karma & Later & Web: Add/update l10n-it. --- plugins/AutoMode/locale/it.po | 5 +- plugins/BadWords/locale/it.po | 167 +++++++++++++++++++++++ plugins/Config/locale/it.po | 182 +++++++++++++++++++++++++ plugins/Dict/locale/it.po | 12 +- plugins/Format/locale/it.po | 248 ++++++++++++++++++++++++++++++++++ plugins/Herald/locale/it.po | 182 +++++++++++++++++++++++++ plugins/Karma/locale/it.po | 173 ++++++++++++++++++++++++ plugins/Later/locale/it.po | 165 ++++++++++++++++++++++ plugins/Web/locale/it.po | 192 ++++++++++++++++++++++++++ 9 files changed, 1319 insertions(+), 7 deletions(-) create mode 100644 plugins/BadWords/locale/it.po create mode 100644 plugins/Config/locale/it.po create mode 100644 plugins/Format/locale/it.po create mode 100644 plugins/Herald/locale/it.po create mode 100644 plugins/Karma/locale/it.po create mode 100644 plugins/Later/locale/it.po create mode 100644 plugins/Web/locale/it.po diff --git a/plugins/AutoMode/locale/it.po b/plugins/AutoMode/locale/it.po index 7a1d22e12..05a7e9e86 100644 --- a/plugins/AutoMode/locale/it.po +++ b/plugins/AutoMode/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-12 11:51+0200\n" +"PO-Revision-Date: 2011-06-27 18:15+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -22,9 +22,10 @@ msgstr "" #: config.py:49 msgid "" "Determines whether this plugin will automode\n" -" owners." +" owners even if they don't have op/halfop/voice/whatever capability.." msgstr "" "Determina se il plugin darà automaticamente il mode ai proprietari.\n" +" anche se non hanno la capacità op, halfop, voice, ecc..." #: config.py:52 msgid "" diff --git a/plugins/BadWords/locale/it.po b/plugins/BadWords/locale/it.po new file mode 100644 index 000000000..87ac2a5e3 --- /dev/null +++ b/plugins/BadWords/locale/it.po @@ -0,0 +1,167 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-28 23:29+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:40 +msgid "Would you like to add some bad words?" +msgstr "Vuoi aggiungere delle parole volgari?" + +#: config.py:41 +msgid "What words? (separate individual words by spaces)" +msgstr "Quali parole? (separa ciascuna con uno spazio)" + +#: config.py:53 +msgid "" +"Determines what words are\n" +" considered to be 'bad' so the bot won't say them." +msgstr "" +"Determina quali parole sono considerate \"volgari\" per cui il bot non le pronuncerà.\n" + +#: 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. After changing this setting, the BadWords regexp needs to be\n" +" regenerated by adding/removing a word to the list, or reloading the\n" +" plugin." +msgstr "" +"Determina se il bot richieda che le parole volgari siano indipendenti o all'interno\n" +" di altre parole. Ad esempio, se \"merda\" è volgare e questa opzione è impostata\n" +" a True, verrà censurata, ma \"merdata\" non lo sarà; probabilmente si preferisce\n" +" che questa sia su False. Dopo aver modificato questa impostazione, la regexp di\n" +" BadWords deve essere rigenerata con l'aggiunta o la rimozione di una parola\n" +" dall'elenco o ricaricando il plugin." + +#: config.py:73 +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 "" +"Determina quali caratteri sostituiranno le parole volgari, verranno utilizzati\n" +" rimpiazzando la parola da censurare in tutta la sua lunghezza." + +#: config.py:81 +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 "" +"Determina come verranno sostituite le parole volgari. \"nastyCharacters\" (predefinito)\n" +" rimpiazzerà la parola con lo stesso numero di \"brutti caratteri\" (come quelli usati\n" +" nei fumetti; configurabile da supybot.plugins.BadWords.nastyChars). \"simple\" sostituirà\n" +" una parola volgare con una stringa semplice (indipendentemente dalla lunghezza della parola);\n" +" questa stringa è configurabile tramite supybot.plugins.BadWords.simpleReplacement." + +#: config.py:89 +msgid "" +"Determines what word will replace bad\n" +" words if the replacement method is 'simple'." +msgstr "" +"Determina quale parola sostituirà quelle volgari se viene usato il metodo \"simple\"." + +#: config.py:92 +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 "" +"Determina se il bot rimuoverà i caratteri di formattazione prima di controllare\n" +" che contengano parole volgari. Se impostato a False, sarà relativamente facile\n" +" aggirare i filtri di questo plugin. Tuttavia, se impostato a True, non interagirà\n" +" con altri plugin che colorano o rendono il testo grassetto." + +#: config.py:99 +msgid "" +"Determines whether the bot will kick people with\n" +" a warning when they use bad words." +msgstr "" +"Determina se il bot caccerà (kick) gli utenti con un avvertimento quando usano volgarità." + +#: config.py:102 +msgid "" +"You have been kicked for using a word\n" +" prohibited in the presence of this bot. Please use more appropriate\n" +" language in the future." +msgstr "" +"Sei stato/a cacciato/a per aver usato parole proibite in presenza del bot.\n" +" In futuro utilizza un linguaggio più appropriato." + +#: config.py:104 +msgid "" +"Determines the kick message used by the\n" +" bot when kicking users for saying bad words." +msgstr "" +"Determina il messaggio del kick utilizzato dal bot per espellere gli utenti che scrivono volgarità." + +#: plugin.py:46 +#, docstring +msgid "" +"Maintains a list of words that the bot is not allowed to say.\n" +" Can also be used to kick people that say these words, if the bot\n" +" has op." +msgstr "" +"Mantiene un elenco di parole che il bot non può dire.\n" +" Se il bot ha lo stato di operatore, può essere anche utilizzato\n" +" per cacciare (kick) utenti che scrivono queste parole." + +#: plugin.py:113 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the list of words being censored.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta l'elenco delle parole censurate.\n" +" " + +#: plugin.py:123 +msgid "I'm not currently censoring any bad words." +msgstr "Al momento non ho alcuna parola censurata." + +#: plugin.py:128 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Adds all s to the list of words being censored.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Aggiunge all'elenco di quelle da censurare.\n" +" " + +#: plugin.py:140 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Removes s from the list of words being censored.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Rimuove dall'elenco di quelle da censurare.\n" +" " + diff --git a/plugins/Config/locale/it.po b/plugins/Config/locale/it.po new file mode 100644 index 000000000..d05683704 --- /dev/null +++ b/plugins/Config/locale/it.po @@ -0,0 +1,182 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-28 12:33+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:103 +msgid "configuration variable" +msgstr "variabile di configurazione" + +#: plugin.py:109 +msgid "settable configuration variable" +msgstr "variabile di configurazione impostabile" + +#: plugin.py:136 +#, docstring +msgid "" +"\n" +"\n" +" Returns the configuration variables available under the given\n" +" configuration . If a variable has values under it, it is\n" +" preceded by an '@' sign. If a variable is a 'ChannelValue', that is,\n" +" it can be separately configured for each channel using the 'channel'\n" +" command in this plugin, it is preceded by an '#' sign.\n" +" " +msgstr "" +"\n" +"\n" +" Riporta le variabili di configurazione disponibili per il dato \n" +" di configurazione. Se una variabile ha delle sottovariabili, sarà preceduta\n" +" dal simbolo \"@\". Se una variabile è 'ChannelValue', ovvero può essere\n" +" configurata separatamente per ciascun canale tramite il comando \"channel\"\n" +" di questo plugin, sarà precedutà dal simbolo \"#\".\n" +" " + +#: plugin.py:148 +msgid "There don't seem to be any values in %s." +msgstr "Non sembra esserci alcun valore in %s." + +#: plugin.py:154 +#, docstring +msgid "" +"\n" +"\n" +" Searches for in the current configuration variables.\n" +" " +msgstr "" +"\n" +"\n" +" Cerca nelle variabili di configurazione.\n" +" " + +#: plugin.py:167 +msgid "There were no matching configuration variables." +msgstr "Non c'è nessuna variabile di configurazione corrispondente." + +#: plugin.py:174 +msgid "Global: %s; %s: %s" +msgstr "Globale: %s; %s: %s" + +#: plugin.py:185 +msgid "That registry variable has no value. Use the list command in this plugin to see what variables are available in this group." +msgstr "Questa variabile di registro non ha alcun valore. Utilizzare il comando \"list\"\n" +" in questo plugin per vedere quali variabili sono disponibili per questo gruppo." + +#: plugin.py:200 +#, docstring +msgid "" +"[] []\n" +"\n" +" If is given, sets the channel configuration variable for \n" +" to for . Otherwise, returns the current channel\n" +" configuration value of . is only necessary if the\n" +" message isn't sent in the channel itself." +msgstr "" +"[] []\n" +"\n" +" Se è fornito, imposta la variabile di configurazione \n" +" a per . Altrimenti restituisce l'attuale valore di\n" +" configurazione di . è necessario solo se il messaggio\n" +" non viene inviato nel canale stesso." + +#: plugin.py:207 +msgid "That configuration variable is not a channel-specific configuration variable." +msgstr "Questa variabile di configurazione non è specifica di un canale." + +#: plugin.py:220 +#, docstring +msgid "" +" []\n" +"\n" +" If is given, sets the value of to . Otherwise,\n" +" returns the current value of . You may omit the leading\n" +" \"supybot.\" in the name if you so choose.\n" +" " +msgstr "" +" []\n" +"\n" +" Se è fornito, imposta il valore di a . Altrimenti riporta\n" +" l'attuale valore di . È possibile omettere \"supybot.\" prima del nome.\n" +" " + +#: plugin.py:234 +#, docstring +msgid "" +"\n" +"\n" +" Returns the description of the configuration variable .\n" +" " +msgstr "" +"\n" +"\n" +" Riporta la descrizione della variabile di configurazione .\n" +" " + +#: plugin.py:242 +msgid " (Current value: %s)" +msgstr " (Valore attuale: %s)" + +#: plugin.py:245 +msgid "That configuration group exists, but seems to have no help. Try \"config list %s\" to see if it has any children values." +msgstr "Questo gruppo di configurazione esiste ma sembra non avere un help.\n" +" Provare \"config list %s\" per vedere se ha dei sottovalori." + +#: plugin.py:249 +msgid "%s has no help." +msgstr "%s non ha un help." + +#: plugin.py:254 +#, docstring +msgid "" +"\n" +"\n" +" Returns the default value of the configuration variable .\n" +" " +msgstr "" +"\n" +"\n" +" Riporta il valore predefinito della variabile di configurazione .\n" +" " + +#: plugin.py:264 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Reloads the various configuration files (user database, channel\n" +" database, registry, etc.).\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Ricarica i file di configurazione (database utenti, database canale, registro, ecc.).\n" +" " + +#: plugin.py:275 +#, docstring +msgid "" +"\n" +"\n" +" Exports the public variables of your configuration to .\n" +" If you want to show someone your configuration file, but you don't\n" +" want that person to be able to see things like passwords, etc., this\n" +" command will export a \"sanitized\" configuration file suitable for\n" +" showing publicly.\n" +" " +msgstr "" +"\n" +"\n" +" Esporta le variabili di configurazione in . Se si vuole\n" +" mostrare a qualcuno il proprio file di configurazione evitando di\n" +" rivelare dati sensibili come le password, questo comando creerà un\n" +" file \"pulito\" adatto ad essere mostrato pubblicamente.\n" +" " + diff --git a/plugins/Dict/locale/it.po b/plugins/Dict/locale/it.po index e1845f28e..2c13fa596 100644 --- a/plugins/Dict/locale/it.po +++ b/plugins/Dict/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-15 18:11+0200\n" +"PO-Revision-Date: 2011-06-28 20:21+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -96,18 +96,20 @@ msgstr "%L ha risposto: %s" #, docstring msgid "" " [ ...]\n" +"\n" " Gets a random synonym from the Moby Thesaurus (moby-thes) database.\n" -" \n" +"\n" " If given many words, gets a random synonym for each of them.\n" -" \n" +"\n" " Quote phrases to have them treated as one lookup word.\n" " " msgstr "" " [ ...]\n" +"\n" " Ricava un sinonimo casuale dal database di Moby Thesaurus (moby-thes).\n" -" \n" +"\n" " Se si sono fornite più parole, ottiene un sinonimo casuale per ognuna.\n" -" \n" +"\n" " Affinché esse vengano trattate come un'unica frase, racchiuderle tra virgolette.\n" " " diff --git a/plugins/Format/locale/it.po b/plugins/Format/locale/it.po new file mode 100644 index 000000000..bb0c18d13 --- /dev/null +++ b/plugins/Format/locale/it.po @@ -0,0 +1,248 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-29 14:11+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:43 +#, docstring +msgid "" +"\n" +"\n" +" Returns bolded.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce in grassetto.\n" +" " + +#: plugin.py:52 +#, docstring +msgid "" +"\n" +"\n" +" Returns in reverse-video.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce in negativo.\n" +" " + +#: plugin.py:61 +#, docstring +msgid "" +"\n" +"\n" +" Returns underlined.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce sottolineato.\n" +" " + +#: plugin.py:70 +#, docstring +msgid "" +" [] \n" +"\n" +" Returns with foreground color and background color\n" +" (if given)\n" +" " +msgstr "" +" [] \n" +"\n" +" Restituisce con colore e colore di fondo (se specificato)\n" +" " + +#: plugin.py:80 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Joins all the arguments together with .\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Unisce tutti gli argomenti con .\n" +" " + +#: plugin.py:89 +#, docstring +msgid "" +" \n" +"\n" +" Replaces with in\n" +" . The first and second arguments must necessarily be the same\n" +" length.\n" +" " +msgstr "" +" \n" +"\n" +" Sostituisce con in .\n" +" Il primo e il secondo argomento devono essere obbligatoriamente della stessa lunghezza.\n" +" " + +#: plugin.py:96 +msgid " must be the same length as ." +msgstr " devono essere della stessa lunghezza di ." + +#: plugin.py:103 +#, docstring +msgid "" +" \n" +"\n" +" Replaces all non-overlapping occurrences of \n" +" with in .\n" +" " +msgstr "" +" \n" +"\n" +" Sostituisce tutte le occorrenze di (a condizione\n" +" che non entrino in conflitto) con in .\n" +" " + +#: plugin.py:112 +#, docstring +msgid "" +"\n" +"\n" +" Returns uppercased.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce tutto maiuscolo.\n" +" " + +#: plugin.py:121 +#, docstring +msgid "" +"\n" +"\n" +" Returns lowercased.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce minuscolo.\n" +" " + +#: plugin.py:130 +#, docstring +msgid "" +"\n" +"\n" +" Returns capitalized.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce maiuscolo.\n" +" " + +#: plugin.py:139 +#, docstring +msgid "" +"\n" +"\n" +" Returns titlecased.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce con tutte le prime lettere delle parole in maiuscolo.\n" +" " + +#: plugin.py:148 +#, docstring +msgid "" +"\n" +"\n" +" Returns surrounded by double quotes.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce tra virgolette doppie.\n" +" " + +#: plugin.py:157 +#, docstring +msgid "" +" \n" +"\n" +" Concatenates two strings. Do keep in mind that this is *not* the same\n" +" thing as join \"\", since if contains spaces, they won't be\n" +" removed by concat.\n" +" " +msgstr "" +" \n" +"\n" +" Concatena due stringhe. Notare che non è come unire con \"\", dal momento\n" +" che se contiene spazi, questi non verranno rimossi da concat.\n" +" " + +#: plugin.py:168 +#, docstring +msgid "" +" \n" +"\n" +" Cuts down to by chopping off the rightmost characters in\n" +" excess of . If is a negative number, it chops that many\n" +" characters off the end of .\n" +" " +msgstr "" +" \n" +"\n" +" Taglia a rimuovendo i caratteri in eccesso più a\n" +" destra di . Se è un numero negativo, rimuove \n" +" i caratteri alla fine di .\n" +" " + +#: plugin.py:179 +#, docstring +msgid "" +" \n" +"\n" +" Returns the th space-separated field of . I.e., if text\n" +" is \"foo bar baz\" and is 2, \"bar\" is returned.\n" +" " +msgstr "" +" \n" +"\n" +" Riporta i campi (separati da spazi) di . Ovvero se il\n" +" testo è \"foo bar baz\" e è 2, verrà mostrato \"bar\".\n" +" " + +#: plugin.py:192 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Expands a Python-style format string using the remaining args. Just be\n" +" sure always to use %s, not %d or %f or whatever, because all the args\n" +" are strings.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Espande un formato di stringa in stile Python utilizzando gli argomenti\n" +" restanti. Assicurarsi di usare sempre %s, non %d o %f o altro, in quanto\n" +" tutti gli argomenti sono stringhe.\n" +" " + +#: plugin.py:206 +msgid "Not enough arguments for the format string." +msgstr "Argomenti non sufficienti per il formato della stringa." + diff --git a/plugins/Herald/locale/it.po b/plugins/Herald/locale/it.po new file mode 100644 index 000000000..dd5e96602 --- /dev/null +++ b/plugins/Herald/locale/it.po @@ -0,0 +1,182 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-30 02:17+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:46 +msgid "" +"Determines whether messages will be sent to the\n" +" channel when a recognized user joins; basically enables or disables the\n" +" plugin." +msgstr "" +"Determina se i messaggi verranno inviati nel canale in cui entra un utente\n" +" riconosciuto; in pratica abilita o disabilita il plugin." + +#: config.py:50 +msgid "" +"Determines what capability (if any) is required to\n" +" add/change/remove the herald of another user." +msgstr "" +"Determina quale capacità (eventuale) è richiesta per aggiungere, modificare\n" +" e rimuovere l'annuncio di un altro utente." + +#: config.py:53 +msgid "" +"Determines the minimum number of seconds\n" +" between heralds." +msgstr "" +"Determina il numero minimo di secondi tra un annuncio e l'altro." + +#: config.py:56 +msgid "" +"Determines the minimum number of seconds\n" +" after parting that the bot will not herald the person when he or she\n" +" rejoins." +msgstr "" +"Determina il numero minimo di secondi dopo l'uscita di un utente durante\n" +" i quali il bot non invierà l'annuncio alla persona al suo rientro." + +#: config.py:60 +msgid "" +"Determines the minimum number of seconds\n" +" after a netsplit that the bot will not herald the users that split." +msgstr "" +"Determina il numero minimo di secondi dopo un netsplit durante i quali\n" +" il bot non nvierà l'annuncio agli utenti coinvolti." + +#: config.py:63 +msgid "" +"Sets the default herald to use. If a user has a\n" +" personal herald specified, that will be used instead. If set to the empty\n" +" string, the default herald will be disabled." +msgstr "" +"Imposta l'annuncio predefinito da utilizzare. Se un utente ha un annuncio personalizzato,\n" +" verrà usato quello. Se impostato ad una stringa vuota, il predefinito sarà disabilitato." + +#: config.py:67 +msgid "" +"Determines whether the default herald will be\n" +" sent as a NOTICE instead of a PRIVMSG." +msgstr "" +"Determina se l'annuncio predefinito verrà inviato tramite NOTICE anziché PRIVMSG." + +#: config.py:70 +msgid "" +"Determines whether the default herald will be\n" +" sent publicly." +msgstr "" +"Determina se l'annuncio predefinito verrà inviato pubblicamente." + +#: plugin.py:143 +#, docstring +msgid "" +"[] [--remove|]\n" +"\n" +" If is given, sets the default herald to . A of \"\"\n" +" will remove the default herald. If is not given, returns the\n" +" current default herald. is only necessary if the message\n" +" isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [--remove|]\n" +"\n" +" Se è fornito, imposta l'annuncio predefinito a .\n" +" Un nella forma \"\" rimuoverà il predefinito. Se \n" +" non è specificato, restituisce l'attuale annuncio. è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:162 +msgid "I do not have a default herald set for %s." +msgstr "Non ho un annuncio predefinito per %s." + +#: plugin.py:170 +#, docstring +msgid "" +"[] []\n" +"\n" +" Returns the current herald message for (or the user\n" +" is currently identified or recognized as). If \n" +" is not given, defaults to the user giving the command. \n" +" is only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Restituisce l'attuale annuncio per (o con cui\n" +" è attualmente identificato). Se non è specificato, passa a quello\n" +" che ha dato il comando. è necessario solo se il messaggio non\n" +" viene inviato nel canale stesso.\n" +" " + +#: plugin.py:181 +msgid "I have no herald for %s." +msgstr "Non ho annunci per %s." + +#: plugin.py:201 +#, docstring +msgid "" +"[] \n" +"\n" +" Sets the herald message for (or the user is\n" +" currently identified or recognized as) to . is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Imposta l'annuncio per (o con cui è attualmente\n" +" identificato) a . è necessario solo se il messaggio\n" +" non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:214 +#, docstring +msgid "" +"[] []\n" +"\n" +" Removes the herald message set for , or the user\n" +" is currently identified or recognized as. If \n" +" is not given, defaults to the user giving the command.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Rimuove l'annuncio per o con cui è attualmente\n" +" identificato. Se non è specificato, passa a quello che ha dato il comando.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:227 +msgid "I have no herald for that user." +msgstr "Non ho annunci per questo utente." + +#: plugin.py:232 +#, docstring +msgid "" +"[] [] \n" +"\n" +" Changes the herald message for , or the user is\n" +" currently identified or recognized as, according to . If\n" +" is not given, defaults to the calling user. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [] \n" +"\n" +" Modifica l'annuncio per , o con cui è attualmente\n" +" identificato, in base a . Se non è specificato, passa a quello\n" +" che ha dato il comando. è necessario solo se il messaggio non viene\n" +" inviato nel canale stesso.\n" +" " + diff --git a/plugins/Karma/locale/it.po b/plugins/Karma/locale/it.po new file mode 100644 index 000000000..905b5a6ee --- /dev/null +++ b/plugins/Karma/locale/it.po @@ -0,0 +1,173 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-28 10:43+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:46 +msgid "" +"Determines whether the bot will output shorter\n" +" versions of the karma output when requesting a single thing's karma." +msgstr "" +"Determina se il bot mostrerà una versione più corta del karma\n" +" quando viene richiesto per un singolo oggetto." + +#: config.py:49 +msgid "" +"Determines whether the bot will reply with a\n" +" success message when something's karma is increased or decreased." +msgstr "" +"Determina se il bot risponderà con un messaggio di successo quando\n" +" viene aumentato o diminuito il karma di qualcosa." + +#: config.py:52 +msgid "" +"Determines how many highest/lowest karma things\n" +" are shown when karma is called with no arguments." +msgstr "" +"Determina quanti karma più/meno vengono mostrati quando richiamato senza argomenti.\n" + +#: config.py:55 +msgid "" +"Determines how many karma things are shown when\n" +" the most command is called." +msgstr "" +"Determina quanti karma vengono mostrati richiamando il comando \"most\"." + +#: config.py:58 +msgid "" +"Determines whether users can adjust the karma\n" +" of their nick." +msgstr "" +"Determina se gli utenti possano modificare il karma del loro nick." + +#: config.py:61 +msgid "" +"Determines whether the bot will\n" +" increase/decrease karma without being addressed." +msgstr "" +"Determina se il bot aumenterà o diminuirà il karma senza essere richiamato." + +#: plugin.py:247 plugin.py:255 +msgid "You're not allowed to adjust your own karma." +msgstr "Non ti è permesso di modificare il tuo karma." + +#: plugin.py:284 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" Returns the karma of . If is not given, returns the top\n" +" N karmas, where N is determined by the config variable\n" +" supybot.plugins.Karma.rankingDisplay. If one is given, returns\n" +" the details of its karma; if more than one is given, returns\n" +" the total karma of each of the things. is only necessary\n" +" if the message isn't sent on the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Riporta il karma di . Se non è fornito, restituisce i primi\n" +" N karma, dove N è determinato dalla variabile supybot.plugins.Karma.rankingDisplay.\n" +" Se viene specificato un , riporta i dettagli del suo karma; se ne vengono \n" +" indicati più di uno, riporta il numero totale di karma di ciascuno degli oggetti.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:297 +msgid "%s has neutral karma." +msgstr "%s ha un karma neutro." + +#: plugin.py:304 +msgid "Karma for %q has been increased %n and decreased %n for a total karma of %s." +msgstr "Il karma per %q è stato aumentato di %n e diminuito di %n per un totale di %s." + +#: plugin.py:306 plugin.py:307 +msgid "time" +msgstr "volta" + +#: plugin.py:320 +msgid "I didn't know the karma for any of those things." +msgstr "Non conosco il karma di nessuno di questi oggetti." + +#: plugin.py:330 plugin.py:359 +msgid "I have no karma for this channel." +msgstr "Non ho karma per questo canale." + +#: plugin.py:335 +msgid " You (%s) are ranked %i out of %i." +msgstr " %s, sei valutato %i su %i." + +#: plugin.py:339 +msgid "Highest karma: %L. Lowest karma: %L.%s" +msgstr "Karma più alto: %L. Karma più basso: %L.%s" + +#: plugin.py:347 +#, docstring +msgid "" +"[] {increased,decreased,active}\n" +"\n" +" Returns the most increased, the most decreased, or the most active\n" +" (the sum of increased and decreased) karma things. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] {increased,decreased,active}\n" +"\n" +" Riporta il karma maggiormente aumentato (increased), diminuito (decreased)\n" +", o più attivo (active) (la somma di aumentato e diminuito). è \n" +" necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:365 +#, docstring +msgid "" +"[] \n" +"\n" +" Resets the karma of to 0.\n" +" " +msgstr "" +"[] \n" +"\n" +" Azzera i karma di .\n" +" " + +#: plugin.py:375 +#, docstring +msgid "" +"[] \n" +"\n" +" Dumps the Karma database for to in the bot's\n" +" data directory. is only necessary if the message isn't sent\n" +" in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Esporta il database dei karma di in nella directory dei dati\n" +" del bot. è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:387 +#, docstring +msgid "" +"[] \n" +"\n" +" Loads the Karma database for from in the bot's\n" +" data directory. is only necessary if the message isn't sent\n" +" in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Carica il database dei karma di da nella directory dei dati\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + diff --git a/plugins/Later/locale/it.po b/plugins/Later/locale/it.po new file mode 100644 index 000000000..cfda95fb1 --- /dev/null +++ b/plugins/Later/locale/it.po @@ -0,0 +1,165 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-26 18:57+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:45 +msgid "" +"Determines the maximum number of\n" +" messages to be queued for a user. If this value is 0, there is no maximum.\n" +" " +msgstr "" +"Determina il numero massimo di messaggi da mettere in coda per un utente.\n" +" Se questo valore è uguale a 0, non c'è un limite massimo.\n" +" " + +#: config.py:49 +msgid "" +"Determines whether users will be notified in\n" +" the first place in which they're seen, or in private." +msgstr "" +"Determina se gli utenti riceveranno una nota nel primo luogo in cui sono visti o in privato." + +#: config.py:52 +msgid "" +"Determines whether users will be notified upon\n" +" joining any channel the bot is in, or only upon sending a message." +msgstr "" +"Determina se gli utenti riceveranno una nota entrando in qualsiasi canale\n" +" in cui è presente il bot o solo dopo aver inviato un messaggio." + +#: config.py:55 +msgid "" +"Determines the maximum number of\n" +" days that a message will remain queued for a user. After this time elapses,\n" +" the message will be deleted. If this value is 0, there is no maximum." +msgstr "" +"Determina il numero massimo di giorni che un messaggio rimarrà in coda per un utente. Allo scadere\n" +" di questo tempo il messaggio verrà cancellato. Se questo valore è uguale a 0, non c'è un limite massimo.\n" + +#: plugin.py:46 +#, docstring +msgid "" +"Used to do things later; currently, it only allows the sending of\n" +" nick-based notes. Do note (haha!) that these notes are *not* private\n" +" and don't even pretend to be; if you want such features, consider using the\n" +" Note plugin." +msgstr "" +"Utilizzato per fare cose in seguito; attualmente permette solo l'invio di note basate\n" +" sul nick. Nota (haha!) che queste note *non* sono private e non sono state progettate\n" +" per esserlo; se si vuole questa caratteristica, considerare l'utilizzo del plugin Note." + +#: plugin.py:84 +msgid "%s ago" +msgstr "%s fa" + +#: plugin.py:86 +msgid "just now" +msgstr "proprio ora" + +#: plugin.py:106 +#, docstring +msgid "" +"Validate nick according to the IRC RFC 2812 spec.\n" +"\n" +" Reference: http://tools.ietf.org/rfcmarkup?doc=2812#section-2.3.1\n" +"\n" +" Some irc clients' tab-completion feature appends 'address' characters\n" +" to nick, such as ':' or ','. We try correcting for that by trimming\n" +" a char off the end.\n" +"\n" +" If nick incorrigibly invalid, return False, otherwise,\n" +" return (possibly trimmed) nick.\n" +" " +msgstr "" +"Convalida il nick secondo la specifica IRC RFC 2812.\n" +"\n" +" Riferimento: http://tools.ietf.org/rfcmarkup?doc=2812#section-2.3.1\n" +"\n" +" Alcuni client IRC hanno l'autocompletamento del nick che aggiunge caratteri di\n" +" \"indirizzamento\" come \":\" o \",\" alla fine. Si cerca di correggere questo\n" +" comportamento tagliando un carattere al fondo.\n" +"\n" +" Se il nick non è valido restituisce False, altrimenti lo riporta (possibilmente tagliato).\n" +" " + +#: plugin.py:151 +#, docstring +msgid "" +" \n" +"\n" +" Tells the next time is in seen. can\n" +" contain wildcard characters, and the first matching nick will be\n" +" given the note.\n" +" " +msgstr "" +" \n" +"\n" +" Riferisce a la prima volta che lo vede. può contenere\n" +" caratteri jolly, il primo che corrisponde riceverà la notifica.\n" +" " + +#: plugin.py:159 +msgid "I can't send notes to myself." +msgstr "Non posso inviare note a me stesso." + +#: plugin.py:169 +msgid "That person's message queue is already full." +msgstr "La coda dei messaggi di quell'utente è già piena." + +#: plugin.py:174 +#, docstring +msgid "" +"[]\n" +"\n" +" If is given, replies with what notes are waiting on ,\n" +" otherwise, replies with the nicks that have notes waiting for them.\n" +" " +msgstr "" +"[]\n" +"\n" +" Se è fornito, risponde con le note in coda per ,\n" +" altrimenti con i nick che hanno note in coda.\n" +" " + +#: plugin.py:185 +msgid "I have no notes for that nick." +msgstr "Non ho note per quel nick." + +#: plugin.py:190 +msgid "I currently have notes waiting for %L." +msgstr "Al momento non ho note in coda per %L." + +#: plugin.py:193 +msgid "I have no notes waiting to be delivered." +msgstr "Non ho note in attesa di essere consegnate." + +#: plugin.py:198 +#, docstring +msgid "" +"\n" +"\n" +" Removes the notes waiting on .\n" +" " +msgstr "" +"\n" +"\n" +" Rimuove le note in coda per .\n" +" " + +#: plugin.py:207 +msgid "There were no notes for %r" +msgstr "Non ci sono note per %r" + +#: plugin.py:231 +msgid "Sent %s: <%s> %s" +msgstr "Inviata %s: <%s> %s" + diff --git a/plugins/Web/locale/it.po b/plugins/Web/locale/it.po new file mode 100644 index 000000000..3352d943f --- /dev/null +++ b/plugins/Web/locale/it.po @@ -0,0 +1,192 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-26 22:11+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:50 +msgid "" +"Determines whether the bot will output the\n" +" HTML title of URLs it sees in the channel." +msgstr "" +"Determina se il bot mostrerà il titolo HTML degli URL che vede in canale." + +#: config.py:53 +msgid "" +"Determines what URLs are to be snarfed and\n" +" stored in the database in the channel; URLs matching the regexp given will\n" +" not be snarfed. Give the empty string if you have no URLs that you'd like\n" +" to exclude from being snarfed." +msgstr "" +"Determina quali URL vanno intercettati e memorizzati nel database del canale;\n" +" quelli che corrispondono alla regexp fornita non verranno coinvolti.\n" +" Se non si vuole escludere alcun URL, fornire una stringa vuota.\n" + +#: config.py:60 +msgid "" +"Determines the maximum number of\n" +" bytes the bot will download via the 'fetch' command in this plugin." +msgstr "" +"Determina il numero massimo di byte che il bot scaricherà tramite il comando \"fetch\" di questo plugin." + +#: plugin.py:71 +#, docstring +msgid "Add the help for \"@help Web\" here." +msgstr "" + +#: plugin.py:114 +#, docstring +msgid "" +"\n" +"\n" +" Returns the HTTP headers of . Only HTTP urls are valid, of\n" +" course.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce gli header HTTP di . Naturalmente sono validi solo ULR HTTP.\n" +" " + +#: plugin.py:121 +msgid "%s: %s" +msgstr "%s: %s" + +#: plugin.py:131 +#, docstring +msgid "" +"\n" +"\n" +" Returns the DOCTYPE string of . Only HTTP urls are valid, of\n" +" course.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce la stringa DOCTYPE di . Naturalmente sono validi solo ULR HTTP.\n" +" " + +#: plugin.py:143 +msgid "That URL has no specified doctype." +msgstr "Questo URL non doctype specificato." + +#: plugin.py:148 +#, docstring +msgid "" +"\n" +"\n" +" Returns the Content-Length header of . Only HTTP urls are valid,\n" +" of course.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce l'header Content-Length di . Naturalmente sono validi solo ULR HTTP.\n" +" " + +#: plugin.py:157 plugin.py:162 +msgid "%u is %S long." +msgstr "%u è lungo %S." + +#: plugin.py:164 +msgid "The server didn't tell me how long %u is but it's longer than %S." +msgstr "Il server non mi ha detto quanto sia lungo %u ma è più di %S." + +#: plugin.py:173 +#, docstring +msgid "" +"\n" +"\n" +" Returns the HTML ... of a URL.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce il tag HTML ... di un URL.\n" +" " + +#: plugin.py:188 +msgid "That URL appears to have no HTML title." +msgstr "Questo URL sembra non avere un titolo HTML." + +#: plugin.py:190 +msgid "That URL appears to have no HTML title within the first %S." +msgstr "Questo URL sembra non avere un titolo HTML entro i primi %S." + +#: plugin.py:198 +#, docstring +msgid "" +"\n" +"\n" +" Returns Netcraft.com's determination of what operating system and\n" +" webserver is running on the host given.\n" +" " +msgstr "" +"\n" +"\n" +" Riporta la stima di Netcraft.com riguardo a quale sistema\n" +" operativo e server web girano sull'host richiesto.\n" +" " + +#: plugin.py:212 +msgid "No results found for %s." +msgstr "Nessun risultato trovato per %s." + +#: plugin.py:214 +msgid "The format of page the was odd." +msgstr "Il formato della pagina è strano." + +#: plugin.py:219 +#, docstring +msgid "" +"\n" +"\n" +" Returns the URL quoted form of the text.\n" +" " +msgstr "" +"\n" +"\n" +" Codifica il testo in base alla codifica URL.\n" +" " + +#: plugin.py:228 +#, docstring +msgid "" +"\n" +"\n" +" Returns the text un-URL quoted.\n" +" " +msgstr "" +"\n" +"\n" +" Decodifica il testo codificato secondo la codifica URL.\n" +" " + +#: plugin.py:238 +#, docstring +msgid "" +"\n" +"\n" +" Returns the contents of , or as much as is configured in\n" +" supybot.plugins.Web.fetch.maximum. If that configuration variable is\n" +" set to 0, this command will be effectively disabled.\n" +" " +msgstr "" +"\n" +"\n" +" Riporta il contenuto di , o tanti byte quanti sono definiti in\n" +" supybot.plugins.Web.fetch.maximum. Se questa variabile è impostata a 0,\n" +" il comando sarà disabilitato.\n" +" " + +#: plugin.py:246 +msgid "This command is disabled (supybot.plugins.Web.fetch.maximum is set to 0)." +msgstr "Questo comando è disabilitato (supybot.plugins.Web.fetch.maximum è impostata a 0)." + From ccfb0b9c6c7cbbefe3ddd5b64bf984216c856558 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 30 Jun 2011 13:30:42 +0200 Subject: [PATCH 064/244] Add sandbox/check_trans.py --- sandbox/check_trans.py | 56 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100755 sandbox/check_trans.py diff --git a/sandbox/check_trans.py b/sandbox/check_trans.py new file mode 100755 index 000000000..bb24fc106 --- /dev/null +++ b/sandbox/check_trans.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python + +import os +import sys + +def main(): + directory = sys.argv[1] + for plugin in os.listdir(directory): + if plugin[0] not in 'AZERTYUIOPQSDFGHJKLMWXCVBN': + continue + checkPlugin(os.path.join(directory, plugin)) + +def checkPlugin(pluginPath): + try: + pot = open(os.path.join(pluginPath, 'messages.pot')) + except IOError: # Does not exist + print 'WARNING: %s has no messages.pot' % pluginPath + return + localePath = os.path.join(pluginPath, 'locale') + for translation in os.listdir(localePath): + if not translation.endswith('.po'): + continue + pot.seek(0) + potPath = os.path.join(localePath, translation) + po = open(potPath) + if checkTranslation(pot, po): + print 'OK: ' + potPath + else: + print 'ERROR: ' + potPath + +def checkTranslation(pot, po): + checking = False + for potLine in pot: + if not checking and potLine.startswith('msgid'): + checking = True + while True: + poLine = po.readline() + if poLine == '': # EOF + return False + if poLine.startswith('msgid'): + if poLine == potLine: + break + else: + return False + continue + elif checking and potLine.startswith('msgstr'): + checking = False + + if checking: + poLine = po.readline() + if potLine != poLine: + return False + return True + +if __name__ == '__main__': + main() From b797c7f1dca2f5f78e7f10fb81ac342d65d2be0d Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 30 Jun 2011 13:31:45 +0200 Subject: [PATCH 065/244] BadWord & ChannelStats & Owner: update l10n-fr. --- plugins/BadWords/locale/fr.po | 9 +-- plugins/ChannelStats/locale/fr.po | 100 ++++++++++++++---------------- plugins/Owner/locale/fr.po | 42 ++++++++----- 3 files changed, 72 insertions(+), 79 deletions(-) diff --git a/plugins/BadWords/locale/fr.po b/plugins/BadWords/locale/fr.po index 101478d6b..f602542ce 100644 --- a/plugins/BadWords/locale/fr.po +++ b/plugins/BadWords/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-01-29 11:48+CET\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -13,13 +13,6 @@ msgstr "" "X-Poedit-Country: France\n" "X-Poedit-SourceCharset: ASCII\n" -#: __init__.py:30 -msgid "" -"\n" -"Filters bad words on outgoing messages from the bot, so the bot can't be made\n" -"to say bad words.\n" -msgstr "" - #: config.py:40 msgid "Would you like to add some bad words?" msgstr "Voulez-vous ajouter quelques mots interdits ?" diff --git a/plugins/ChannelStats/locale/fr.po b/plugins/ChannelStats/locale/fr.po index 9ed8d6201..e1bb71871 100644 --- a/plugins/ChannelStats/locale/fr.po +++ b/plugins/ChannelStats/locale/fr.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: supybot-i18n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-10 15:07+CEST\n" -"PO-Revision-Date: 2010-10-10 15:42+0100\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-30 13:29+0100\n" "Last-Translator: Valentin Lorentz \n" "Language-Team: French\n" "Language: fr\n" @@ -18,27 +18,40 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: config.py:57 +#: config.py:60 msgid "" "Determines whether the bot will keep channel\n" " statistics on itself, possibly skewing the channel stats (especially in\n" " cases where the bot is relaying between channels on a network)." msgstr "Détermine si le bot se prendre en compte dans les statistiques du canal, ce qui peut les fausser 'particulièrement dans le cas où le bot relaye entre des canaux)" -#: config.py:61 +#: config.py:64 msgid "" "Determines what\n" " words (i.e., pieces of text with no spaces in them) are considered\n" " 'smileys' for the purposes of stats-keeping." msgstr "Détermine quels mots (c'est à dire, les morceaux de texte sans espace) sont considérés comme smileys par les stats." -#: config.py:65 +#: config.py:68 msgid "" "Determines what words\n" " (i.e., pieces of text with no spaces in them ) are considered 'frowns' for\n" " the purposes of stats-keeping." msgstr "Détermine quels mots (c'est à dire, les morceaux de texte sans espace) sont considérés comme sadleys par les stats." +#: plugin.py:246 +msgid "" +"[] []\n" +"\n" +" Returns the statistics for on . is only\n" +" necessary if the message isn't sent on the channel itself. If \n" +" isn't given, it defaults to the user sending the command.\n" +" " +msgstr "" +"[] [nom]\n" +"\n" +" Retourne les statistiques pour sur le . n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même. Si n'est pas donné, il correspond par défaut à l'utilisateur envoyant la commande" + #: plugin.py:259 msgid "I couldn't find you in my user database." msgstr "Je ne peux vous trouver dans ma base de données." @@ -90,6 +103,21 @@ msgstr "" msgid "I have no stats for that %s in %s." msgstr "Je n'ai pas de statistiques pour %s sur %s." +#: plugin.py:304 +msgid "" +"[] \n" +"\n" +" Returns the ranking of users according to the given stat expression.\n" +" Valid variables in the stat expression include 'msgs', 'chars',\n" +" 'words', 'smileys', 'frowns', 'actions', 'joins', 'parts', 'quits',\n" +" 'kicks', 'kicked', 'topics', and 'modes'. Any simple mathematical\n" +" expression involving those variables is permitted.\n" +" " +msgstr "" +"[] \n" +"\n" +"Retourne le rang des utilisateurs en fonction de l'expression de statistiques données. Les variables valides dans l'expression de statistiques sont : 'msgs', 'chars', 'words', 'smileys', 'frowns', 'actions', 'joins', 'parts', 'quits', 'kicks', 'kicked', 'topics', et 'modes'. Toute expression mathématiques simple utilisant ces variables est autorisée." + #: plugin.py:315 msgid "There's really no reason why you should have underscores or brackets in your mathematical expression. Please remove them." msgstr "Il n'y a aucune raison pour que vous ayez des underscores ou des crochets dans vos expressions mathématiques. Veuillez les supprimer." @@ -102,6 +130,18 @@ msgstr "Vous ne pouvez utiliser lambda dans cette commande." msgid "stat variable" msgstr "Variable statistique" +#: plugin.py:349 +msgid "" +"[]\n" +"\n" +" Returns the statistics for . is only necessary if\n" +" the message isn't sent on the channel itself.\n" +" " +msgstr "" +"[canal]\n" +"\n" +"Retourne les statistiques pour le . n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." + #: plugin.py:357 msgid "On %s there %h been %i messages, containing %i characters, %n, %n, and %n; %i of those messages %s. There have been %n, %n, %n, %n, %n, and %n. There %b currently %n and the channel has peaked at %n." msgstr "Sur %s il y a eu%v %i messages, contenant %i caractères, %n, %n, et %n ; %i de ces messages %s. Il y a eu %n, %n, %n, %n, %n, et %n. Il y a%v actuellement %n et le record du canal est de %n." @@ -144,53 +184,3 @@ msgstr "utilisateur" msgid "I've never been on %s." msgstr "Je n'ai jamais été sur %s." -#~ msgid "" -#~ "[] []\n" -#~ "\n" -#~ " Returns the statistics for on . is " -#~ "only\n" -#~ " necessary if the message isn't sent on the channel itself. If " -#~ "\n" -#~ " isn't given, it defaults to the user sending the command.\n" -#~ " " -#~ msgstr "" -#~ "[] [nom]\n" -#~ "\n" -#~ " Retourne les statistiques pour sur le . n'est " -#~ "nécessaire que si le message n'est pas envoyé sur le canal lui-même. Si " -#~ " n'est pas donné, il correspond par défaut à l'utilisateur envoyant " -#~ "la commande" -#~ msgid "" -#~ "[] \n" -#~ "\n" -#~ " Returns the ranking of users according to the given stat " -#~ "expression.\n" -#~ " Valid variables in the stat expression include 'msgs', 'chars',\n" -#~ " 'words', 'smileys', 'frowns', 'actions', 'joins', 'parts', " -#~ "'quits',\n" -#~ " 'kicks', 'kicked', 'topics', and 'modes'. Any simple " -#~ "mathematical\n" -#~ " expression involving those variables is permitted.\n" -#~ " " -#~ msgstr "" -#~ "[] \n" -#~ "\n" -#~ "Retourne le rang des utilisateurs en fonction de l'expression de " -#~ "statistiques données. Les variables valides dans l'expression de " -#~ "statistiques sont : 'msgs', 'chars', 'words', 'smileys', 'frowns', " -#~ "'actions', 'joins', 'parts', 'quits', 'kicks', 'kicked', 'topics', et " -#~ "'modes'. Toute expression mathématiques simple utilisant ces variables " -#~ "est autorisée." -#~ msgid "" -#~ "[]\n" -#~ "\n" -#~ " Returns the statistics for . is only " -#~ "necessary if\n" -#~ " the message isn't sent on the channel itself.\n" -#~ " " -#~ msgstr "" -#~ "[canal]\n" -#~ "\n" -#~ "Retourne les statistiques pour le . n'est nécessaire que " -#~ "si le message n'est pas envoyé sur le canal lui-même." - diff --git a/plugins/Owner/locale/fr.po b/plugins/Owner/locale/fr.po index 87cd7cdd9..ea3500f3c 100644 --- a/plugins/Owner/locale/fr.po +++ b/plugins/Owner/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2010-10-29 14:47+CEST\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -13,7 +13,7 @@ msgstr "" "X-Poedit-Country: France\n" "X-Poedit-SourceCharset: ASCII\n" -#: plugin.py:270 +#: plugin.py:273 msgid "" "\n" "\n" @@ -25,7 +25,7 @@ msgstr "" "\n" "Log le aux logs globaux de Supybot avec une priorité critique. Utile pour marquer les fichiers de logs pour des recherches ultérieures." -#: plugin.py:280 +#: plugin.py:283 msgid "" "\n" "\n" @@ -37,7 +37,7 @@ msgstr "" "\n" "Envoie le à tous les canaux sur lesquels le bot est sans être lobotomisé." -#: plugin.py:295 +#: plugin.py:298 msgid "" "[--remove] []\n" "\n" @@ -51,7 +51,7 @@ msgstr "" "\n" "Défini le par défaut de la . Si --remove est donné, le commande par défaut actuelle est supprimée. Si aucun plugin n'est donné, retourne le plugin par défaut actuel. Voyez supybot.commands.defaultPlugins.importantPlugins pour plus d'informations." -#: plugin.py:333 +#: plugin.py:336 msgid "" "\n" "\n" @@ -62,7 +62,7 @@ msgstr "" "\n" "Envoie la chaîne directement au serveur." -#: plugin.py:347 +#: plugin.py:350 msgid "" "[]\n" "\n" @@ -75,7 +75,7 @@ msgstr "" "\n" "Fait quitter le bot avec le message de quit . Si le n'est pas donné, le message de quit par défaut (supybot.plugins.Owner.quitMsg) est utilisé. Si quitMsg est vide, votre nick sera utilisé." -#: plugin.py:363 +#: plugin.py:366 msgid "" "takes no arguments\n" "\n" @@ -87,7 +87,7 @@ msgstr "" "\n" "Lance tous les 'flushers' périodiques dans world.flushers. Ceci inclue l'écriture des logs et de la configuration sur le disque." -#: plugin.py:373 +#: plugin.py:376 msgid "" "[]\n" "\n" @@ -101,7 +101,7 @@ msgstr "" "\n" "Renvoie le 'upkeep' standard (flushes et gc.collect()). Si un niveau est donné, lance le niveau d'upkeep (actuellement, le seul niveau supporté est \"high\", ce qui fait que le bot vide beaucoup plus de cache que ce qu'il fait normalement)." -#: plugin.py:412 +#: plugin.py:415 msgid "" "[--deprecated] \n" "\n" @@ -115,7 +115,7 @@ msgstr "" "\n" "Charge le de n'importe lequel des répertoires dans conf.supybot.directories.plugins, ce qui inclue généralement le répertoire principal de l'installation, et 'plugins' dans le répertoire courrant. Utilisez --deprected si nécessaire pour charger des plugins dépréciés." -#: plugin.py:447 +#: plugin.py:450 msgid "" "\n" "\n" @@ -127,7 +127,7 @@ msgstr "" "\n" "Décharger et recharge immédiatement le ; utilisez la commande 'list' pour lister les plugins actuellement chargés." -#: plugin.py:476 +#: plugin.py:479 msgid "" "\n" "\n" @@ -140,7 +140,7 @@ msgstr "" "\n" "Décharger le ; utilisez la commande 'list' pour lister les plugins actuellement chargés. Évidemment, le plugin Owner ne peut être déchargé." -#: plugin.py:500 +#: plugin.py:503 msgid "" "{add|remove} \n" "\n" @@ -153,7 +153,7 @@ msgstr "" "\n" "Ajoute ou supprime (en fonction du premier argument) la à la liste des capacités par défaut données aux utilisateurs (stockée dans la variable de configuration supybot.capabilities)." -#: plugin.py:525 +#: plugin.py:528 msgid "" "[] \n" "\n" @@ -168,7 +168,7 @@ msgstr "" "\n" "Désactive la pour tous les utilisateurs (y compris le propriétaire. Si le est donné, ne désactive la que pour le . Si vous voulez désactiver la commande pour tous les utilisateurs sauf vous-même, définissez la capacité par défaut -plugin.command ou -command." -#: plugin.py:552 +#: plugin.py:555 msgid "" "[] \n" "\n" @@ -181,7 +181,7 @@ msgstr "" "\n" "Active la pour tous les utilisateurs. Si le est donné, ne réactive la que pour le . Cette commande est l'inverse de disable." -#: plugin.py:571 +#: plugin.py:574 msgid "" " \n" "\n" @@ -192,7 +192,7 @@ msgstr "" "\n" "Renomme la du par un ." -#: plugin.py:588 +#: plugin.py:591 msgid "" "\n" "\n" @@ -204,3 +204,13 @@ msgstr "" "\n" "Supprime tous les renommages du . Ce plugin sera rechargé après que cette commande ait été lancée." +#: plugin.py:604 +msgid "" +"takes no argument\n" +"\n" +" Reloads the locale of the bot." +msgstr "" +"ne prend pas d'argument\n" +"\n" +"Recharge la locale du bot." + From 7418e78083bbb32e25e51b62ec2f67533e820f15 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 30 Jun 2011 15:23:17 +0200 Subject: [PATCH 066/244] Relay: remove redundant nick on join/part when hostmasks enabled --- plugins/Relay/plugin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Relay/plugin.py b/plugins/Relay/plugin.py index 6fe419589..02ac1625c 100644 --- a/plugins/Relay/plugin.py +++ b/plugins/Relay/plugin.py @@ -389,7 +389,7 @@ class Relay(callbacks.Plugin): return network = self._getIrcName(irc) if self.registryValue('hostmasks', channel): - hostmask = format(' (%s)', msg.prefix) + hostmask = format(' (%s)', msg.prefix.split('!')[1]) else: hostmask = '' s = format(_('%s%s has joined on %s'), msg.nick, hostmask, network) @@ -403,7 +403,7 @@ class Relay(callbacks.Plugin): return network = self._getIrcName(irc) if self.registryValue('hostmasks', channel): - hostmask = format(' (%s)', msg.prefix) + hostmask = format(' (%s)', msg.prefix.split('!')[1]) else: hostmask = '' if len(msg.args) > 1: From 1133b8f5c056405e76e4b8f7a6034d7503e9ce5a Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 30 Jun 2011 19:06:22 +0200 Subject: [PATCH 067/244] AutoMode: fix bans. --- plugins/AutoMode/plugin.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/AutoMode/plugin.py b/plugins/AutoMode/plugin.py index 001db84f1..6a1ddc82d 100644 --- a/plugins/AutoMode/plugin.py +++ b/plugins/AutoMode/plugin.py @@ -30,6 +30,7 @@ import time +import supybot.conf as conf import supybot.ircdb as ircdb import supybot.ircmsgs as ircmsgs import supybot.ircutils as ircutils From 5eddb189b6fb38a5119ce051c1b5e7e340aa9eb9 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 30 Jun 2011 19:28:20 +0200 Subject: [PATCH 068/244] Karma: fix typo. Closes GH-38. --- plugins/Karma/locale/fi.po | 2 +- plugins/Karma/locale/fr.po | 2 +- plugins/Karma/messages.pot | 2 +- plugins/Karma/plugin.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/Karma/locale/fi.po b/plugins/Karma/locale/fi.po index 3127e99fc..4ca1021e1 100644 --- a/plugins/Karma/locale/fi.po +++ b/plugins/Karma/locale/fi.po @@ -75,7 +75,7 @@ msgid "" " N karmas, where N is determined by the config variable\n" " supybot.plugins.Karma.rankingDisplay. If one is given, returns\n" " the details of its karma; if more than one is given, returns\n" -" the total karma of each of the the things. is only necessary\n" +" the total karma of each of the things. is only necessary\n" " if the message isn't sent on the channel itself.\n" " " msgstr "" diff --git a/plugins/Karma/locale/fr.po b/plugins/Karma/locale/fr.po index 6daa8c964..6c13cc654 100644 --- a/plugins/Karma/locale/fr.po +++ b/plugins/Karma/locale/fr.po @@ -62,7 +62,7 @@ msgid "" " N karmas, where N is determined by the config variable\n" " supybot.plugins.Karma.rankingDisplay. If one is given, returns\n" " the details of its karma; if more than one is given, returns\n" -" the total karma of each of the the things. is only necessary\n" +" the total karma of each of the things. is only necessary\n" " if the message isn't sent on the channel itself.\n" " " msgstr "" diff --git a/plugins/Karma/messages.pot b/plugins/Karma/messages.pot index 19a85d552..2e2581232 100644 --- a/plugins/Karma/messages.pot +++ b/plugins/Karma/messages.pot @@ -64,7 +64,7 @@ msgid "" " N karmas, where N is determined by the config variable\n" " supybot.plugins.Karma.rankingDisplay. If one is given, returns\n" " the details of its karma; if more than one is given, returns\n" -" the total karma of each of the the things. is only necessary\n" +" the total karma of each of the things. is only necessary\n" " if the message isn't sent on the channel itself.\n" " " msgstr "" diff --git a/plugins/Karma/plugin.py b/plugins/Karma/plugin.py index dd2b4e0a6..375770619 100644 --- a/plugins/Karma/plugin.py +++ b/plugins/Karma/plugin.py @@ -287,7 +287,7 @@ class Karma(callbacks.Plugin): N karmas, where N is determined by the config variable supybot.plugins.Karma.rankingDisplay. If one is given, returns the details of its karma; if more than one is given, returns - the total karma of each of the the things. is only necessary + the total karma of each of the things. is only necessary if the message isn't sent on the channel itself. """ if len(things) == 1: From d4693ebb6982b0e134673b7fdd0f053c36a62d4d Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 1 Jul 2011 11:11:39 +0200 Subject: [PATCH 069/244] Add callback (mainly useful for plugins) for config edits. Closes GH-24. --- src/registry.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/registry.py b/src/registry.py index 2497b4390..9850ec9b0 100644 --- a/src/registry.py +++ b/src/registry.py @@ -308,6 +308,7 @@ class Value(Group): self._default = default self._showDefault = showDefault self._help = utils.str.normalizeWhitespace(help.strip()) + self._callbacks = [] if setDefault: self.setValue(default) @@ -345,6 +346,19 @@ class Value(Group): for (name, v) in self._children.items(): if v.__class__ is self.X: self.unregister(name) + # We call the callback once everything is clean + for callback, args, kwargs in self._callbacks: + callback(*args, **kwargs) + + def addCallback(self, callback, *args, **kwargs): + """Add a callback to the list. A callback is a function that will be + called when the value is changed. You can give this function as many + extra arguments as you wish, they will be passed to the callback.""" + self._callbacks.append((callback, args, kwargs)) + + def removeCallback(self, callback): + """Remove all occurences of this callbacks from the callback list.""" + self._callbacks = [x for x in self._callbacks if x[0] is not callback] def __str__(self): return repr(self()) From 41514bafdd75f739fcc61223dadd3dc5300b2636 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 1 Jul 2011 15:58:39 +0200 Subject: [PATCH 070/244] Core & Channel & Topic: Add the isGranted converter. Closes GH-39. --- plugins/Channel/plugin.py | 20 ++++++++++---------- plugins/Topic/plugin.py | 4 ++-- src/commands.py | 31 +++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 12 deletions(-) diff --git a/plugins/Channel/plugin.py b/plugins/Channel/plugin.py index f483c800b..27bba391e 100644 --- a/plugins/Channel/plugin.py +++ b/plugins/Channel/plugin.py @@ -73,7 +73,7 @@ class Channel(callbacks.Plugin): itself. """ self._sendMsg(irc, ircmsgs.mode(channel, modes)) - mode = wrap(mode, ['op', ('haveOp', _('change the mode')), many('something')]) + mode = wrap(mode, ['op', ('isGranted', _('change the mode')), many('something')]) @internationalizeDocstring def limit(self, irc, msg, args, channel, limit): @@ -99,7 +99,7 @@ class Channel(callbacks.Plugin): message isn't sent in the channel itself. """ self._sendMsg(irc, ircmsgs.mode(channel, ['+m'])) - moderate = wrap(moderate, ['op', ('haveOp', _('moderate the channel'))]) + moderate = wrap(moderate, ['op', ('isGranted', _('moderate the channel'))]) @internationalizeDocstring def unmoderate(self, irc, msg, args, channel): @@ -110,7 +110,7 @@ class Channel(callbacks.Plugin): message isn't sent in the channel itself. """ self._sendMsg(irc, ircmsgs.mode(channel, ['-m'])) - unmoderate = wrap(unmoderate, ['op', ('haveOp', + unmoderate = wrap(unmoderate, ['op', ('isGranted', _('unmoderate the channel'))]) @internationalizeDocstring @@ -127,7 +127,7 @@ class Channel(callbacks.Plugin): self._sendMsg(irc, ircmsgs.mode(channel, ['+k', key])) else: self._sendMsg(irc, ircmsgs.mode(channel, ['-k'])) - key = wrap(key, ['op', ('haveOp', _('change the keyword')), + key = wrap(key, ['op', ('isGranted', _('change the keyword')), additional('somethingWithoutSpaces', '')]) @internationalizeDocstring @@ -187,7 +187,7 @@ class Channel(callbacks.Plugin): self._sendMsgs(irc, nicks, f) else: irc.errorNoCapability(capability) - voice = wrap(voice, ['channel', ('haveOp', _('voice someone')), + voice = wrap(voice, ['channel', ('isGranted', _('voice someone')), any('nickInChannel')]) @internationalizeDocstring @@ -247,7 +247,7 @@ class Channel(callbacks.Plugin): def f(L): return ircmsgs.devoices(channel, L) self._sendMsgs(irc, nicks, f) - devoice = wrap(devoice, ['voice', ('haveOp', 'devoice someone'), + devoice = wrap(devoice, ['voice', ('isGranted', 'devoice someone'), any('nickInChannel')]) @internationalizeDocstring @@ -283,7 +283,7 @@ class Channel(callbacks.Plugin): Raise=True) for nick in nicks: self._sendMsg(irc, ircmsgs.kick(channel, nick, reason)) - kick = wrap(kick, ['op', ('haveOp', _('kick someone')), + kick = wrap(kick, ['op', ('isGranted', _('kick someone')), commalist('nickInChannel'), additional('text')]) @internationalizeDocstring @@ -361,7 +361,7 @@ class Channel(callbacks.Plugin): kban = wrap(kban, ['op', getopts({'exact':'', 'nick':'', 'user':'', 'host':''}), - ('haveOp', _('kick or ban someone')), + ('isGranted', _('kick or ban someone')), 'nickInChannel', optional('expiry', 0), additional('text')]) @@ -392,7 +392,7 @@ class Channel(callbacks.Plugin): irc.error(_('No bans matching %s were found on %s.') % (msg.prefix, channel)) unban = wrap(unban, ['op', - ('haveOp', _('unban someone')), + ('isGranted', _('unban someone')), additional('hostmask')]) @internationalizeDocstring @@ -406,7 +406,7 @@ class Channel(callbacks.Plugin): nick = nick or msg.nick self._sendMsg(irc, ircmsgs.invite(nick, channel)) self.invites[(irc.getRealIrc(), ircutils.toLower(nick))] = irc - invite = wrap(invite, ['op', ('haveOp', _('invite someone')), + invite = wrap(invite, ['op', ('isGranted', _('invite someone')), additional('nick')]) def do341(self, irc, msg): diff --git a/plugins/Topic/plugin.py b/plugins/Topic/plugin.py index 757ed3625..d3bfa1862 100644 --- a/plugins/Topic/plugin.py +++ b/plugins/Topic/plugin.py @@ -479,7 +479,7 @@ class Topic(callbacks.Plugin): irc.errorNoCapability(capabilities, Raise=True) irc.queueMsg(ircmsgs.mode(channel, '+t')) irc.noReply() - lock = wrap(lock, ['channel', ('haveOp', _('lock the topic'))]) + lock = wrap(lock, ['channel', ('isGranted', _('lock the topic'))]) @internationalizeDocstring def unlock(self, irc, msg, args, channel): @@ -493,7 +493,7 @@ class Topic(callbacks.Plugin): irc.errorNoCapability(capabilities, Raise=True) irc.queueMsg(ircmsgs.mode(channel, '-t')) irc.noReply() - unlock = wrap(unlock, ['channel', ('haveOp', _('unlock the topic'))]) + unlock = wrap(unlock, ['channel', ('isGranted', _('unlock the topic'))]) @internationalizeDocstring def restore(self, irc, msg, args, channel): diff --git a/src/commands.py b/src/commands.py index 2a2b65edd..a24b890f0 100644 --- a/src/commands.py +++ b/src/commands.py @@ -252,6 +252,22 @@ def getNetworkIrc(irc, msg, args, state, errorIfNoMatch=False): else: state.args.append(irc) +def getHaveVoice(irc, msg, args, state, action=_('do that')): + if not state.channel: + getChannel(irc, msg, args, state) + if state.channel not in irc.state.channels: + state.error(_('I\'m not even in %s.') % state.channel, Raise=True) + if not irc.state.channels[state.channel].isVoice(irc.nick): + state.error(_('I need to be voiced to %s.') % action, Raise=True) + +def getHaveHalfop(irc, msg, args, state, action=_('do that')): + if not state.channel: + getChannel(irc, msg, args, state) + if state.channel not in irc.state.channels: + state.error(_('I\'m not even in %s.') % state.channel, Raise=True) + if not irc.state.channels[state.channel].isHalfop(irc.nick): + state.error(_('I need to be halfopped to %s.') % action, Raise=True) + def getHaveOp(irc, msg, args, state, action=_('do that')): if not state.channel: getChannel(irc, msg, args, state) @@ -260,6 +276,17 @@ def getHaveOp(irc, msg, args, state, action=_('do that')): if not irc.state.channels[state.channel].isOp(irc.nick): state.error(_('I need to be opped to %s.') % action, Raise=True) +def getIsGranted(irc, msg, args, state, action=_('do that')): + if not state.channel: + getChannel(irc, msg, args, state) + if state.channel not in irc.state.channels: + state.error(_('I\'m not even in %s.') % state.channel, Raise=True) + if not irc.state.channels[state.channel].isOp(irc.nick) and \ + not irc.state.channels[state.channel].isHalfop(irc.nick): + # isOp includes owners and protected users + state.error(_('I need to be at least halfopped to %s.') % action, + Raise=True) + def validChannel(irc, msg, args, state): if irc.isChannel(args[0]): state.args.append(args.pop(0)) @@ -591,6 +618,8 @@ wrappers = ircutils.IrcDict({ 'banmask': getBanmask, 'boolean': getBoolean, 'callerInGivenChannel': callerInGivenChannel, + 'isGranted': getIsGranted, # I know this name sucks, but I can't find + # something better 'capability': getSomethingNoSpaces, 'channel': getChannel, 'channelDb': getChannelDb, @@ -605,7 +634,9 @@ wrappers = ircutils.IrcDict({ 'float': getFloat, 'glob': getGlob, 'halfop': getHalfop, + 'haveHalfop': getHaveHalfop 'haveOp': getHaveOp, + 'haveVoice': getHaveVoice 'hostmask': getHostmask, 'httpUrl': getHttpUrl, 'id': getId, From 4ebcda024bbe9db0e1514b1c18ea988871a819c5 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 1 Jul 2011 16:11:37 +0200 Subject: [PATCH 071/244] Bug fix (I didn't test the previous commit correctly) --- src/commands.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/commands.py b/src/commands.py index a24b890f0..45531d322 100644 --- a/src/commands.py +++ b/src/commands.py @@ -634,9 +634,9 @@ wrappers = ircutils.IrcDict({ 'float': getFloat, 'glob': getGlob, 'halfop': getHalfop, - 'haveHalfop': getHaveHalfop + 'haveHalfop': getHaveHalfop, 'haveOp': getHaveOp, - 'haveVoice': getHaveVoice + 'haveVoice': getHaveVoice, 'hostmask': getHostmask, 'httpUrl': getHttpUrl, 'id': getId, From 5215aa1095f9b3eb1d9838c6d3c52b00d825d451 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 1 Jul 2011 16:15:04 +0200 Subject: [PATCH 072/244] Move http server from src/utils/ to src/ --- src/{utils => }/httpserver.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{utils => }/httpserver.py (100%) diff --git a/src/utils/httpserver.py b/src/httpserver.py similarity index 100% rename from src/utils/httpserver.py rename to src/httpserver.py From 9aa32da0825fabb3a137610627299cd2b38f9ad5 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 1 Jul 2011 16:25:50 +0200 Subject: [PATCH 073/244] Fix typo in HTTP server. --- src/httpserver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/httpserver.py b/src/httpserver.py index 687c69ed5..7d700d346 100644 --- a/src/httpserver.py +++ b/src/httpserver.py @@ -53,7 +53,7 @@ if world.testing: self.RequestHandlerClass = handler self.socket = StringIO() self._notServing = Event() - self._notServer.set() + self._notServing.set() def fileno(self): return hash(self) From 3265d84a234d35dd39183dad78bc7bfac07f4f1e Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 1 Jul 2011 16:49:48 +0200 Subject: [PATCH 074/244] Bug fix with the HTTP server. --- scripts/supybot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/supybot b/scripts/supybot index 6c7688ecd..f5aa8829c 100644 --- a/scripts/supybot +++ b/scripts/supybot @@ -332,7 +332,7 @@ if __name__ == '__main__': # These may take some resources, and it does not need to be run while boot, so # we import it as late as possible (but before plugins are loaded). - import supybot.utils.httpserver as httpserver + import supybot.httpserver as httpserver owner = Owner.Class() From 6ed15bafe470708593f76011ac66ec5da9c62f3d Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 1 Jul 2011 17:07:54 +0200 Subject: [PATCH 075/244] Web: Fix use of %S converter. --- plugins/Web/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Web/plugin.py b/plugins/Web/plugin.py index ea5a60aa4..edce0efcf 100644 --- a/plugins/Web/plugin.py +++ b/plugins/Web/plugin.py @@ -154,7 +154,7 @@ class Web(callbacks.PluginRegexp): try: try: size = fd.headers['Content-Length'] - irc.reply(format(_('%u is %S long.'), url, size)) + irc.reply(format(_('%u is %S long.'), url, int(size))) except KeyError: size = conf.supybot.protocols.http.peekSize() s = fd.read(size) From 92b28a1a1cfd3bbbd5f91d89b320902b0c345405 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 2 Jul 2011 12:07:15 +0300 Subject: [PATCH 076/244] Dict: updated Finnish translation --- plugins/Dict/locale/fi.po | 14 +- plugins/Factoids/locale/fi.po | 413 ++++++++-------------------------- 2 files changed, 99 insertions(+), 328 deletions(-) diff --git a/plugins/Dict/locale/fi.po b/plugins/Dict/locale/fi.po index 76a71ebd9..b929f069e 100644 --- a/plugins/Dict/locale/fi.po +++ b/plugins/Dict/locale/fi.po @@ -1,14 +1,15 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. +# Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-17 20:36+0200\n" +"POT-Creation-Date: 2011-06-28 19:40+CEST\n" +"PO-Revision-Date: 2011-06-29 09:47+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -97,14 +98,15 @@ msgstr "%L vastasi: %s" #: plugin.py:136 msgid "" " [ ...]\n" +"\n" " Gets a random synonym from the Moby Thesaurus (moby-thes) database.\n" -" \n" +"\n" " If given many words, gets a random synonym for each of them.\n" -" \n" +"\n" " Quote phrases to have them treated as one lookup word.\n" " " msgstr "" -" [ ...]\n" +" [ ...]\n" " Hakee satunnaisen synonyymin Moby Thesaurus (moby-thes) tietokannasta.\n" " \n" " Jos monia sanoja on annettu, hakee satunnaisen synonyymin niille kaikille.\n" diff --git a/plugins/Factoids/locale/fi.po b/plugins/Factoids/locale/fi.po index dbbdd312d..0176bdf36 100644 --- a/plugins/Factoids/locale/fi.po +++ b/plugins/Factoids/locale/fi.po @@ -1,12 +1,12 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. +# Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-02-26 09:58+CET\n" -"PO-Revision-Date: 2011-06-11 20:00+0200\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-01 08:05+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -14,366 +14,135 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" -#: config.py:45 +#: plugin.py:46 msgid "" -"Value must include $value, otherwise the factoid's value would be left\n" -" out." -msgstr "" -"Arvon täytyy sisältää $arvo, muutoin factoidin arvo jätettäisiin\n" -" ulos." - -#: config.py:51 -msgid "" -"Determines what separator must be used in the\n" -" learn command. Defaults to 'as' -- learn as . Users might\n" -" feel more comfortable with 'is' or something else, so it's\n" -" configurable." -msgstr "" -"Määrittää mitä erottajaa learn komennossa täytyy käyttää.\n" -"Oletuksena 'as' -- learn as . Käyttäjistä\n" -"'is' tai jokin'is' muu voi tuntua mukavammalta, joten se on\n" -"määritettävissä." - -#: config.py:56 -msgid "" -"Determines whether the bot will reply with the\n" -" single matching factoid if only one factoid matches when using the search\n" -" command." -msgstr "" -"Määrittää vastaako botti yhdellä täsmäävällä factoidilla\n" -"jos vain yksi factoidi täsmää .\n" -"hakukomentoa käytettäessä." - -#: config.py:60 -msgid "" -"Determines whether the bot will reply to invalid\n" -" commands by searching for a factoid; basically making the whatis\n" -" unnecessary when you want all factoids for a given key." -msgstr "" -"Määrittää vastaako botti virheellisiin komentoihin etsimällä factoidia\n" -"tehden 'whatis': in tarpeettomaksi\n" -" kun tahdot etsiä kaikkia factoideja annetulla avaimella." - -#: config.py:64 -msgid "" -"If you try to look up a nonexistent factoid,\n" -" this setting make the bot try to find some possible matching keys through\n" -" several approximate matching algorithms and return a list of matching keys,\n" -" before giving up." -msgstr "" -"Jos yrität etsiä olematonta factoidia,\n" -"asetus saa botin yrittämään etsiä mahdollisesti täsmääviä avaimia läpi\n" -" muutaman tarkasti täsmäävän algoritmin kanssa ja palauttaa listan täsmääviä avaimia,\n" -" ennen luovuttamista." - -#: config.py:69 -msgid "$key could be $value." -msgstr "$key voisi olla $value." - -#: config.py:69 -msgid "" -"Determines the format of\n" -" the response given when a factoid's value is requested. All the standard\n" -" substitutes apply, in addition to \"$key\" for the factoid's key and \"$value\"\n" -" for the factoid's value." -msgstr "" -"Määrittää vastaus formaatin\n" -" jossa vastaus annetaan, kun factoidin arvoa pyydetään. Kaikki perus \n" -" korvaukset ovat voimassa, \"$key\" lisäksi factoidin avaimelle ja \"$value\"\n" -" factoidin arvolle." - -#: plugin.py:179 -msgid "" -"[] %s \n" +"takes no arguments\n" "\n" -" Associates with . is only\n" -" necessary if the message isn't sent on the channel\n" -" itself. The word '%s' is necessary to separate the\n" -" key from the value. It can be changed to another word\n" -" via the learnSeparator registry value.\n" -" " -msgstr "" -"[] %s \n" -"\n" -" Liittää . on vaadittu\n" -" vain jos viestiä ei lähetetä kanavalla itsellään.\n" -" Sana '%s'on vaadittu erottamaan\n" -" avain arvosta. Se voidaan vaihtaa eri sanaksi\n" -" learnSeparator rekisteri arvolla.\n" -" " - -#: plugin.py:199 -msgid "" -"Try to typo-match input to possible factoids.\n" -" \n" -" Assume first letter is correct, to reduce processing time. \n" -" First, try a simple wildcard search.\n" -" If that fails, use the Damerau-Levenshtein edit-distance metric.\n" +" Flips a coin and returns the result.\n" " " msgstr "" -"Yritä typo-sovittaa mahdillisten factoidien syöttämistä.\n" -" \n" -" Oletetaan ensin että ensinmäinen kirjain on oikein, vähentääksemme käsittely aikaa. \n" -" Ensin, yritä yksinkertaista villikorttihakua.\n" -" If that fails, use the Damerau-Levenshteinin editointi-etäisyys metriisi.\n" +"ei ota parametrejä\n" +"\n" +" Heittää rahan ja palauttaa tuloksen.\n" " " -#: plugin.py:257 -#: plugin.py:391 -msgid "That's not a valid number for that key." -msgstr "Se ei ole kelvollinen factoidi numero tuolle avaimelle." +#: plugin.py:51 +msgid "heads" +msgstr "kruuna" -#: plugin.py:279 -#: plugin.py:377 -#: plugin.py:604 -msgid "No factoid matches that key." -msgstr "Ei factoidi osumia tuolle avaimelle." +#: plugin.py:53 +msgid "tails" +msgstr "klaava" -#: plugin.py:304 +#: plugin.py:58 msgid "" -"[] [--raw] []\n" +"d\n" "\n" -" Looks up the value of in the factoid database. If given a\n" -" number, will return only that exact factoid. If '--raw' option is\n" -" given, no variable substitution will take place on the factoid.\n" -" is only necessary if the message isn't sent in the channel\n" -" itself.\n" +" Rolls a die with number of sides times.\n" +" For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10\n" +" ten-sided dice.\n" " " msgstr "" -"[] [--raw] []\n" +"d\n" "\n" -" Etsii arvoa factoidi tietokannasta. Jos numero on annettu,\n" -" Palauttaa vain sen tietyn factoidin. Jos '--raw' asetus\n" -" on annettu, muuttujan korvaaminen ei tapahdu factoidissa.\n" -" on vaadittu vain jos viestiä ei lähetetä kanavalla\n" -" itsellään.\n" +" Heittää noppaa sivujen lukumäärä kertaa.\n" +" Esimerkiksi, 2d6 heittää 2 kuusisivuista noppaa; 10d10 heittää 10\n" +" kymmenen-sivuista noppaa.\n" " " -#: plugin.py:321 -#: plugin.py:529 -msgid "key id" -msgstr "avain id" +#: plugin.py:66 +msgid "You can't roll more than 1000 dice." +msgstr "Et voi heittää useampaa kuin tuhatta noppaa." -#: plugin.py:339 +#: plugin.py:68 +msgid "Dice can't have more than 100 sides." +msgstr "Nopalla ei voi olla useampaa kuin sataa sivua." + +#: plugin.py:70 +msgid "Dice can't have fewer than 3 sides." +msgstr "Nopalla ei voi olla vähempää kuin kolmea sivua." + +#: plugin.py:78 +msgid "Dice must be of the form d" +msgstr "Nopan täytyy olla muodossa d." + +#: plugin.py:82 +msgid "It is possible.|Yes!|Of course.|Naturally.|Obviously.|It shall be.|The outlook is good.|It is so.|One would be wise to think so.|The answer is certainly yes." +msgstr "Se on mahdollista.|Kyllä!|Tietysti.|Luonnollisesti.|Ilmeisesti.|Olkoon niin.|Hyvät näkymät.|Se on niin.|Erään olisi viisasta ajatella niin.|Vastaus on varmasti kyllä." + +#: plugin.py:86 +msgid "In your dreams.|I doubt it very much.|No chance.|The outlook is poor.|Unlikely.|About as likely as pigs flying.|You're kidding, right?|NO!|NO.|No.|The answer is a resounding no." +msgstr "Unissasi.|Minä epäilen sitä kovasti.|Ei mahdollista.|Näkymät ovat huonot.|Epätodennäköisesti.|Yhtä toden näköisesti siat lentävät.|Kai sinä pilailet?|EI!|EI.|Ei.|Vastaus on raikuva ei." + +#: plugin.py:90 +msgid "Maybe...|No clue.|_I_ don't know.|The outlook is hazy, please ask again later.|What are you asking me for?|Come again?|You know the answer better than I.|The answer is def-- oooh! shiny thing!" +msgstr "Ehkäpä...|Ei tietoa.|_Minä_ en tiedä.|Näkymä on sotkuinen, ole hyvä ja kysy myöhemmin uudelleen.|Miksi kysyt minulta?|Tule uudelleen?|Sinä tiedät vastauksen paremmin kuin minä.|Vastaus on var-- oooh! kiiltävä esine!" + +#: plugin.py:107 msgid "" -"[] []\n" +"[]\n" "\n" -" Adds a new key for factoid associated with .\n" -" is only necessary if there's more than one factoid associated\n" -" with .\n" -"\n" -" The same action can be accomplished by using the 'learn' function with\n" -" a new key but an existing (verbatim) factoid content.\n" +" Ask a question and the answer shall be provided.\n" " " msgstr "" -"[] []\n" +"[]\n" "\n" -" Lisää uuden avaimen factoidille, joka on liitetty .\n" -" on vaadittu vain jos\n" -" on liitetty useampia kuin yksi avain.\n" -"\n" -" Sama toiminto voidaan suorittaa käyttämällä 'learn' funktioa uudella\n" -" uudella avaimella, mutta olemassao olevalla (sanatarkalla) factoidin sisällöllä.\n" +" Kysy kysymys ja vastaus annetaan.\n" " " -#: plugin.py:386 -#: plugin.py:403 -msgid "This key-factoid relationship already exists." -msgstr "Tämä avain-factoidi suhde on jo olemassa." - -#: plugin.py:394 -msgid "This key has more than one factoid associated with it, but you have not provided a number." -msgstr "Tähän avaaimeen on liitetty yksi tai useampia factoideja, mutta et ole antanut numeroa." - -#: plugin.py:409 +#: plugin.py:121 msgid "" -"[] [--plain] [--alpha] []\n" +"[spin]\n" "\n" -" Returns a list of top-ranked factoid keys, sorted by usage count\n" -" (rank). If is not provided, the default number of factoid keys\n" -" returned is set by the rankListLength registry value.\n" -"\n" -" If --plain option is given, rank numbers and usage counts are not\n" -" included in output.\n" -"\n" -" If --alpha option is given in addition to --plain, keys are sorted\n" -" alphabetically, instead of by rank.\n" -"\n" -" is only necessary if the message isn't sent in the channel\n" -" itself.\n" +" Fires the revolver. If the bullet was in the chamber, you're dead.\n" +" Tell me to spin the chambers and I will.\n" " " msgstr "" -"[] [--plain] [--alpha] []\n" +"[spin]\n" "\n" -" Palauttaa listan huippu-arvostetuista factoidi avaimista lajiteltu käyttömäärän \n" -" (rankingin) mukaan. Jos ei ole annettu, palautetaan oletusmäärä factoidi avaimia\n" -" rankListLength registry value mukaan.\n" -"\n" -" Jos --plain asetus on annettu, ranking numerot ja käyttömäärät eivät ole\n" -" mukana ulostulossa..\n" -"\n" -" Jos --alpha asetus on annettu - -plainin lisäksi järjestetään\n" -" aakkosjärjestyksessä rankingin sijaan.\n" -"\n" -" on vaadittu vain, jos viestiä ei lähetetä kanavalla \n" -" itsellään.\n" +" Ampuu revolverillä. Jos luoti oli kammiossa, olet kuollut.\n" +" Käske minun pyöräyttää kammiota ja minä teen sen.\n" " " -#: plugin.py:454 -msgid "" -"[] \n" -"\n" -" Locks the factoid(s) associated with so that they cannot be\n" -" removed or added to. is only necessary if the message isn't\n" -" sent in the channel itself.\n" -" " -msgstr "" -"[] \n" -"\n" -" Lukitsee Factoidi(t) jotta niitä ei voida muuttaa,\n" -" poistaa tai lisätä. on vaadittu vain jos viestiä ei lähetetä\n" -" kanavalta itsestään.\n" -" " +#: plugin.py:128 +msgid "*SPIN* Are you feeling lucky?" +msgstr "*Pyörähdys* Tuntuuko sinusta onnekkaalta?" -#: plugin.py:472 -msgid "" -"[] \n" -"\n" -" Unlocks the factoid(s) associated with so that they can be\n" -" removed or added to. is only necessary if the message isn't\n" -" sent in the channel itself.\n" -" " -msgstr "" -"[] \n" -"\n" -" Avaa factoidi(t), jotka on liitetty jotta niitä voidaan\n" -" poistaa tai lisätä. on vaadittu vain jos viestiä ei lähetetä\n" -" kanavalta itseltään. \n" +#: plugin.py:137 +msgid "*BANG* Hey, who put a blank in here?!" +msgstr "*PANG* Hei, kuka laittoi tuon laudan tuohon?!" -#: plugin.py:511 -msgid "" -"[] [|*]\n" -"\n" -" Removes a key-fact relationship for key from the factoids\n" -" database. If there is more than one such relationship for this key,\n" -" a number is necessary to determine which one should be removed.\n" -" A * can be used to remove all relationships for .\n" -"\n" -" If as a result, the key (factoid) remains without any relationships to\n" -" a factoid (key), it shall be removed from the database.\n" -"\n" -" is only necessary if\n" -" the message isn't sent in the channel itself.\n" -" " -msgstr "" -"[] [|*]\n" -"\n" -" Poistaa avain-factoidi suhteen factoidi tietokannasta.\n" -" Jos avaimelle on useampi kuin yksi tälläinen sude,\n" -" numeroa vaaditaan määrittämään mikä poistetaan.\n" -" * voi poistaa kaikki suhteet.\n" -"\n" -" Jos tuloksena avain, (factoidi) jää ilman suhdetta\n" -" factoidi (avain), it poistetaan tietokannasta.\n" -"\n" -" on vaadittu vain jos\n" -" viestiä ei lähetetä kanavalla itsellään.\n" -" " +#: plugin.py:139 +msgid "reloads and spins the chambers." +msgstr "latautuu ja pyöräyttää kammioita." -#: plugin.py:543 -msgid "There is no such factoid." -msgstr "Sellaista factoidia ei ole." +#: plugin.py:141 +msgid "*click*" +msgstr "*klick*" -#: plugin.py:553 -msgid "Invalid factoid number." -msgstr "Viallinen factoidi numero." - -#: plugin.py:558 -msgid "%s factoids have that key. Please specify which one to remove, or use * to designate all of them." -msgstr "%s factoilla on tuo avain. Määritä mikä poistetaan, tai käytä * epänimittääksesi ne kaikki." - -#: plugin.py:566 +#: plugin.py:148 msgid "" "[]\n" "\n" -" Returns a random factoid from the database for . \n" -" is only necessary if the message isn't sent in the channel itself.\n" +" Returns the number of consecutive lines you've sent in \n" +" without being interrupted by someone else (i.e. how long your current\n" +" 'monologue' is). is only necessary if the message isn't sent\n" +" in the channel itself.\n" " " msgstr "" -"[]\n" +"[]\n" "\n" -" Palauttaa satunnaisen factoidin tietokannasta . \n" -" on vaadittu vain, jos viestiä ei lähetetä kanavalla itsellään..\n" +" Palauttaa jatkuvan määrän rivejä, jotka olet lähettänyt \n" +" tulematta kenenkään muun keskeyttämäksi (esim. kuinka pitkä nykyinen\n" +" 'monologisi' on). on vaadittu vain jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" " " -#: plugin.py:588 -msgid "I couldn't find a factoid." -msgstr "En kyennyt löytämään factoidia." +#: plugin.py:167 +msgid "Your current monologue is at least %n long." +msgstr "Sinun nykyinen monologisi on ainakin %n pitkä." -#: plugin.py:593 -msgid "" -"[] \n" -"\n" -" Gives information about the factoid(s) associated with .\n" -" is only necessary if the message isn't sent in the channel\n" -" itself.\n" -" " -msgstr "" -"[] \n" -"\n" -" Antaa tietoja factoidi(eistä), jotka on liitetty .\n" -" on vaadittu vain, jos viesti lähetetään kanavlta itseltään.\n" -" " - -#: plugin.py:619 -msgid "#%i was added by %s at %s, and has been recalled %n" -msgstr "#%i lisättiin %s %s, ja on uudelleenkutsuttu %n" - -#: plugin.py:622 -msgid "time" -msgstr "aika" - -#: plugin.py:632 -msgid "" -"[] \n" -"\n" -" Changes the factoid # associated with according to\n" -" .\n" -" " -msgstr "" -"[] \n" -"\n" -" Vaihtaa factoidin #, joka on liitetty kanssa\n" -" mukaan..\n" -" " - -#: plugin.py:646 -msgid "I couldn't find any key %q" -msgstr "En kyennyt löytämään yhtää avain %q:ta." - -#: plugin.py:661 -msgid "" -"[] [--values] [--{regexp} ] [ ...]\n" -"\n" -" Searches the keyspace for keys matching . If --regexp is given,\n" -" it associated value is taken as a regexp and matched against the keys.\n" -" If --values is given, search the value space instead of the keyspace.\n" -" " -msgstr "" -"[] [--values] [--{regexp} ] [ ...]\n" -"\n" -" Etsii avainavaruudesta avaimia jotka täsmäävät . Jos --regexp on annettu,\n" -" se liitetään arvoon, jonka on ottanut säännöllinen lauseke ja sovitetu avaimia vastaan.\n" -" Jos --values on annettu, hakee arvoavaruudesta avainavaruuden sijasta..\n" -" " - -#: plugin.py:698 -#: plugin.py:707 -msgid "No keys matched that query." -msgstr "Mikään avain ei täsmännyt tuhon hakuun." - -#: plugin.py:703 -#: plugin.py:712 -msgid "More than 100 keys matched that query; please narrow your query." -msgstr "Enemmän kuin 100 täsmäävää avainta löydettiin tuolla hakusanalla; oe hyvä ja rajoita hakua.." +#: plugin.py:168 +msgid "line" +msgstr "rivi" From 974ee4770d1e28e2fa7e58968f83c5e68b132da7 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 2 Jul 2011 12:22:49 +0300 Subject: [PATCH 077/244] Dict: Update l10n-fi. --- plugins/Games/locale/fi.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/Games/locale/fi.po b/plugins/Games/locale/fi.po index 3d832c100..0176bdf36 100644 --- a/plugins/Games/locale/fi.po +++ b/plugins/Games/locale/fi.po @@ -1,12 +1,12 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. +# Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-20 14:04+0200\n" +"PO-Revision-Date: 2011-07-01 08:05+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -98,7 +98,7 @@ msgid "" " Tell me to spin the chambers and I will.\n" " " msgstr "" -"[pyörähdys]\n" +"[spin]\n" "\n" " Ampuu revolverillä. Jos luoti oli kammiossa, olet kuollut.\n" " Käske minun pyöräyttää kammiota ja minä teen sen.\n" @@ -114,7 +114,7 @@ msgstr "*PANG* Hei, kuka laittoi tuon laudan tuohon?!" #: plugin.py:139 msgid "reloads and spins the chambers." -msgstr "Latautuu ja pyöräyttää kammioita." +msgstr "latautuu ja pyöräyttää kammioita." #: plugin.py:141 msgid "*click*" From 8c1d10e8f3f799f25ca103ae83ae503b8d1a0e7e Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 2 Jul 2011 11:50:31 +0200 Subject: [PATCH 078/244] MoobotFactoids: Use when opening the database. --- plugins/MoobotFactoids/plugin.py | 4 ++-- src/version.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/MoobotFactoids/plugin.py b/plugins/MoobotFactoids/plugin.py index 1063c63dd..8212c8306 100644 --- a/plugins/MoobotFactoids/plugin.py +++ b/plugins/MoobotFactoids/plugin.py @@ -109,11 +109,11 @@ class SqliteMoobotDB(object): filename = plugins.makeChannelFilename(self.filename, channel) if os.path.exists(filename): - db = sqlite3.connect(filename) + db = sqlite3.connect(filename, check_same_thread=False) db.text_factory = str self.dbs[channel] = db return db - db = sqlite3.connect(filename) + db = sqlite3.connect(filename, check_same_thread=False) db.text_factory = str self.dbs[channel] = db cursor = db.cursor() diff --git a/src/version.py b/src/version.py index 40938fbc5..d21cb0a28 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-06-25T15:15:16+0200)' +version = '0.83.4.1+limnoria (2011-07-02T11:50:30+0200)' From 39b3784a12a677315c93e02b3bc216d94f7afe54 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 3 Jul 2011 10:46:48 +0200 Subject: [PATCH 079/244] First try for unit tests for the HTTP server. --- src/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.py b/src/version.py index d21cb0a28..5056eabf8 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-02T11:50:30+0200)' +version = '0.83.4.1+limnoria (2011-07-03T10:46:48+0200)' From 6ad071817875bfe69a57e04aff1c61c75477e565 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 3 Jul 2011 12:29:43 +0300 Subject: [PATCH 080/244] Games: Fix l10n-fi. --- plugins/Games/locale/fi.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Games/locale/fi.po b/plugins/Games/locale/fi.po index 0176bdf36..d80cbf27d 100644 --- a/plugins/Games/locale/fi.po +++ b/plugins/Games/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-01 08:05+0200\n" +"PO-Revision-Date: 2011-07-03 12:24+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -114,7 +114,7 @@ msgstr "*PANG* Hei, kuka laittoi tuon laudan tuohon?!" #: plugin.py:139 msgid "reloads and spins the chambers." -msgstr "latautuu ja pyöräyttää kammioita." +msgstr "lataaa ja pyöräyttää kammioita." #: plugin.py:141 msgid "*click*" From 1ab096962535d0ba5a7b4b6a5ce4529c6b524c5b Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 3 Jul 2011 13:02:06 +0300 Subject: [PATCH 081/244] Games: Fix l10n-fi. --- plugins/Games/locale/fi.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Games/locale/fi.po b/plugins/Games/locale/fi.po index d80cbf27d..773aa56bc 100644 --- a/plugins/Games/locale/fi.po +++ b/plugins/Games/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-03 12:24+0200\n" +"PO-Revision-Date: 2011-07-03 12:37+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -114,7 +114,7 @@ msgstr "*PANG* Hei, kuka laittoi tuon laudan tuohon?!" #: plugin.py:139 msgid "reloads and spins the chambers." -msgstr "lataaa ja pyöräyttää kammioita." +msgstr "lataa ja pyöräyttää kammioita." #: plugin.py:141 msgid "*click*" From f4b81659af55acc02bb0e6ce9f5b5c5c5a7dfc37 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 3 Jul 2011 16:16:19 +0200 Subject: [PATCH 082/244] Add unit tests to the HTTP server. --- src/httpserver.py | 43 ++++++------- src/test.py | 155 ++++++++++++++++++++++++++++++++++++++++++++-- src/version.py | 2 +- 3 files changed, 170 insertions(+), 30 deletions(-) diff --git a/src/httpserver.py b/src/httpserver.py index 7d700d346..bb4a4def1 100644 --- a/src/httpserver.py +++ b/src/httpserver.py @@ -36,6 +36,8 @@ from threading import Event, Thread from cStringIO import StringIO from SocketServer import ThreadingMixIn from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler +# For testing purposes +from SocketServer import StreamRequestHandler import supybot.log as log import supybot.conf as conf @@ -45,29 +47,10 @@ _ = PluginInternationalization() configGroup = conf.supybot.servers.http -if world.testing: - class TestHTTPServer(HTTPServer): - """A fake HTTP server for testing purpose.""" - def __init__(self, address, handler): - self.server_address = address - self.RequestHandlerClass = handler - self.socket = StringIO() - self._notServing = Event() - self._notServing.set() +class RequestNotHandled(Exception): + pass - def fileno(self): - return hash(self) - - def serve_forever(self, poll_interval=None): - self._notServing.clear() - self._notServing.wait() - - def shutdown(self): - self._notServing.set() - - HTTPServer = TestHTTPServer - -class SupyHTTPServer(HTTPServer): +class RealSupyHTTPServer(HTTPServer): # TODO: make this configurable timeout = 0.5 callbacks = {} @@ -82,6 +65,19 @@ class SupyHTTPServer(HTTPServer): callback.doUnhook(self) return callback +class TestSupyHTTPServer(RealSupyHTTPServer): + def __init__(self, *args, **kwargs): + pass + def serve_forever(self, *args, **kwargs): + pass + def shutdown(self, *args, **kwargs): + pass + +if world.testing: + SupyHTTPServer = TestSupyHTTPServer +else: + SupyHTTPServer = RealSupyHTTPServer + class SupyHTTPRequestHandler(BaseHTTPRequestHandler): def do_X(self, callbackMethod, *args, **kwargs): if self.path == '/': @@ -106,6 +102,8 @@ class SupyHTTPRequestHandler(BaseHTTPRequestHandler): self.do_X('doGet') def do_POST(self): + if 'Content-Type' not in self.headers: + self.headers['Content-Type'] = 'application/x-www-form-urlencoded' form = cgi.FieldStorage( fp=self.rfile, headers=self.headers, @@ -122,7 +120,6 @@ class SupyHTTPRequestHandler(BaseHTTPRequestHandler): log.info('HTTP request: %s - %s' % (self.address_string(), format % args)) - class SupyHTTPServerCallback: """This is a base class that should be overriden by any plugin that want to have a Web interface.""" diff --git a/src/test.py b/src/test.py index 99d3514d8..08fc44c8d 100644 --- a/src/test.py +++ b/src/test.py @@ -33,8 +33,11 @@ import re import sys import time import shutil +import urllib +import httplib import unittest import threading +import StringIO import supybot.log as log import supybot.i18n as i18n @@ -49,7 +52,9 @@ import supybot.ircmsgs as ircmsgs import supybot.registry as registry import supybot.ircutils as ircutils import supybot.callbacks as callbacks +import supybot.httpserver as httpserver +i18n.import_conf() network = True # This is the global list of suites that are to be run. @@ -134,8 +139,9 @@ class PluginTestCase(SupyTestCase): SupyTestCase.__init__(self, methodName=methodName) self.originals = {} - def setUp(self, nick='test'): - if self.__class__ in (PluginTestCase, ChannelPluginTestCase): + def setUp(self, nick='test', forceSetup=False): + if not forceSetup and \ + self.__class__ in (PluginTestCase, ChannelPluginTestCase): # Necessary because there's a test in here that shouldn\'t run. return SupyTestCase.setUp(self) @@ -355,7 +361,7 @@ class PluginTestCase(SupyTestCase): _noTestDoc = ('Admin', 'Channel', 'Config', 'Misc', 'Owner', 'User', 'TestPlugin') - def testDocumentation(self): + def TestDocumentation(self): if self.__class__ in (PluginTestCase, ChannelPluginTestCase): return for cb in self.irc.callbacks: @@ -371,13 +377,14 @@ class PluginTestCase(SupyTestCase): attr == callbacks.canonicalName(attr): self.failUnless(getattr(cb, attr, None).__doc__, '%s.%s has no help.' % (name, attr)) - + class ChannelPluginTestCase(PluginTestCase): channel = '#test' - def setUp(self): - if self.__class__ in (PluginTestCase, ChannelPluginTestCase): + def setUp(self, nick='test', forceSetup=False): + if not forceSetup and \ + self.__class__ in (PluginTestCase, ChannelPluginTestCase): return PluginTestCase.setUp(self) self.irc.feedMsg(ircmsgs.join(self.channel, prefix=self.prefix)) @@ -445,6 +452,142 @@ class ChannelPluginTestCase(PluginTestCase): frm = self.prefix self.irc.feedMsg(ircmsgs.privmsg(to, query, prefix=frm)) +class TestSupyHTTPServer(httpserver.SupyHTTPServer): + def __init__(self, *args, **kwargs): + pass + def serve_forever(self, *args, **kwargs): + pass + def shutdown(self, *args, **kwargs): + pass + +class TestRequestHandler(httpserver.SupyHTTPRequestHandler): + def __init__(self, rfile, wfile, *args, **kwargs): + self._headers_mode = True + self.rfile = rfile + self.wfile = wfile + self.handle_one_request() + + def send_response(self, code): + assert self._headers_mode + self._response = code + def send_headers(self, name, value): + assert self._headers_mode + self._headers[name] = value + def end_headers(self): + assert self._headers_mode + self._headers_mode = False + + def do_X(self, *args, **kwargs): + assert httpserver.httpServer is not None, \ + 'The HTTP server is not started.' + self.server = httpserver.httpServer + httpserver.SupyHTTPRequestHandler.do_X(self, *args, **kwargs) + +# Partially stolen from the standart Python library :) +def open_http(url, data=None): + """Use HTTP protocol.""" + import httplib + user_passwd = None + proxy_passwd= None + if isinstance(url, str): + host, selector = urllib.splithost(url) + if host: + user_passwd, host = urllib.splituser(host) + host = urllib.unquote(host) + realhost = host + else: + host, selector = url + # check whether the proxy contains authorization information + proxy_passwd, host = urllib.splituser(host) + # now we proceed with the url we want to obtain + urltype, rest = splittype(selector) + url = rest + user_passwd = None + if urltype.lower() != 'http': + realhost = None + else: + realhost, rest = splithost(rest) + if realhost: + user_passwd, realhost = urllib.splituser(realhost) + if user_passwd: + selector = "%s://%s%s" % (urltype, realhost, rest) + if proxy_bypass(realhost): + host = realhost + + #print "proxy via http:", host, selector + if not host: raise IOError, ('http error', 'no host given') + + if proxy_passwd: + import base64 + proxy_auth = base64.b64encode(proxy_passwd).strip() + else: + proxy_auth = None + + if user_passwd: + import base64 + auth = base64.b64encode(user_passwd).strip() + else: + auth = None + h = HTTP(host) + if data is not None: + h.putrequest('POST', selector) + h.putheader('Content-Type', 'application/x-www-form-urlencoded') + h.putheader('Content-Length', '%d' % len(data)) + else: + h.putrequest('GET', selector) + if proxy_auth: h.putheader('Proxy-Authorization', 'Basic %s' % proxy_auth) + if auth: h.putheader('Authorization', 'Basic %s' % auth) + if realhost: h.putheader('Host', realhost) + for args in urllib.URLopener().addheaders: h.putheader(*args) + h.endheaders() + return h + +class FakeHTTPConnection(httplib.HTTPConnection): + _data = '' + _headers = {} + def __init__(self, rfile, wfile): + httplib.HTTPConnection.__init__(self, 'localhost') + self.rfile = rfile + self.wfile = wfile + self.connect() + def send(self, data): + self.wfile.write(data) + #def putheader(self, name, value): + # self._headers[name] = value + #def connect(self, *args, **kwargs): + # self.sock = self.wfile + #def getresponse(self, *args, **kwargs): + # pass + +class HTTP(httplib.HTTP): + _connection_class = FakeHTTPConnection + +class HTTPPluginTestCase(PluginTestCase): + def setUp(self): + PluginTestCase.setUp(self, forceSetup=True) + + def request(self, url, method='GET', read=True, data={}): + assert url.startswith('/') + wfile = StringIO.StringIO() + rfile = StringIO.StringIO() + connection = FakeHTTPConnection(wfile, rfile) + connection.putrequest(method, url) + connection.endheaders() + rfile.seek(0) + wfile.seek(0) + handler = TestRequestHandler(rfile, wfile) + if read: + return (handler._response, wfile.read()) + else: + return handler._response + + def assertHTTPResponse(self, uri, expectedResponse, **kwargs): + response = self.request(uri, read=False, **kwargs) + self.assertEqual(response, expectedResponse) + +class ChannelHTTPPluginTestCase(ChannelPluginTestCase, HTTPPluginTestCase): + def setUp(self): + ChannelPluginTestCase.setUp(self, forceSetup=True) # vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79: diff --git a/src/version.py b/src/version.py index 5056eabf8..611b6b3d3 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-03T10:46:48+0200)' +version = '0.83.4.1+limnoria (2011-07-03T16:16:19+0200)' From 0e61cf98370765aff9e6adf9df174df11e413934 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 3 Jul 2011 17:09:53 +0200 Subject: [PATCH 083/244] Add assertNotHTTPResponse to HTTP unit tests. --- src/test.py | 4 ++++ src/version.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/test.py b/src/test.py index 08fc44c8d..f5722f093 100644 --- a/src/test.py +++ b/src/test.py @@ -585,6 +585,10 @@ class HTTPPluginTestCase(PluginTestCase): response = self.request(uri, read=False, **kwargs) self.assertEqual(response, expectedResponse) + def assertNotHTTPResponse(self, irc, expectedResponse, **kwargs): + response = self.request(uri, read=False, **kwargs) + self.assertNotEqual(response, expectedResponse) + class ChannelHTTPPluginTestCase(ChannelPluginTestCase, HTTPPluginTestCase): def setUp(self): ChannelPluginTestCase.setUp(self, forceSetup=True) diff --git a/src/version.py b/src/version.py index 611b6b3d3..56a1e893a 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-03T16:16:19+0200)' +version = '0.83.4.1+limnoria (2011-07-03T17:09:53+0200)' From afba2c2f2941ff74738c75234b7b5a3e995ff1aa Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Mon, 4 Jul 2011 13:04:04 +0300 Subject: [PATCH 084/244] MessageParser: Add l10n-fi --- plugins/MessageParser/locale/fi.po | 295 +++++++++++++++++++++++++++++ 1 file changed, 295 insertions(+) create mode 100644 plugins/MessageParser/locale/fi.po diff --git a/plugins/MessageParser/locale/fi.po b/plugins/MessageParser/locale/fi.po new file mode 100644 index 000000000..973a99d61 --- /dev/null +++ b/plugins/MessageParser/locale/fi.po @@ -0,0 +1,295 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-06-28 19:39+CEST\n" +"PO-Revision-Date: 2011-07-04 00:21+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:57 +msgid "" +"Determines whether the\n" +" message parser is enabled. If enabled, will trigger on regexps\n" +" added to the regexp db." +msgstr "" +"Määrittää onko viestikursija käytössä.\n" +" Jos käytössä aktivoituu säännöllisissä lausekkeissa, jotka on\n" +" lisätty säännöllinen lauseke tietokantaan." + +#: config.py:61 +msgid "" +"Determines whether we keep updating the usage\n" +" count for each regexp, for popularity ranking." +msgstr "" +"Määrottää pidetäänkö käyttö\n" +" count for each regexp, for popularity ranking." + +#: config.py:64 +msgid "" +"Determines the number of regexps returned\n" +" by the triggerrank command." +msgstr "" +"Määrittää palautuneiden säännöllisten lausekkeiden, jotka palautuvat\n" +" triggerrank komennolla, määrän." + +#: config.py:67 +msgid "" +"Determines the capability required (if any) to\n" +" vacuum the database." +msgstr "" +"Määrittää valtuuden (jos mikään), joka on vaadittu\n" +" tietokannan tyhjentämiseen." + +#: config.py:70 +msgid "" +"Determines the\n" +" capabilities required (if any) to manage the regexp database,\n" +" including add, remove, lock, unlock. Use 'channel,capab' for\n" +" channel-level capabilities.\n" +" Note that absence of an explicit anticapability means user has\n" +" capability." +msgstr "" +"Määrittää\n" +" valtuudet, jotka (jos mitkään) on vaadittu hallitsemaan säännöllinen lauseke tietokantaa,\n" +" sisältäen lisää, poista, lukitse, avaa. Käytä 'kanava,valtuus':ksia\n" +" kanava tason valtuuksille.\n" +" Huomaa, että jopa antivaltuuden olemassaolo tarkoittaa, että käyttäjällä on \n" +" valtuus." + +#: config.py:77 +msgid "" +"Determines the separator used between rexeps when\n" +" shown by the list command." +msgstr "" +"Määrittää erottajan, jota käytetään list komennon näyttämien\n" +" säännöllisten lausekkeiden välissä." + +#: plugin.py:75 +msgid "" +"This plugin can set regexp triggers to activate the bot.\n" +" Use 'add' command to add regexp trigger, 'remove' to remove." +msgstr "" +"Tämä lisäosa voi asettaa säännöllisiä lausekeke liipaisimia, jotka aktivoivat botin.\n" +" Käytä 'add' komentoa lisätäksesi säännöllisen lausekkeen ja 'remove' poistaaksesi säännöllisen lausekkeen." + +#: plugin.py:83 +msgid "Create the database and connect to it." +msgstr "Luo tietokanta ja yhdistä siihen." + +#: plugin.py:106 +msgid "Use this to get a database for a specific channel." +msgstr "Käytä tätä saadaksesi tietokannan tietylle kanavalle." + +#: plugin.py:129 +msgid "Run a command from message, as if command was sent over IRC." +msgstr "Suorittaa komennon viestistä, kuin jos komento olisi lähetetty IRC:een yli." + +#: plugin.py:137 +msgid "" +"Check if the user has any of the required capabilities to manage\n" +" the regexp database." +msgstr "" +"Tarkista onko käyttäjällä vaadittu oikeus säännöllisen lauseke tietokannan\n" +" muokkaamiseen." + +#: plugin.py:179 +msgid "" +"[] \n" +"\n" +" Associates with . is only\n" +" necessary if the message isn't sent on the channel\n" +" itself. Action is echoed upon regexp match, with variables $1, $2,\n" +" etc. being interpolated from the regexp match groups." +msgstr "" +"[] \n" +"\n" +" Liittää . on vain\n" +" vaadittu, jos viestiä ei lähetetä kanavalla itsellään\n" +" Toimintoa kaiutetaan säännöllisillä lausekkeilla, muuttujilla $1, $2,\n" +" esim. ollen interpoloitu säännöllisten lausekkeiden osumis ryhmistä." + +#: plugin.py:201 +msgid "Invalid python regexp: %s" +msgstr "Viallinen Python säännöllinen lauseke: %s" + +#: plugin.py:213 +msgid "That trigger is locked." +msgstr "Tuo liipaisin on lukittu." + +#: plugin.py:219 +msgid "" +"[] [--id] ]\n" +"\n" +" Removes the trigger for from the triggers database.\n" +" is only necessary if\n" +" the message isn't sent in the channel itself.\n" +" If option --id specified, will retrieve by regexp id, not content.\n" +" " +msgstr "" +"[] [--id] ]\n" +"\n" +" Poistaa lipaisimen liipaisin tietokannasta.\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla itsellään\n" +" jos viestiä ei lähetetä kanavalla itsellään.\n" +" Jos asetus --id on annettu, hakee säännöllinen lauseke id:llä, ei sisällöllä.\n" +" " + +#: plugin.py:241 +#: plugin.py:271 +#: plugin.py:294 +#: plugin.py:322 +#: plugin.py:352 +msgid "There is no such regexp trigger." +msgstr "Tuollaista säännöllinen lauseke liipaisinta ei ole." + +#: plugin.py:245 +msgid "This regexp trigger is locked." +msgstr "Tämä säännöllinen lauseke liipaisin on lukittu." + +#: plugin.py:257 +msgid "" +"[] \n" +"\n" +" Locks the so that it cannot be\n" +" removed or overwritten to. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Lukitsee , jotta sitä ei voida poistaa tai ylikirjoittaa.\n" +" on vaadittu vain, jos viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:280 +msgid "" +"[] \n" +"\n" +" Unlocks the entry associated with so that it can be\n" +" removed or overwritten. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Avaa merkinnän, joka on liitetty , jotta se voidaan\n" +" poistaa tai ylikirjoittaa. on vaadittu vain jos viestiä ei\n" +" lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:303 +msgid "" +"[] [--id] \n" +"\n" +" Looks up the value of in the triggers database.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" If option --id specified, will retrieve by regexp id, not content.\n" +" " +msgstr "" +"[] [--id] \n" +"\n" +" Etsii arvoa liipaisin tietokannassa.\n" +" on vaadittu vain, jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" Jos asetus --id on määritetty, haetaan säännöllisen lausekkeen id:n, ei sisällön perusteella\n" +" " + +#: plugin.py:332 +msgid "" +"[] [--id] \n" +"\n" +" Display information about in the triggers database.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" If option --id specified, will retrieve by regexp id, not content.\n" +" " +msgstr "" +"[] [--id] \n" +"\n" +" Näyttää tiedot liipaisin tietokannassa.\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" Jos asetus --id on annettu, hakee säännöllisen lausekkeen id:een, ei sisällön perusteella.\n" +" " + +#: plugin.py:355 +msgid "The regexp id is %d, regexp is \"%s\", and action is \"%s\". It was added by user %s on %s, has been triggered %d times, and is %s." +msgstr "Säännöllisen lausekkeen id on %d, säännöllinen lauseke on \"%s\", ja toiminto on \"%s\". Sen lisäsi %s %s:llä, on liipaistu %d kertaa, ja on %s." + +#: plugin.py:364 +msgid "locked" +msgstr "lukittu" + +#: plugin.py:364 +msgid "not locked" +msgstr "ei lukittu" + +#: plugin.py:371 +msgid "" +"[]\n" +"\n" +" Lists regexps present in the triggers database.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself. Regexp ID listed in paretheses.\n" +" " +msgstr "" +"[]\n" +"\n" +" Luettelee säännölliset lausekkeet, jotka ovat liipaisin tietokannassa kanavalla.\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla\n" +" itsellään. Säännöllinen lauseke ID on luetteloitu suluissa.\n" +" " + +#: plugin.py:384 +#: plugin.py:410 +msgid "There are no regexp triggers in the database." +msgstr "Säännöllinen lauseke tietokannassa ei ole liipaisimia." + +#: plugin.py:394 +msgid "" +"[]\n" +"\n" +" Returns a list of top-ranked regexps, sorted by usage count\n" +" (rank). The number of regexps returned is set by the\n" +" rankListLength registry value. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Palauttaa top säännölliset lausekkeet, jotka on lajiteltu käyttömäärän\n" +" (rank). Palautuneiden säännöllisten lausekkeiden lukumäärän määrittää\n" +" rankListLength rekisteriarvo. on vaadittu vain jos viestiä ei lähetetä\n" +" kanavalla itsellään.\n" +" " + +#: plugin.py:418 +msgid "" +"[]\n" +"\n" +" Vacuums the database for .\n" +" See SQLite vacuum doc here: http://www.sqlite.org/lang_vacuum.html\n" +" is only necessary if the message isn't sent in\n" +" the channel itself.\n" +" First check if user has the required capability specified in plugin\n" +" config requireVacuumCapability.\n" +" " +msgstr "" +"[]\n" +"\n" +" Tyhjentää tietokannan.\n" +" Katso SQLite tyhjennys documentaatio täältä: http://www.sqlite.org/lang_vacuum.html\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" Tarkista ensin onko käyttäjällä vaadittu valtuus, joka on määritetty\n" +" asetuksessa requireVacuumCapability.\n" +" " + From c6facc99f3f929460d9edcf3f3c477728a2e6bb3 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Wed, 6 Jul 2011 11:14:58 +0200 Subject: [PATCH 085/244] In registry.py, test whether a requested configuration variable is a channel name before creating it automatically. Closes GH-63. --- plugins/Config/test.py | 5 ++++- src/registry.py | 2 +- src/version.py | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/Config/test.py b/plugins/Config/test.py index 49130b08e..f59646683 100644 --- a/plugins/Config/test.py +++ b/plugins/Config/test.py @@ -34,7 +34,7 @@ import supybot.conf as conf class ConfigTestCase(ChannelPluginTestCase): # We add utilities so there's something in supybot.plugins. - plugins = ('Config', 'Utilities') + plugins = ('Config', 'Utilities', 'AutoMode') def testGet(self): self.assertNotRegexp('config get supybot.reply', r'registry\.Group') self.assertResponse('config supybot.protocols.irc.throttleTime', '0.0') @@ -49,6 +49,9 @@ class ConfigTestCase(ChannelPluginTestCase): def testHelp(self): self.assertError('config help alsdkfj') self.assertError('config help supybot.alsdkfj') + self.assertNotRegexp('config list supybot', '.*alsdkfj.*') + self.assertError('config help supybot.plugins.AutoMode.ban.alsdkfj') + self.assertNotRegexp('config list supybot.plugins.AutoMode.ban', '.*alsdkfj.*') self.assertNotError('config help supybot') # We tell the user to list. self.assertNotError('config help supybot.plugins') self.assertNotError('config help supybot.replies.success') diff --git a/src/registry.py b/src/registry.py index 9850ec9b0..e8a6c340b 100644 --- a/src/registry.py +++ b/src/registry.py @@ -206,7 +206,7 @@ class Group(object): def __getattr__(self, attr): if attr in self._children: return self._children[attr] - elif self._supplyDefault: + elif self._supplyDefault and attr.startswith('#'): return self.__makeChild(attr, str(self)) else: self.__nonExistentEntry(attr) diff --git a/src/version.py b/src/version.py index 56a1e893a..90ff96f6f 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-03T17:09:53+0200)' +version = '0.83.4.1+limnoria (2011-07-06T11:14:57+0200)' From 4b1d2b49e4375d91b2065f043d98d7beb81aeb8f Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Sat, 4 Sep 2010 01:25:57 -0400 Subject: [PATCH 086/244] Scheduler: don't immediately execute commands when restoring repeated events. --- plugins/Scheduler/plugin.py | 6 +++--- src/version.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/Scheduler/plugin.py b/plugins/Scheduler/plugin.py index cb4d1f657..61c58bb03 100644 --- a/plugins/Scheduler/plugin.py +++ b/plugins/Scheduler/plugin.py @@ -80,7 +80,7 @@ class Scheduler(callbacks.Plugin): event['time'], event['command'], n) elif event['type'] == 'repeat': # repeating event self._repeat(ircobj, event['msg'], name, - event['time'], event['command']) + event['time'], event['command'], False) except AssertionError, e: if str(e) == 'An event with the same name has already been scheduled.': # we must be reloading the plugin, event is still scheduled @@ -162,9 +162,9 @@ class Scheduler(callbacks.Plugin): irc.error(_('Invalid event id.')) remove = wrap(remove, ['lowered']) - def _repeat(self, irc, msg, name, seconds, command): + def _repeat(self, irc, msg, name, seconds, command, now=True): f = self._makeCommandFunction(irc, msg, command, remove=False) - id = schedule.addPeriodicEvent(f, seconds, name) + id = schedule.addPeriodicEvent(f, seconds, name, now) assert id == name self.events[name] = {'command':command, 'msg':msg, diff --git a/src/version.py b/src/version.py index 90ff96f6f..b9bdd5d06 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-06T11:14:57+0200)' +version = '0.83.4.1+limnoria (2011-07-07T13:31:50+0200)' From 48979a4db72b040e0ca518502c537e2bc6a045d3 Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Wed, 1 Sep 2010 17:37:31 -0400 Subject: [PATCH 087/244] Scheduler: remove spammy debug output. --- plugins/Scheduler/plugin.py | 3 --- src/version.py | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/plugins/Scheduler/plugin.py b/plugins/Scheduler/plugin.py index 61c58bb03..226f12e45 100644 --- a/plugins/Scheduler/plugin.py +++ b/plugins/Scheduler/plugin.py @@ -202,9 +202,6 @@ class Scheduler(callbacks.Plugin): for (i, (name, command)) in enumerate(L): L[i] = format('%s: %q', name, command['command']) irc.reply(format('%L', L)) - irc.reply(schedule.schedule.schedule) - irc.reply(schedule.schedule.events) - irc.reply(schedule.schedule.counter) else: irc.reply(_('There are currently no scheduled commands.')) list = wrap(list) diff --git a/src/version.py b/src/version.py index b9bdd5d06..ec533fe31 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-07T13:31:50+0200)' +version = '0.83.4.1+limnoria (2011-07-07T13:33:30+0200)' From 4fe1ab8fe6b79221e4f6dcac5994e83e77e6c2c0 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 00:25:24 +0300 Subject: [PATCH 088/244] Anonymous: added readme --- plugins/Anonymous/README.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/Anonymous/README.txt b/plugins/Anonymous/README.txt index d60b47a97..ddff5abdd 100644 --- a/plugins/Anonymous/README.txt +++ b/plugins/Anonymous/README.txt @@ -1 +1,4 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +Anonymous allows you to send messages anonymously as the bot. If +supybot.plugins.Anonymous.allowPrivateTarget is True, you can send messages in query too. + +One usage example is to identify the bot with NickServ if it fails to identify for some reason. From 5b42e2b193598ac15bec2d3acfdcf8d51f86fada Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 00:30:45 +0300 Subject: [PATCH 089/244] AutoMode: improved readme --- plugins/AutoMode/README.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/AutoMode/README.txt b/plugins/AutoMode/README.txt index d60b47a97..23577ec2e 100644 --- a/plugins/AutoMode/README.txt +++ b/plugins/AutoMode/README.txt @@ -1 +1,3 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin automaticly voices/halfops/ops users with #channel, capability +when they join to the channel. +It will also ban automaticly everyone who is in channel ban list ( @channel ban list ). From 339aa11f232920d088e0f4543807d0717c923709 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 00:34:08 +0300 Subject: [PATCH 090/244] ChannelLogger: improved readme --- plugins/ChannelLogger/README.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ChannelLogger/README.txt b/plugins/ChannelLogger/README.txt index d60b47a97..e6e26a540 100644 --- a/plugins/ChannelLogger/README.txt +++ b/plugins/ChannelLogger/README.txt @@ -1 +1 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin automaticly logs the channels where the bot is. From 7ccb3d2014fc63166f1a9575a41ab5583968d2cc Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 00:36:09 +0300 Subject: [PATCH 091/244] ChannelStats: improved README --- plugins/ChannelStats/README.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ChannelStats/README.txt b/plugins/ChannelStats/README.txt index d60b47a97..5c706ad4b 100644 --- a/plugins/ChannelStats/README.txt +++ b/plugins/ChannelStats/README.txt @@ -1 +1 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin keeps stats of the channel and returns them with the command ChannelStats. From caba0c458660e17ac8ed78342d26679339ec74ff Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 00:49:42 +0300 Subject: [PATCH 092/244] Ctcp: improved README --- plugins/Ctcp/README.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Ctcp/README.txt b/plugins/Ctcp/README.txt index d60b47a97..b7b5e3c1f 100644 --- a/plugins/Ctcp/README.txt +++ b/plugins/Ctcp/README.txt @@ -1 +1,2 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin gives command "@ctcp version" which returns all CTCP version responses to channel. +It also adds CTCP responses to the bot. From 3fb9316b06325fe467cb9fa06873b7d69d69d269 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 00:52:31 +0300 Subject: [PATCH 093/244] Dunno: improved README --- plugins/Dunno/README.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Dunno/README.txt b/plugins/Dunno/README.txt index d60b47a97..4bdab2367 100644 --- a/plugins/Dunno/README.txt +++ b/plugins/Dunno/README.txt @@ -1 +1,2 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin allows using of personalized error messages (Dunnos) in place of invalid command +("Error: qwertyytrewq is not a valid command") error messages. From e76c36236bd12d52e6e64159b58fcb7e60d2c7f4 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 00:54:12 +0300 Subject: [PATCH 094/244] Factoids: improved README --- plugins/Factoids/README.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Factoids/README.txt b/plugins/Factoids/README.txt index d60b47a97..e3be0e6af 100644 --- a/plugins/Factoids/README.txt +++ b/plugins/Factoids/README.txt @@ -1 +1,2 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin gives the bot ability to show factoids. It can also show information about how many times +factoid has been called. From 6831b75d728f672974a8657d28b2a2a039811522 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 8 Jul 2011 10:41:36 +0200 Subject: [PATCH 095/244] Conditional: fix typo. --- plugins/Conditional/locale/fi.po | 2 +- plugins/Conditional/locale/fr.po | 4 ++-- plugins/Conditional/messages.pot | 2 +- plugins/Conditional/plugin.py | 2 +- src/version.py | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/Conditional/locale/fi.po b/plugins/Conditional/locale/fi.po index 8fc6a2eee..bad3da841 100644 --- a/plugins/Conditional/locale/fi.po +++ b/plugins/Conditional/locale/fi.po @@ -214,7 +214,7 @@ msgid "" " \n" "\n" " Does a numeric comparison on and .\n" -" Returns true if they is greater than .\n" +" Returns true if is greater than .\n" " " msgstr "" " \n" diff --git a/plugins/Conditional/locale/fr.po b/plugins/Conditional/locale/fr.po index 02c0e97ab..ebf6820c6 100644 --- a/plugins/Conditional/locale/fr.po +++ b/plugins/Conditional/locale/fr.po @@ -1,6 +1,6 @@ msgid "" msgstr "" -"Project-Id-Version: Gribble\n" +"Project-Id-Version: Limnoria\n" "POT-Creation-Date: 2011-06-28 19:37+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" @@ -184,7 +184,7 @@ msgid "" " \n" "\n" " Does a numeric comparison on and .\n" -" Returns true if they is greater than .\n" +" Returns true if is greater than .\n" " " msgstr "" "<élément1> <élément2>\n" diff --git a/plugins/Conditional/messages.pot b/plugins/Conditional/messages.pot index 4d60086b4..256b73d00 100644 --- a/plugins/Conditional/messages.pot +++ b/plugins/Conditional/messages.pot @@ -163,7 +163,7 @@ msgid "" " \n" "\n" " Does a numeric comparison on and .\n" -" Returns true if they is greater than .\n" +" Returns true if is greater than .\n" " " msgstr "" diff --git a/plugins/Conditional/plugin.py b/plugins/Conditional/plugin.py index d3783ef50..323efdc9e 100644 --- a/plugins/Conditional/plugin.py +++ b/plugins/Conditional/plugin.py @@ -250,7 +250,7 @@ class Conditional(callbacks.Plugin): """ Does a numeric comparison on and . - Returns true if they is greater than . + Returns true if is greater than . """ if item1 > item2: irc.reply('true') diff --git a/src/version.py b/src/version.py index ec533fe31..632651323 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-07T13:33:30+0200)' +version = '0.83.4.1+limnoria (2011-07-08T10:41:36+0200)' From 18e8b08716edd988f43696a7ea595803ffd24ca6 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 13:02:31 +0300 Subject: [PATCH 096/244] Filter: created readme from plugin help. --- plugins/Filter/README.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/Filter/README.txt b/plugins/Filter/README.txt index d60b47a97..8c4b72b25 100644 --- a/plugins/Filter/README.txt +++ b/plugins/Filter/README.txt @@ -1 +1,5 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin offers several commands which transform text in some way. +It also provides the capability of using such commands to 'filter' +the output of the bot -- for instance, you could make everything the bot says be +in leetspeak, or Morse code, or any number of other kinds of filters. +Not very useful, but definitely quite fun :) From 2b2713f7002a55d93e2a1999d2ad26a5fd9ca02f Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 13:07:58 +0300 Subject: [PATCH 097/244] Format: improved README --- plugins/Format/README.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Format/README.txt b/plugins/Format/README.txt index d60b47a97..52b9c6f7c 100644 --- a/plugins/Format/README.txt +++ b/plugins/Format/README.txt @@ -1 +1,2 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin provides commands which change the output format of the bot. For example you can make +the bot to bold something. From 318d355e0f81e2531b7948fa84a713c9629c9014 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 13:13:04 +0300 Subject: [PATCH 098/244] Games: improved README. --- plugins/Games/README.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Games/README.txt b/plugins/Games/README.txt index d60b47a97..6729eb5a0 100644 --- a/plugins/Games/README.txt +++ b/plugins/Games/README.txt @@ -1 +1,2 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin provides some fun games like (Russian) roulette, 8ball, monologue which tells you +how many lines you have spoken without anyone interrupting you, coin and dice. From 553384410b80e722e74d4e2de0013f16909d5d53 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 13:15:10 +0300 Subject: [PATCH 099/244] Herald: improved README. --- plugins/Herald/README.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Herald/README.txt b/plugins/Herald/README.txt index d60b47a97..58bf9e2a5 100644 --- a/plugins/Herald/README.txt +++ b/plugins/Herald/README.txt @@ -1 +1,2 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin allows you to set welcoming messages (heralds) to people who are regognized by the bot +when they join the channel. From f5505c5dbacf523d049bb1988b49d208155a3fde Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 8 Jul 2011 13:20:23 +0300 Subject: [PATCH 100/244] Internet: improved README. --- plugins/Internet/README.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Internet/README.txt b/plugins/Internet/README.txt index d60b47a97..a267eed98 100644 --- a/plugins/Internet/README.txt +++ b/plugins/Internet/README.txt @@ -1 +1,2 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin provides commands to transform domain into IP address and IP address to domain. +It also provides command to search WHOIS information. This plugin can also return hexips. From c06b86b13cd930899655f1faf873a7a76cfb1d8c Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 9 Jul 2011 13:42:34 +0200 Subject: [PATCH 101/244] Bug fixes in src/ircmsgs.py unbans did send the repr() of the ban list, and IrcMsg.__hash__ did try to hash a list. --- src/ircmsgs.py | 5 +++-- src/version.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ircmsgs.py b/src/ircmsgs.py index 8db844c3f..86a810ead 100644 --- a/src/ircmsgs.py +++ b/src/ircmsgs.py @@ -182,7 +182,7 @@ class IrcMsg(object): return self._hash self._hash = hash(self.command) ^ \ hash(self.prefix) ^ \ - hash(self.args) + hash(repr(self.args)) return self._hash def __repr__(self): @@ -522,7 +522,8 @@ def unbans(channel, hostmasks, prefix='', msg=None): if msg and not prefix: prefix = msg.prefix return IrcMsg(prefix=prefix, command='MODE', msg=msg, - args=(channel, '-' + ('b'*len(hostmasks)), hostmasks)) + args=(channel, '-' + ('b'*len(hostmasks)), + ' '.join(hostmasks))) def kick(channel, nick, s='', prefix='', msg=None): """Returns a KICK to kick nick from channel with the message msg.""" diff --git a/src/version.py b/src/version.py index 632651323..1d3d510f6 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-08T10:41:36+0200)' +version = '0.83.4.1+limnoria (2011-07-09T13:42:34+0200)' From a4653af7929ab3b4e0ce9b2408fad874876b93e8 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 9 Jul 2011 13:43:24 +0200 Subject: [PATCH 102/244] Protector: Bug fix (demote can't use irc.queueMsg if irc is not given). --- plugins/Protector/plugin.py | 4 ++-- src/version.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/Protector/plugin.py b/plugins/Protector/plugin.py index b90e3c2de..0e2a0e6cb 100644 --- a/plugins/Protector/plugin.py +++ b/plugins/Protector/plugin.py @@ -68,7 +68,7 @@ class Protector(callbacks.Plugin): return True return False - def demote(self, channel, nick): + def demote(self, irc, channel, nick): irc.queueMsg(ircmsgs.deop(channel, nick)) def __call__(self, irc, msg): @@ -146,7 +146,7 @@ class Protector(callbacks.Plugin): irc.queueMsg(ircmsgs.invite(nick, channel)) protected.append(nick) if not self.isOp(irc, channel, msg.prefix): - self.demote(channel, msg.nick) + self.demote(irc, channel, msg.nick) Class = Protector diff --git a/src/version.py b/src/version.py index 1d3d510f6..a7445bac0 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-09T13:42:34+0200)' +version = '0.83.4.1+limnoria (2011-07-09T13:43:24+0200)' From f943fee5d50c8025dbcaa5d6ad7f3390ce99de67 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 9 Jul 2011 13:44:16 +0200 Subject: [PATCH 103/244] Protector: unban user before inviting him. Closes GH-69. --- plugins/Protector/plugin.py | 8 +++++++- src/version.py | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/Protector/plugin.py b/plugins/Protector/plugin.py index 0e2a0e6cb..5e99e5637 100644 --- a/plugins/Protector/plugin.py +++ b/plugins/Protector/plugin.py @@ -143,8 +143,14 @@ class Protector(callbacks.Plugin): if self.isProtected(irc, channel, hostmask): self.log.info('%s was kicked from %s and is protected; ' 'inviting back.', hostmask, channel) - irc.queueMsg(ircmsgs.invite(nick, channel)) + hostmask = '%s!%s' % (nick, irc.state.nickToHostmask(nick)) protected.append(nick) + bans = [] + for banmask in irc.state.channels[channel].bans: + if ircutils.hostmaskPatternEqual(banmask, hostmask): + bans.append(banmask) + irc.queueMsg(ircmsgs.unbans(channel, bans)) + irc.queueMsg(ircmsgs.invite(nick, channel)) if not self.isOp(irc, channel, msg.prefix): self.demote(irc, channel, msg.nick) diff --git a/src/version.py b/src/version.py index a7445bac0..30121aea8 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-09T13:43:24+0200)' +version = '0.83.4.1+limnoria (2011-07-09T13:44:16+0200)' From 0dfdfa2d280eb074e8d0e6265f71e4c886835237 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 9 Jul 2011 14:05:28 +0200 Subject: [PATCH 104/244] Channel: fix NameError: 'replyirc' -> 'replyIrc'. Closes GH-73. --- plugins/Channel/plugin.py | 2 +- src/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Channel/plugin.py b/plugins/Channel/plugin.py index 27bba391e..83476f908 100644 --- a/plugins/Channel/plugin.py +++ b/plugins/Channel/plugin.py @@ -438,7 +438,7 @@ class Channel(callbacks.Plugin): nick = msg.args[1] nick = ircutils.toLower(nick) replyIrc = self.invites.pop((irc, nick), None) - if replyirc is not None: + if replyIrc is not None: replyIrc.error(format('There is no %s on this server.', nick)) class lobotomy(callbacks.Commands): diff --git a/src/version.py b/src/version.py index 30121aea8..a673eec37 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-09T13:44:16+0200)' +version = '0.83.4.1+limnoria (2011-07-09T14:05:28+0200)' From a83f2c9a072e8481eb7f8e3852ab79084d77cbc9 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 10 Jul 2011 17:08:20 +0200 Subject: [PATCH 105/244] Misc: Change URL in @source. --- plugins/Misc/plugin.py | 2 +- src/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Misc/plugin.py b/plugins/Misc/plugin.py index 483098007..033eaf3ea 100644 --- a/plugins/Misc/plugin.py +++ b/plugins/Misc/plugin.py @@ -240,7 +240,7 @@ class Misc(callbacks.Plugin): Returns a URL saying where to get Supybot. """ - irc.reply(_('My source is at http://supybot.com/')) + irc.reply(_('My source is at https://github.com/ProgVal/Limnoria')) source = wrap(source) @internationalizeDocstring diff --git a/src/version.py b/src/version.py index a673eec37..00facad7e 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-09T14:05:28+0200)' +version = '0.83.4.1+limnoria (2011-07-10T17:08:19+0200)' From 6b160def9227f3750449d5bba4240bf711cdd9dc Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 10 Jul 2011 19:00:12 +0200 Subject: [PATCH 106/244] Misc: Update messages.pot and l10n-fr. --- plugins/Misc/locale/fr.po | 6 +++--- plugins/Misc/messages.pot | 4 ++-- src/version.py | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/Misc/locale/fr.po b/plugins/Misc/locale/fr.po index 304287d31..fbe78fc34 100644 --- a/plugins/Misc/locale/fr.po +++ b/plugins/Misc/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-06-06 19:05+CEST\n" +"POT-Creation-Date: 2011-07-10 18:59+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -151,8 +151,8 @@ msgstr "" "Retourne une URL disant où trouver Supybot." #: plugin.py:243 -msgid "My source is at http://supybot.com/" -msgstr "Ma source est disponible sur http://supybot.com/" +msgid "My source is at https://github.com/ProgVal/Limnoria" +msgstr "Ma source est disponible sur https://github.com/ProgVal/Limnoria" #: plugin.py:248 msgid "" diff --git a/plugins/Misc/messages.pot b/plugins/Misc/messages.pot index 0cffa4cff..8303bdf02 100644 --- a/plugins/Misc/messages.pot +++ b/plugins/Misc/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-06-06 19:05+CEST\n" +"POT-Creation-Date: 2011-07-10 18:59+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -143,7 +143,7 @@ msgid "" msgstr "" #: plugin.py:243 -msgid "My source is at http://supybot.com/" +msgid "My source is at https://github.com/ProgVal/Limnoria" msgstr "" #: plugin.py:248 diff --git a/src/version.py b/src/version.py index 00facad7e..61d6b234e 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-10T17:08:19+0200)' +version = '0.83.4.1+limnoria (2011-07-10T19:00:12+0200)' From fac7f9b3797310bdb8088b5d6c66b0135646dbd8 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Tue, 12 Jul 2011 15:04:13 +0200 Subject: [PATCH 107/244] AutoMode & Conditional & Misc & Network & Owner & Plugin & RSS & Relay & Services & String & Unix: Add l10n-it. --- plugins/AutoMode_fix/locale/it.po | 85 +++++++++ plugins/Conditional/locale/it.po | 278 ++++++++++++++++++++++++++++ plugins/Misc/locale/it.po | 296 ++++++++++++++++++++++++++++++ plugins/Network/locale/it.po | 209 +++++++++++++++++++++ plugins/Owner/locale/it.po | 262 ++++++++++++++++++++++++++ plugins/Plugin/locale/it.po | 273 +++++++++++++++++++++++++++ plugins/QuoteGrabs/locale/it.po | 211 +++++++++++++++++++++ plugins/RSS/locale/it.po | 220 ++++++++++++++++++++++ plugins/Relay/locale/it.po | 233 +++++++++++++++++++++++ plugins/Services/locale/it.po | 283 ++++++++++++++++++++++++++++ plugins/String/locale/it.po | 226 +++++++++++++++++++++++ plugins/Unix/locale/it.po | 274 +++++++++++++++++++++++++++ src/version.py | 2 +- 13 files changed, 2851 insertions(+), 1 deletion(-) create mode 100644 plugins/AutoMode_fix/locale/it.po create mode 100644 plugins/Conditional/locale/it.po create mode 100644 plugins/Misc/locale/it.po create mode 100644 plugins/Network/locale/it.po create mode 100644 plugins/Owner/locale/it.po create mode 100644 plugins/Plugin/locale/it.po create mode 100644 plugins/QuoteGrabs/locale/it.po create mode 100644 plugins/RSS/locale/it.po create mode 100644 plugins/Relay/locale/it.po create mode 100644 plugins/Services/locale/it.po create mode 100644 plugins/String/locale/it.po create mode 100644 plugins/Unix/locale/it.po diff --git a/plugins/AutoMode_fix/locale/it.po b/plugins/AutoMode_fix/locale/it.po new file mode 100644 index 000000000..d9ec7bafa --- /dev/null +++ b/plugins/AutoMode_fix/locale/it.po @@ -0,0 +1,85 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-27 18:15+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:46 +msgid "" +"Determines whether this plugin is enabled.\n" +" " +msgstr "" +"Determina se il plugin è abilitato.\n" +" " + +#: config.py:49 +msgid "" +"Determines whether this plugin will automode\n" +" owners even if they don't have op/halfop/voice/whatever capability.." +msgstr "" +"Determina se il plugin darà automaticamente il mode ai proprietari.\n" +" anche se non hanno la capacità op, halfop, voice, ecc..." + +#: 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 "" +"Determina se il the bot non darà l'halfop o il voice\n" +" quando l'op automatico è disabilitato ma l'halfop o il voice\n" +" automatico sono attivati." + +#: config.py:56 +msgid "" +"Determines whether the bot will automatically\n" +" op people with the ,op capability when they join the channel.\n" +" " +msgstr "" +"Determina se il bot darà automaticamente l'op agli utenti che hanno\n" +" la capacità ,op quando entrano in canale.\n" +" " + +#: config.py:60 +msgid "" +"Determines whether the bot will automatically\n" +" halfop people with the ,halfop capability when they join the\n" +" channel." +msgstr "" +"Determina se il bot darà automaticamente l'halfop agli utenti che hanno\n" +" la capacità ,halfop quando entrano in canale.\n" +" " + +#: config.py:64 +msgid "" +"Determines whether the bot will automatically\n" +" voice people with the ,voice capability when they join the\n" +" channel." +msgstr "" +"Determina se il bot darà automaticamente il voice agli utenti che hanno\n" +" la capacità ,voice quando entrano in canale.\n" +" " + +#: config.py:68 +msgid "" +"Determines whether the bot will automatically\n" +" ban people who join the channel and are on the banlist." +msgstr "" +"Determina se il bot bannerà automaticamente gli utenti che \n" +" entrano in canale e sono nella lista dei ban.\n" +" " + +#: config.py:71 +msgid "" +"Determines how many seconds the bot\n" +" will automatically ban a person when banning." +msgstr "" +"Determina quanti secondi durerà il ban quando il bot lo applica a una persona." + diff --git a/plugins/Conditional/locale/it.po b/plugins/Conditional/locale/it.po new file mode 100644 index 000000000..355d9f421 --- /dev/null +++ b/plugins/Conditional/locale/it.po @@ -0,0 +1,278 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-08 09:05+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:64 +#, docstring +msgid "" +"Add the help for \"@plugin help Conditional\" here\n" +" This should describe *how* to use this plugin." +msgstr "" + +#: plugin.py:71 +#, docstring +msgid "Run a command from message, as if command was sent over IRC." +msgstr "" + +#: plugin.py:80 +#, docstring +msgid "" +" \n" +"\n" +" Runs if evaluates to true, runs \n" +" if it evaluates to false.\n" +"\n" +" Use other logical operators defined in this plugin and command nesting\n" +" to your advantage here.\n" +" " +msgstr "" +" \n" +"\n" +" Esegue se analizzata è vera, esegue se falsa.\n" +"\n" +" Utilizzare gli altri operatori logici presenti in questo plugin e i comandi nidificati a proprio vantaggio.\n" +" " + +#: plugin.py:97 +#, docstring +msgid "" +" [ ... ]\n" +"\n" +" Returns true if all conditions supplied evaluate to true.\n" +" " +msgstr "" +" [ ... ]\n" +"\n" +" Restituisce True se tutte le condizioni fornite sono vere.\n" +" " + +#: plugin.py:109 +#, docstring +msgid "" +" [ ... ]\n" +"\n" +" Returns true if any one of conditions supplied evaluates to true.\n" +" " +msgstr "" +" [ ... ]\n" +"\n" +" Restituisce True se almeno una delle condizioni fornite è vera.\n" +" " + +#: plugin.py:121 +#, docstring +msgid "" +" [ ... ]\n" +"\n" +" Returns true if only one of conditions supplied evaluates to true.\n" +" " +msgstr "" +" [ ... ]\n" +"\n" +" Restituisce True se solo una delle condizioni fornite è vera.\n" +" " + +#: plugin.py:133 +#, docstring +msgid "" +" \n" +"\n" +" Does a string comparison on and .\n" +" Returns true if they are equal.\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione di stringhe tra ed .\n" +" Restituisce True se sono uguali.\n" +" " + +#: plugin.py:146 +#, docstring +msgid "" +" \n" +"\n" +" Does a string comparison on and .\n" +" Returns true if they are not equal.\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione di stringhe tra ed .\n" +" Restituisce True se non sono uguali.\n" +" " + +#: plugin.py:159 +#, docstring +msgid "" +" \n" +"\n" +" Does a string comparison on and .\n" +" Returns true if is greater than .\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione di stringhe tra ed .\n" +" Restituisce True se è maggiore di .\n" +" " + +#: plugin.py:172 +#, docstring +msgid "" +" \n" +"\n" +" Does a string comparison on and .\n" +" Returns true if is greater than or equal to .\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione di stringhe tra ed .\n" +" Restituisce True se è maggiore o uguale a .\n" +" " + +#: plugin.py:185 +#, docstring +msgid "" +" \n" +"\n" +" Does a string comparison on and .\n" +" Returns true if is less than .\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione di stringhe tra ed .\n" +" Restituisce True se è minore di .\n" +" " + +#: plugin.py:198 +#, docstring +msgid "" +" \n" +"\n" +" Does a string comparison on and .\n" +" Returns true if is less than or equal to .\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione di stringhe tra ed .\n" +" Restituisce True se è minore o uguale a .\n" +" " + +#: plugin.py:211 +#, docstring +msgid "" +" \n" +"\n" +" Determines if is a substring of .\n" +" Returns true if is contained in .\n" +" " +msgstr "" +" \n" +"\n" +" Determina se è una sottostringa di .\n" +" Restituisce True se è contenuto in .\n" +" " + +#: plugin.py:224 +#, docstring +msgid "" +" \n" +"\n" +" Does a numeric comparison on and .\n" +" Returns true if they are equal.\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione numerica tra ed .\n" +" Restituisce True se sono uguali.\n" +" " + +#: plugin.py:237 +#, docstring +msgid "" +" \n" +"\n" +" Does a numeric comparison on and .\n" +" Returns true if they are not equal.\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione numerica tra ed .\n" +" Restituisce True se non sono uguali.\n" +" " + +#: plugin.py:250 +#, docstring +msgid "" +" \n" +"\n" +" Does a numeric comparison on and .\n" +" Returns true if is greater than .\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione numerica tra ed .\n" +" Restituisce True se è maggiore di .\n" +" " + +#: plugin.py:263 +#, docstring +msgid "" +" \n" +"\n" +" Does a numeric comparison on and .\n" +" Returns true if is greater than or equal to .\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione numerica tra ed .\n" +" Restituisce True se è maggiore o uguale a .\n" +" " + +#: plugin.py:276 +#, docstring +msgid "" +" \n" +"\n" +" Does a numeric comparison on and .\n" +" Returns true if is less than .\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione numerica tra ed .\n" +" Restituisce True se è minore di .\n" +" " + +#: plugin.py:289 +#, docstring +msgid "" +" \n" +"\n" +" Does a numeric comparison on and .\n" +" Returns true if is less than or equal to .\n" +" " +msgstr "" +" \n" +"\n" +" Effettua una comparazione numerica tra ed .\n" +" Restituisce True se è minore o uguale a .\n" +" " + diff --git a/plugins/Misc/locale/it.po b/plugins/Misc/locale/it.po new file mode 100644 index 000000000..bac13bbaa --- /dev/null +++ b/plugins/Misc/locale/it.po @@ -0,0 +1,296 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-10 16:55+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:45 +msgid "" +"Determines whether the bot will list private\n" +" plugins with the list command if given the --private switch. If this is\n" +" disabled, non-owner users should be unable to see what private plugins\n" +" are loaded." +msgstr "" +"Determina se il bot elencherà i plugin privati con il comando \"list\" se usato\n" +" con l'opzione --private. Se questa variabile è disattivata, gli utenti non\n" +" proprietari (owner) potranno vedere quali plugin privati sono caricati." + +#: config.py:50 +msgid "" +"Determines the format string for\n" +" timestamps in the Misc.last command. Refer to the Python documentation\n" +" for the time module to see what formats are accepted. If you set this\n" +" variable to the empty string, the timestamp will not be shown." +msgstr "" +"Determina il formato per i timestamp del comando Misc.last. Per sapere quali sono\n" +" i formati validi fare riferimento alla documentazione di Python per il modulo time.\n" +" Se si assegna una stringa vuota a questa variabile, il timestamp non verrà mostrato." + +#: config.py:57 +msgid "" +"Determines whether or not\n" +" the timestamp will be included in the output of last when it is part of a\n" +" nested command." +msgstr "" +"Determina se il timestamp verrà incluso o meno nell'output di \"last\" quando fa parte di un comando nidificato." + +#: config.py:61 +msgid "" +"Determines whether or not the\n" +" nick will be included in the output of last when it is part of a nested\n" +" command" +msgstr "" +"Determines se il nick verrà incluso o meno nell'output di \"last\" quando fa parte di un comando nidificato." + +#: plugin.py:81 +msgid "You've given me %s invalid commands within the last minute; I'm now ignoring you for %s." +msgstr "Mi hai fornito %s comandi non validi entro l'ultimo minuto; ti ignoro per %s." + +#: plugin.py:93 +msgid "The %q plugin is loaded, but there is no command named %q in it. Try \"list %s\" to see the commands in the %q plugin." +msgstr "Il plugin %q è caricato ma in esso non c'è nessun comando chiamato %q. Prova \"list %s\" per vedere i comandi disponibili nel plugin %q." + +#: plugin.py:119 +#, docstring +msgid "" +"[--private] []\n" +"\n" +" Lists the commands available in the given plugin. If no plugin is\n" +" given, lists the public plugins available. If --private is given,\n" +" lists the private plugins.\n" +" " +msgstr "" +"[--private] []\n" +"\n" +" Elenca i comandi disponibili nel dato plugin. Se nessun plugin è specificato,\n" +" riporta l'elenco di quelli pubblici. Se viene usato --private mostra quelli privati.\n" +" " + +#: plugin.py:144 +msgid "There are no private plugins." +msgstr "Non ci sono plugin privati." + +#: plugin.py:146 +msgid "There are no public plugins." +msgstr "Non ci sono plugin pubblici." + +#: plugin.py:153 +msgid "That plugin exists, but has no commands. This probably means that it has some configuration variables that can be changed in order to modify its behavior. Try \"config list supybot.plugins.%s\" to see what configuration variables it has." +msgstr "" +"Il plugin esiste ma non ha comandi. Ciò probabilmente significa che ha delle variabili\n" +" di configurazione modificabili che cambiano il suo comportamento. Prova\n" +" \"config list supybot.plugins.%s\" per vedere quali variabili sono disponibili." + +#: plugin.py:164 +#, docstring +msgid "" +"\n" +"\n" +" Searches for in the commands currently offered by the bot,\n" +" returning a list of the commands containing that string.\n" +" " +msgstr "" +"\n" +"\n" +" Cerca nei comandi attualmente forniti dal bot,\n" +" riportando un elenco di quelli che contengono la stringa.\n" +" " + +#: plugin.py:183 +msgid "No appropriate commands were found." +msgstr "Non è stato trovato alcun comando appropriato." + +#: plugin.py:188 +#, docstring +msgid "" +"[] []\n" +"\n" +" This command gives a useful description of what does.\n" +" is only necessary if the command is in more than one plugin.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Fornisce un'utile descrizione di cosa fa . è\n" +" necessario solo se il comando è presente in più di un plugin.\n" +" " + +#: plugin.py:198 +msgid "That command exists in the %L plugins. Please specify exactly which plugin command you want help with." +msgstr "Questo comando esiste nei plugin %L. Si prega di specificare per quale si vuole aiuto." + +#: plugin.py:205 +msgid "There is no command %q." +msgstr "Non c'è nessun comando %q." + +#: plugin.py:211 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the version of the current bot.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta la versione attuale del bot.\n" +" " + +#: plugin.py:225 +msgid "The newest versions available online are %s." +msgstr "Le versioni online più recenti sono %s." + +#: plugin.py:226 +msgid "%s (in %s)" +msgstr "%s (in %s)" + +#: plugin.py:230 +msgid "I couldn't fetch the newest version from the Limnoria repository." +msgstr "Non riesco a recuperare la versione più recente dal repository di Limnoria." + +#: plugin.py:232 +msgid "The current (running) version of this Supybot is %s. %s" +msgstr "La versione di questo Supybot è %s. %s" + +#: plugin.py:239 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns a URL saying where to get Supybot.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta un URL che dice dove ottenere Supybot.\n" +" " + +#: plugin.py:243 +msgid "My source is at https://github.com/ProgVal/Limnoria" +msgstr "I miei sorgenti sono disponibili all'indirizzo https://github.com/ProgVal/Limnoria" + +#: plugin.py:248 +#, docstring +msgid "" +"[]\n" +"\n" +" If the last command was truncated due to IRC message length\n" +" limitations, returns the next chunk of the result of the last command.\n" +" If is given, it takes the continuation of the last command from\n" +" instead of the person sending this message.\n" +" " +msgstr "" +"[]\n" +"\n" +" Se l'ultimo comando è stato troncato a causa di limitazioni della lunghezza\n" +" dei messaggi IRC, riporta il pezzo successivo dell'output del comando.\n" +" Se è specificato, continua l'ultimo messaggio di anziché\n" +" dell'utente che usa questo comando.\n" +" " + +#: plugin.py:262 +msgid "%s has no public mores." +msgstr "%s non ha \"more\" pubblici." + +#: plugin.py:265 +msgid "Sorry, I can't find any mores for %s" +msgstr "Spiacente, non trovo alcun \"more\" per %s" + +#: plugin.py:272 +msgid "more message" +msgstr "altro messaggio" + +#: plugin.py:274 +msgid "more messages" +msgstr "altri messaggi" + +#: plugin.py:278 +msgid "You haven't asked me a command; perhaps you want to see someone else's more. To do so, call this command with that person's nick." +msgstr "Non mi hai richiesto un comando, forse vuoi vedere quelli di qualcun altro. Per farlo usa questo comando con il nick di quell'utente." + +#: plugin.py:282 +msgid "That's all, there is no more." +msgstr "È tutto, non c'è nessun \"more\"." + +#: plugin.py:292 +#, docstring +msgid "" +"[--{from,in,on,with,without,regexp} ] [--nolimit]\n" +"\n" +" Returns the last message matching the given criteria. --from requires\n" +" a nick from whom the message came; --in requires a channel the message\n" +" was sent to; --on requires a network the message was sent on; --with\n" +" requires some string that had to be in the message; --regexp requires\n" +" a regular expression the message must match; --nolimit returns all\n" +" the messages that can be found. By default, the channel this command is\n" +" given in is searched.\n" +" " +msgstr "" +"[--{from,in,on,with,without,regexp} ] [--nolimit]\n" +"\n" +" Riporta l'ultimo messaggio corrispondente al dato criterio. --from richiede un\n" +" nick da cui è partito il messaggio; --in un canale dove il messaggio è stato\n" +" inviato; --on una rete sulla quale il messaggio è stato inviato; --with necessita\n" +" una stringa che deve essere nel messaggio; --regexp un'espressione regolare\n" +" alla quale deve corrispondere il messaggio; --nolimit riporta tutti i messaggi\n" +" trovati. Per impostazione predefinita ricerca nel canale in cui è stato dato il comando.\n" +" " + +#: plugin.py:386 +msgid "I couldn't find a message matching that criteria in my history of %s messages." +msgstr "Non trovo un messaggio corrispondente a questo criterio nella cronologia di %s messaggi." + +#: plugin.py:401 +#, docstring +msgid "" +" \n" +"\n" +" Tells the whatever is. Use nested commands to your\n" +" benefit here.\n" +" " +msgstr "" +" \n" +"\n" +" Dice a . Utilizzare i comandi nidificati a proprio vantaggio.\n" +" " + +#: plugin.py:409 +msgid "Dude, just give the command. No need for the tell." +msgstr "Dammi il comando, non c'è bisogno di usare \"tell\"." + +#: plugin.py:414 +msgid "You just told me, why should I tell myself?" +msgstr "Me l'hai appena detto, perché dovrei dirlo a me stesso?" + +#: plugin.py:419 +msgid "I haven't seen %s, I'll let you do the telling." +msgstr "Non ho mai visto %s, lascio a te l'invio del messaggio." + +#: plugin.py:424 +msgid "%s wants me to tell you: %s" +msgstr "%s vuole che ti dica: %s" + +#: plugin.py:430 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Checks to see if the bot is alive.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Controlla che il bot sia ancora vivo.\n" +" " + +#: plugin.py:434 +msgid "pong" +msgstr "pong" + diff --git a/plugins/Network/locale/it.po b/plugins/Network/locale/it.po new file mode 100644 index 000000000..a76f6e838 --- /dev/null +++ b/plugins/Network/locale/it.po @@ -0,0 +1,209 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-06 09:59+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:57 +#, docstring +msgid "" +"[--ssl] [] []\n" +"\n" +" Connects to another network (which will be represented by the name\n" +" provided in ) at . If port is not provided, it\n" +" defaults to 6667, the default port for IRC. If password is\n" +" provided, it will be sent to the server in a PASS command. If --ssl is\n" +" provided, an SSL connection will be attempted.\n" +" " +msgstr "" +"[--ssl] [] []\n" +"\n" +" Si connette ad un'altra rete (rappresentata dal nome dato in ) su\n" +" . Se la porta non è fornita usa la 6667, quella predefinita per\n" +" IRC. Se viene specificata la password sarà inviata al server tramite il comando\n" +" PASS. Se --ssl è specificato, sarà richiesta una connessione SSL.\n" +" " + +#: plugin.py:67 +msgid "I'm already connected to %s." +msgstr "Sono già connesso a %s." + +#: plugin.py:87 +msgid "A server must be provided if the network is not already registered." +msgstr "Se la rete non è già registrata è necessario fornire un server." + +#: plugin.py:95 +msgid "Connection to %s initiated." +msgstr "Connessione a %s iniziata." + +#: plugin.py:102 +#, docstring +msgid "" +"[] []\n" +"\n" +" Disconnects from the network represented by the network .\n" +" If is given, quits the network with the given quit\n" +" message. is only necessary if the network is different\n" +" from the network the command is sent on.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Si disconnette dalla rete (rappresentata dal nome dato in ).\n" +" Se è specificato, esce con tale messaggio.\n" +" è necessaria solo se la rete è differente da quella in cui è inviato il comando.\n" +" " + +#: plugin.py:114 +msgid "Disconnection to %s initiated." +msgstr "Disconnessione a %s iniziata." + +#: plugin.py:120 +#, docstring +msgid "" +"[] []\n" +"\n" +" Disconnects and then reconnects to . If no network is given,\n" +" disconnects and then reconnects to the network the command was given\n" +" on. If no quit message is given, uses the configured one\n" +" (supybot.plugins.Owner.quitMsg) or the nick of the person giving the\n" +" command.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Si disconnette da e si riconnette. è necessaria solo se la rete\n" +" è differente da quella in cui è inviato il comando. Se non viene specificato un\n" +" messaggio di uscita, utilizza quello configurato in supybot.plugins.Owner.quitMsg\n" +" o il nick di chi ha dato il comando.\n" +" " + +#: plugin.py:137 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Gives the bot (with its associated s) on .\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Invia al bot (con i suoi argomenti) su .\n" +" " + +#: plugin.py:210 +msgid "is an op on %L" +msgstr "è un op su %L" + +#: plugin.py:212 +msgid "is a halfop on %L" +msgstr "è un halfop su %L" + +#: plugin.py:214 +msgid "is voiced on %L" +msgstr "ha il voice su %L" + +#: plugin.py:217 +msgid "is also on %L" +msgstr "è anche su %L" + +#: plugin.py:219 +msgid "is on %L" +msgstr "è su %L" + +#: plugin.py:221 +msgid "isn't on any non-secret channels" +msgstr "non è in alcun canale non segreto" + +#: plugin.py:228 plugin.py:229 plugin.py:233 +msgid "" +msgstr "" + +#: plugin.py:240 +msgid " identified" +msgstr " identificato" + +#: plugin.py:245 +msgid "%s (%s) has been%s on server %s since %s (idle for %s) and %s.%s" +msgstr "%s (%s) era%s sul server %s dalle %s (inattivo da %s) e %s.%s" + +#: plugin.py:258 +msgid "There is no %s on %s." +msgstr "Non c'è nessun %s su %s." + +#: plugin.py:264 +#, docstring +msgid "" +"[] \n" +"\n" +" Returns the WHOIS response gives for . is\n" +" only necessary if the network is different than the network the command\n" +" is sent on.\n" +" " +msgstr "" +"[] \n" +"\n" +" Restituisce la risposta di WHOIS per sulla specificata. è\n" +" necessario solo se la rete è differente da quella in cui inviato il comando.\n" +" " + +#: plugin.py:280 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the networks to which the bot is currently connected.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Restituisce le reti alle quali è attualmente connesso il bot.\n" +" " + +#: plugin.py:293 +msgid "%.2f seconds." +msgstr "%.2f secondi." + +#: plugin.py:297 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the current latency to . is only necessary\n" +" if the message isn't sent on the network to which this command is to\n" +" apply.\n" +" " +msgstr "" +"[]\n" +"\n" +" Riporta l'attuale latenza di . è necessaria solo se la rete\n" +" è differente da quella in cui è inviato il comando.\n" +" " + +#: plugin.py:303 +msgid "Latency check (from %s)." +msgstr "Verifica di latenza (da %s)." + +#: plugin.py:311 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the current network driver for . is only\n" +" necessary if the message isn't sent on the network to which this\n" +" command is to apply.\n" +" " +msgstr "" +"[]\n" +"\n" +" Riporta l'attuale driver di rete per . è necessaria\n" +" solo se la rete è differente da quella in cui è inviato il comando.\n" +" " + diff --git a/plugins/Owner/locale/it.po b/plugins/Owner/locale/it.po new file mode 100644 index 000000000..2987f0492 --- /dev/null +++ b/plugins/Owner/locale/it.po @@ -0,0 +1,262 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-10 12:11+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:273 +#, docstring +msgid "" +"\n" +"\n" +" Logs to the global Supybot log at critical priority. Useful for\n" +" marking logfiles for later searching.\n" +" " +msgstr "" +"\n" +"\n" +" Registra nel log globale di Supybot con priorità critica.\n" +" Utile per contrassegnare i file di log per ricerche successive.\n" +" " + +#: plugin.py:283 +#, docstring +msgid "" +"\n" +"\n" +" Sends to all channels the bot is currently on and not\n" +" lobotomized in.\n" +" " +msgstr "" +"\n" +"\n" +" Invia a tutti i canali in cui il bot è attualmente presente e non è lobotomizzato.\n" +" " + +#: plugin.py:298 +#, docstring +msgid "" +"[--remove] []\n" +"\n" +" Sets the default plugin for to . If --remove is\n" +" given, removes the current default plugin for . If no plugin\n" +" is given, returns the current default plugin set for . See\n" +" also, supybot.commands.defaultPlugins.importantPlugins.\n" +" " +msgstr "" +"[--remove] []\n" +"\n" +" Imposta il plugin predefinito per . Se --remove è specificato, rimuove\n" +" l'attuale plugin per . Se non viene fornito alcun plugin, riporta quello\n" +" impostato per . Vedi anche supybot.commands.defaultPlugins.importantPlugins.\n" +" " + +#: plugin.py:336 +#, docstring +msgid "" +"\n" +"\n" +" Sends the raw string given to the server.\n" +" " +msgstr "" +"\n" +"\n" +" Invia la data stringa direttamente al server.\n" +" " + +#: plugin.py:350 +#, docstring +msgid "" +"[]\n" +"\n" +" Exits the bot with the QUIT message . If is not given,\n" +" the default quit message (supybot.plugins.Owner.quitMsg) will be used.\n" +" If there is no default quitMsg set, your nick will be used.\n" +" " +msgstr "" +"[]\n" +"\n" +" Fa uscire il bot con un certo messaggio di QUIT. Se non è specificato verrà\n" +" utilizzato quello configurato in supybot.plugins.Owner.quitMsg, altrimenti il tuo nick.\n" +" " + +#: plugin.py:366 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Runs all the periodic flushers in world.flushers. This includes\n" +" flushing all logs and all configuration changes to disk.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Esegue tutti i periodici \"flusher\" in world.flushers. Ciò include\n" +" il savataggio su disco di tutti i log e tutte le modifiche di configurazione.\n" +" " + +#: plugin.py:376 +#, docstring +msgid "" +"[]\n" +"\n" +" Runs the standard upkeep stuff (flushes and gc.collects()). If given\n" +" a level, runs that level of upkeep (currently, the only supported\n" +" level is \"high\", which causes the bot to flush a lot of caches as well\n" +" as do normal upkeep stuff).\n" +" " +msgstr "" +"[]\n" +"\n" +" Esegue tutte le operazioni standard di mantenimento (flush e gc.collects()).\n" +" Se si specifica un livello, esegue quel livello di mantenimento (al momento\n" +" l'unico gestito è \"high\", che svuota la cache molto più del normale).\n" +" " + +#: plugin.py:415 +#, docstring +msgid "" +"[--deprecated] \n" +"\n" +" Loads the plugin from any of the directories in\n" +" conf.supybot.directories.plugins; usually this includes the main\n" +" installed directory and 'plugins' in the current directory.\n" +" --deprecated is necessary if you wish to load deprecated plugins.\n" +" " +msgstr "" +"[--deprecated] \n" +"\n" +" Carica da qualsiasi directory indicata dalla variabile\n" +" conf.supybot.directories.plugins; solitamente questa include quella\n" +" principale dell'installazione e \"plugins\" nella directory attuale.\n" +" --deprecated è necessario per caricare plugin deprecati.\n" +" " + +#: plugin.py:450 +#, docstring +msgid "" +"\n" +"\n" +" Unloads and subsequently reloads the plugin by name; use the 'list'\n" +" command to see a list of the currently loaded plugins.\n" +" " +msgstr "" +"\n" +"\n" +" Ricarica ; utilizzare il comando \"list\" per ottenere l'elenco di quelli attualmente caricati.\n" +" " + +#: plugin.py:479 +#, docstring +msgid "" +"\n" +"\n" +" Unloads the callback by name; use the 'list' command to see a list\n" +" of the currently loaded callbacks. Obviously, the Owner plugin can't\n" +" be unloaded.\n" +" " +msgstr "" +"\n" +"\n" +" De-carica ; utilizzare il comando \"list\" per ottenere l'elenco\n" +" di quelli attualmente caricati.\n. Il plugin Owner non può essere de-caricato.\n" +" " + +#: plugin.py:503 +#, docstring +msgid "" +"{add|remove} \n" +"\n" +" Adds or removes (according to the first argument) from the\n" +" default capabilities given to users (the configuration variable\n" +" supybot.capabilities stores these).\n" +" " +msgstr "" +"{add|remove} \n" +"\n" +" Aggiunge o rimuove (in base al primo argomento) da quelle predefinite\n" +" date agli utenti (salvate nella variabile di configurazione supybot.capabilities).\n" +" " + +#: plugin.py:528 +#, docstring +msgid "" +"[] \n" +"\n" +" Disables the command for all users (including the owners).\n" +" If is given, only disables the from . If\n" +" you want to disable a command for most users but not for yourself, set\n" +" a default capability of -plugin.command or -command (if you want to\n" +" disable the command in all plugins).\n" +" " +msgstr "" +"[] \n" +"\n" +" Disabilita per tutti gli utenti (compreso il proprietario).\n" +" Se è specificato, viene disabilitato solo da .\n" +" Se si vuole disabilitare un comando per tutti gli utenti tranne se stessi,\n" +" impostare una capacità predefinita -plugin.command o -command (questa\n" +" disabilita il comando in tutti i plugin).\n" +" " + +#: plugin.py:555 +#, docstring +msgid "" +"[] \n" +"\n" +" Enables the command for all users. If \n" +" if given, only enables the from . This command is\n" +" the inverse of disable.\n" +" " +msgstr "" +"[] \n" +"\n" +" Abilita per tutti gli utenti. Se è specificato,\n" +" viene disabilitato solo da . È il contrario di \"disable\".\n" +" " + +#: plugin.py:574 +#, docstring +msgid "" +" \n" +"\n" +" Renames in to the .\n" +" " +msgstr "" +" \n" +"\n" +" Rinomina in con .\n" +" " + +#: plugin.py:591 +#, docstring +msgid "" +"\n" +"\n" +" Removes all renames in . The plugin will be reloaded after\n" +" this command is run.\n" +" " +msgstr "" +"\n" +"\n" +" Rimuove tutte le rinominazioni in . Dopo questo comando il plugin verrà ricaricato.\n" +" " + +#: plugin.py:604 +#, docstring +msgid "" +"takes no argument\n" +"\n" +" Reloads the locale of the bot." +msgstr "" +"non necessita argomenti\n" +"\n" +" Ricarica la localizzazione del bot." + diff --git a/plugins/Plugin/locale/it.po b/plugins/Plugin/locale/it.po new file mode 100644 index 000000000..41acce499 --- /dev/null +++ b/plugins/Plugin/locale/it.po @@ -0,0 +1,273 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-10 11:43+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:42 +#, docstring +msgid "" +"This plugin exists to help users manage their plugins. Use 'plugin\n" +" list' to list the loaded plugins; use 'plugin help' to get the description\n" +" of a plugin; use the 'plugin' command itself to determine what plugin a\n" +" command exists in." +msgstr "" +"Questo plugin è per aiutare gli utenti a gestire i loro plugin. Usa \"plugin\n" +" list\" per elencare tutti quelli caricati; \"plugin help\" per ottenere la\n" +" descrizione di un plugin; lo stesso comando \"plugin\" per determinare in quale\n" +" plugin è presente un certo comando." + +#: plugin.py:48 +#, docstring +msgid "" +"\n" +"\n" +" Returns a useful description of how to use , if the plugin has\n" +" one.\n" +" " +msgstr "" +"\n" +"\n" +" Riporta un'utile descrizione di come utilizzare , se disponibile.\n" +" " + +#: plugin.py:57 +msgid "That plugin is loaded, but has no plugin help." +msgstr "Il plugin è caricato ma non ha un help." + +#: plugin.py:62 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns a list of the currently loaded plugins.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta un elenco dei plugin attualmente caricati.\n" +" " + +#: plugin.py:73 +#, docstring +msgid "" +"\n" +"\n" +" Returns the name of the plugin that would be used to call .\n" +" \n" +" If it is not uniquely determined, returns list of all plugins that\n" +" contain .\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce il nome del plugin che sarà utilizzato per richiamare .\n" +" \n" +" Se non è unico riporta l'elenco di tutti i plugin che contengono .\n" +" " + +#: plugin.py:91 +msgid "plugins" +msgstr "plugin" + +#: plugin.py:93 +msgid "plugin" +msgstr "plugin" + +#: plugin.py:94 +msgid "The %q command is available in the %L %s." +msgstr "Il comando %q è disponibile nel %L %s." + +#: plugin.py:97 +msgid "There is no command %q." +msgstr "Non c'è un comando %q." + +#: plugin.py:113 +#, docstring +msgid "" +"\n" +"\n" +" Returns the names of all plugins that contain .\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce i nomi di tutti i plugin che contengono .\n" +" " + +#: plugin.py:135 +#, docstring +msgid "" +"\n" +"\n" +" Returns the author of . This is the person you should talk to\n" +" if you have ideas, suggestions, or other comments about a given plugin.\n" +" " +msgstr "" +"\n" +"\n" +" Riporta l'autore di . È la persona con cui dovresti parlare se hai\n" +" idee, suggerimenti o altri commenti a proposito del plugin.\n" +" " + +#: plugin.py:141 +msgid "That plugin does not seem to be loaded." +msgstr "Questo plugin non sembra caricato." + +#: plugin.py:147 +msgid "That plugin doesn't have an author that claims it." +msgstr "Questo plugin non ha un autore." + +#: plugin.py:152 +#, docstring +msgid "" +" []\n" +"\n" +" Replies with a list of people who made contributions to a given plugin.\n" +" If is specified, that person's specific contributions will\n" +" be listed. Note: The is the part inside of the parentheses\n" +" in the people listing.\n" +" " +msgstr "" +" []\n" +"\n" +" Risponde con un elenco di persone che hanno contribuito al dato plugin.\n" +" Se è specificato, verranno elencati i contributi di quella determinata\n" +" persona. Nota: è la parte tra parentesi.\n" +" " + +#: plugin.py:160 +#, docstring +msgid "" +"\n" +" Take an Authors object, and return only the name and nick values\n" +" in the format 'First Last (nick)'.\n" +" " +msgstr "" +"\n" +" Prende l'oggetto Authors e riporta nome e nick nella forma \"Nome Cognome (nick)\".\n" +" " + +#: plugin.py:166 +#, docstring +msgid "" +"\n" +" Take a list of long names and turn it into :\n" +" shortname[, shortname and shortname].\n" +" " +msgstr "" +"\n" +" Prende una lista di nomi lunghi e li trasforma in: nomecorto[, nomecorto e nomecorto].\n" +" " + +#: plugin.py:173 +#, docstring +msgid "" +"\n" +" Sort the list of 'long names' based on the number of contributions\n" +" associated with each.\n" +" " +msgstr "" +"\n" +" Ordina l'elenco di \"nomi lunghi\" in base al numero di contributi associati a ognuno.\n" +" " + +#: plugin.py:183 +#, docstring +msgid "" +"\n" +" Build the list of author + contributors (if any) for the requested\n" +" plugin.\n" +" " +msgstr "" +"\n" +" Crea l'elenco di autori + contributori (eventuali) per il plugin richiesto.\n" +" " + +#: plugin.py:187 +msgid "The %s plugin" +msgstr "Il plugin %s" + +#: plugin.py:188 +msgid "has not been claimed by an author" +msgstr "non ha alcun autore" + +#: plugin.py:189 +msgid "and" +msgstr "e" + +#: plugin.py:190 +msgid "has no contributors listed." +msgstr "non ha contributori elencati." + +#: plugin.py:195 +msgid "was written by %s" +msgstr "è stato scritto da %s" + +#: plugin.py:206 +msgid "%s %h contributed to it." +msgstr "%s %h contribuito." + +#: plugin.py:211 +msgid "has no additional contributors listed." +msgstr "non ha contributori aggiuntivi elencati." + +#: plugin.py:213 +msgid "but" +msgstr "ma" + +#: plugin.py:216 +#, docstring +msgid "" +"\n" +" Build the list of contributions (if any) for the requested person\n" +" for the requested plugin\n" +" " +msgstr "" +"\n" +" Crea l'elenco di contributi (eventuali) per la persona richiesta nel dato plugin.\n" +" " + +#: plugin.py:230 +msgid "The nick specified (%s) is not a registered contributor." +msgstr "Il nick specificato (%s) non è un contributore registrato." + +#: plugin.py:236 +msgid "The %s plugin does not have '%s' listed as a contributor." +msgstr "Il plugin %s non ha \"%s\" elencato come contributore." + +#: plugin.py:244 +msgid "command" +msgstr "comando" + +#: plugin.py:247 +msgid "the %L %s" +msgstr "il %L %s" + +#: plugin.py:249 +msgid "the %L" +msgstr "il %L" + +#: plugin.py:252 +msgid "%s wrote the %s plugin and also contributed %L." +msgstr "%s ha scritto il plugin %s e ha contribuito anche a %L." + +#: plugin.py:255 +msgid "%s contributed %L to the %s plugin." +msgstr "%s ha contribuito a %L per il plugin %s." + +#: plugin.py:258 +msgid "%s wrote the %s plugin" +msgstr "%s ha scritto il plugin %s" + +#: plugin.py:261 +msgid "%s has no listed contributions for the %s plugin." +msgstr "%s non ha contributi elencati per il plugin %s." + diff --git a/plugins/QuoteGrabs/locale/it.po b/plugins/QuoteGrabs/locale/it.po new file mode 100644 index 000000000..e129ed4b7 --- /dev/null +++ b/plugins/QuoteGrabs/locale/it.po @@ -0,0 +1,211 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-07 11:07+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:49 +msgid "" +"Determines whether the bot will randomly grab\n" +" possibly-suitable quotes on occasion. The suitability of a given message\n" +" is determined by ..." +msgstr "" +"Determina se il bot pescherà in modo casuale citazioni adatte all'occasione.\n" +" L'idoneità del messaggio è determinata da ..." + +#: config.py:54 +msgid "" +"Determines about how many seconds, on\n" +" average, should elapse between random grabs. This is only an average\n" +" value; grabs can happen from any time after half this time until never,\n" +" although that's unlikely to occur." +msgstr "" +"Determina quanti secondi, in media, devono passare tra due recuperi casuali.\n" +" Questa è solo un valore medio; il recupero delle citazioni può accadere da\n" +" qualsiasi momento dopo la metà di questo tempo fino a mai, seppur improbabile." + +#: config.py:59 +msgid "" +"Determines the minimum\n" +" number of words in a message for it to be considered for random\n" +" grabbing." +msgstr "" +"Determina il numero minimo di parole in un messaggio per essere considerato\n" +" un recupero casuale." + +#: config.py:63 +msgid "" +"Determines the\n" +" minimum number of characters in a message for it to be considered for\n" +" random grabbing." +msgstr "" +"Determina il numero minimo di caratteri in un messaggio per essere considerato\n" +" un recupero casuale." + +#: plugin.py:66 +msgid "%s (Said by: %s; grabbed by %s at %t)" +msgstr "%s (Detto da: %s; pescato da %s il %t)" + +#: plugin.py:226 +#, docstring +msgid "Add the help for \"@help QuoteGrabs\" here." +msgstr "" + +#: plugin.py:265 +#, docstring +msgid "" +"[] \n" +"\n" +" Grabs a quote from by for the quotegrabs table.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Recupera una citazione di da per la tabella delle citazioni.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:278 +msgid "You can't quote grab yourself." +msgstr "Non puoi recuperare citazioni da solo." + +#: plugin.py:285 +msgid "I couldn't find a proper message to grab." +msgstr "Impossibile trovare un messaggio da recuperare." + +#: plugin.py:290 +#, docstring +msgid "" +"[] \n" +"\n" +" Removes the grab (the last by default) on .\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Rimuove la citazione (di default l'ultima) su .\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:301 +msgid "Nothing to ungrab." +msgstr "Niente da rimuovere." + +#: plugin.py:303 +msgid "Invalid grab number." +msgstr "Numero citazione non valido." + +#: plugin.py:308 +#, docstring +msgid "" +"[] \n" +"\n" +" Returns 's latest quote grab in . is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Riporta il dell'ultima citazione catturata in . \n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:316 +msgid "I couldn't find a matching quotegrab for %s." +msgstr "Impossibile trovare una citazione corrispondente a %s." + +#: plugin.py:322 +#, docstring +msgid "" +"[] \n" +"\n" +" Returns a list of shortened quotes that have been grabbed for \n" +" as well as the id of each quote. These ids can be used to get the\n" +" full quote. is only necessary if the message isn't sent in\n" +" the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Riporta un elenco di citazioni in versione ridotta che sono state pescate per \n" +" e l'ID di ognuna. Questi ID possono essere utilizzati per recuperare la citazione\n" +" completa. è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:339 +msgid "I couldn't find any quotegrabs for %s." +msgstr "Impossibile trovare una citazione per %s." + +#: plugin.py:345 +#, docstring +msgid "" +"[] []\n" +"\n" +" Returns a randomly grabbed quote, optionally choosing only from those\n" +" quotes grabbed for . is only necessary if the message\n" +" isn't sent in the channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Restituisce una citazione pescata in modo casuale, eventualmente scegliendo solo quelle\n" +" di . è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:355 +msgid "Couldn't get a random quote for that nick." +msgstr "Impossibile ottenere una citazione casuale per questo nick." + +#: plugin.py:357 +msgid "Couldn't get a random quote. Are there any grabbed quotes in the database?" +msgstr "Impossibile ottenere una citazione casuale. Ci sono delle citazioni nel database?" + +#: plugin.py:363 +#, docstring +msgid "" +"[] \n" +"\n" +" Return the quotegrab with the given . is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Restituisce la citazione con l' specificato. è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:371 +msgid "No quotegrab for id %s" +msgstr "Nessuna citazione per l'id %s." + +#: plugin.py:377 +#, docstring +msgid "" +"[] \n" +"\n" +" Searches for in a quote. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Cerca in una citazione. è necessario solo se il\n" +" messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:392 +msgid "No quotegrabs matching %s" +msgstr "Nessuna citazione corrispondente a %s." + diff --git a/plugins/RSS/locale/it.po b/plugins/RSS/locale/it.po new file mode 100644 index 000000000..6da90e2fc --- /dev/null +++ b/plugins/RSS/locale/it.po @@ -0,0 +1,220 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-08 09:37+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:50 +msgid "" +"Determines whether the bot will bold the title of the feed when\n" +" it announces new news." +msgstr "" +"Determina se il bot mostrerà il titolo del feed in grassetto quando annuncia nuove notizie." + +#: config.py:53 +msgid "" +"Determines what string is\n" +" used to separate headlines in new feeds." +msgstr "" +"Determina quale stringa utilizzare per separare i titoli nei nuovi feed." + +#: config.py:56 +msgid "" +"Determines what\n" +" prefix is prepended (if any) to the new news item announcements made in the\n" +" channel." +msgstr "" +"Determina quale prefisso (eventuale) utilizzare per annunciare le notizie in canale." + +#: config.py:60 +msgid "" +"Determines which RSS feeds\n" +" should be announced in the channel; valid input is a list of strings\n" +" (either registered RSS feeds or RSS feed URLs) separated by spaces." +msgstr "" +"Determina quali feed RSS sono annunciati in canale; una voce valida è un elenco di stringhe\n" +" (sia di feed registrati sia di URL di feed) separate da spazi." + +#: config.py:64 +msgid "" +"Indicates how many seconds the bot will\n" +" wait between retrieving RSS feeds; requests made within this period will\n" +" return cached results." +msgstr "" +"Indica ogni quanti secondi il bot recupererà i feed RSS; le richieste effettuate\n" +" entro questo periodo verranno memorizzate nella cache." + +#: config.py:68 +msgid "" +"Determines what feeds should be accessible as\n" +" commands." +msgstr "" +"Determina quali feed sono accessibili come comandi." + +#: config.py:71 +msgid "" +"Determines whether the bot will list the link\n" +" along with the title of the feed when the rss command is called.\n" +" supybot.plugins.RSS.announce.showLinks affects whether links will be\n" +" listed when a feed is automatically announced." +msgstr "" +"Determina se il bot elencherà i link con il titolo del feed quando viene richiamato\n" +" il comando \"rss\". La variabile supybot.plugins.RSS.announce.showLinks determina\n" +" se i link saranno mostrati quando un feed è annunciato automaticamente." + +#: config.py:84 +msgid "" +"Determines whether the bot will list the link\n" +" along with the title of the feed when a feed is automatically\n" +" announced." +msgstr "" +"Determina se il bot elencherà i link con il titolo del feed quando esso è annunciato automaticamente." + +#: plugin.py:62 +#, docstring +msgid "" +"This plugin is useful both for announcing updates to RSS feeds in a\n" +" channel, and for retrieving the headlines of RSS feeds via command. Use\n" +" the \"add\" command to add feeds to this plugin, and use the \"announce\"\n" +" command to determine what feeds should be announced in a given channel." +msgstr "" +"Questo plugin è utile sia per annunciare feed RSS in un canale, sia per recuperare\n" +" i titoli dei feed tramite un comando. Utilizzare il comando \"add\" per aggiungere\n" +" feed e \"announce\" per determinare quali feed devono essere annunciati in un dato canale." + +#: plugin.py:316 +#, docstring +msgid "" +" \n" +"\n" +" Adds a command to this plugin that will look up the RSS feed at the\n" +" given URL.\n" +" " +msgstr "" +" \n" +"\n" +" Aggiunge un comando a questo plugin che cercherà i feed RSS all'URL specificato.\n" +" " + +#: plugin.py:327 +#, docstring +msgid "" +"\n" +"\n" +" Removes the command for looking up RSS feeds at from\n" +" this plugin.\n" +" " +msgstr "" +"\n" +"\n" +" Rimuove il comando per cercare feed RSS con .\n" +" " + +#: plugin.py:333 +msgid "That's not a valid RSS feed command name." +msgstr "Questo non è un comando di feed RSS valido." + +#: plugin.py:344 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the list of feeds announced in . is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Restituisce l'elenco dei feed annunciati in . è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:351 +msgid "I am currently not announcing any feeds." +msgstr "Attualmente non sto annunciando alcun feed." + +#: plugin.py:356 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" Adds the list of feeds to the current list of announced feeds in\n" +" . Valid feeds include the names of registered feeds as\n" +" well as URLs for RSS feeds. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Aggiunge l'elenco dei feed all'attuale elenco di quelli da annunciare in\n" +" . Valori validi includono sia i nomi dei feed registrati sia i loro URL.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:374 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" Removes the list of feeds from the current list of announced feeds\n" +" in . Valid feeds include the names of registered feeds as\n" +" well as URLs for RSS feeds. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Rimuove l'elenco dei feed dall'attuale elenco dei feed da annunciare in.\n" +" . Valori validi includono sia i nomi dei feed registrati sia i loro URL.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:392 +#, docstring +msgid "" +" []\n" +"\n" +" Gets the title components of the given RSS feed.\n" +" If is given, return only that many headlines.\n" +" " +msgstr "" +" []\n" +"\n" +" Recupera i titoli del feed RSS specificato.\n" +" Se è fornito, restituisce solo quella quantità.\n" +" " + +#: plugin.py:405 +msgid "Couldn't get RSS feed." +msgstr "Impossibile recuperare il feed RSS." + +#: plugin.py:420 +#, docstring +msgid "" +"\n" +"\n" +" Returns information from the given RSS feed, namely the title,\n" +" URL, description, and last update date, if available.\n" +" " +msgstr "" +"\n" +"\n" +" Riporta informazioni sul feed RSS specificato: titolo,\n" +" URL, descrizione e data dell'ultimo aggiornamento.\n" +" " + +#: plugin.py:433 +msgid "I couldn't retrieve that RSS feed." +msgstr "Non riesco a recuperare questo feed RSS." + +#: plugin.py:446 +msgid "Title: %s; URL: %u; Description: %s; Last updated: %s." +msgstr "Titolo: %s; URL: %u; Descrizione: %s; Ultimo aggiornamento: %s." + diff --git a/plugins/Relay/locale/it.po b/plugins/Relay/locale/it.po new file mode 100644 index 000000000..ff8f8a90e --- /dev/null +++ b/plugins/Relay/locale/it.po @@ -0,0 +1,233 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-10 11:17+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:39 +msgid "Would you like to relay between any channels?" +msgstr "Vuoi trasmettere messaggi tra canali diversi?" + +#: config.py:40 +msgid "What channels? Separated them by spaces." +msgstr "Quali canali? Separali con spazi." + +#: config.py:42 +msgid "Would you like to use color to distinguish between nicks?" +msgstr "Vuoi usare colori per distinguere i nick?" + +#: config.py:59 +msgid "" +"Determines whether the bot will color relayed\n" +" PRIVMSGs so as to make the messages easier to read." +msgstr "Determina se il bot colorerà i PRIVMSG inoltrati per rendere più semplice la lettura." + +#: config.py:62 +msgid "" +"Determines whether the bot will synchronize\n" +" topics between networks in the channels it relays." +msgstr "Determina se il bot sincronizzerà i topic tra le reti nei canali in cui inoltra." + +#: config.py:65 +msgid "" +"Determines whether the bot will relay the\n" +" hostmask of the person joining or parting the channel when he or she joins\n" +" or parts." +msgstr "Determina se il bot inoltrerà l'hostmask dell'utente che entra o esce dal canale." + +#: config.py:69 +msgid "" +"Determines whether the bot will include the\n" +" network in relayed PRIVMSGs; if you're only relaying between two networks,\n" +" it's somewhat redundant, and you may wish to save the space." +msgstr "" +"Determina se il bot includerà la rete nei PRIVMSG inoltrati; se si trasmette\n" +" tra due sole reti è alquanto ridondante e si preferirà risparmiare spazio." + +#: config.py:73 +msgid "" +"Determines whether the bot will detect other\n" +" bots relaying and respond by kickbanning them." +msgstr "Determina se il bot rileverà altri bot che stanno inoltrando rispondendo con un kickban." + +#: config.py:76 +msgid "" +"Determines which channels the bot\n" +" will relay in." +msgstr "Determina in quale canale il bot inoltrerà i messaggi." + +#: config.py:79 +msgid "" +"Determines whether the bot\n" +" will always join the channel(s) it relays for on all networks the bot is\n" +" connected to." +msgstr "Determina se il bot entrerà sempre nei canali in cui trasmette per tutte le reti a cui è connesso." + +#: config.py:83 +msgid "" +"Determines what hostmasks will not be relayed on a\n" +" channel." +msgstr "Determina quale hostmask non verrà inoltrata su un canale." + +#: config.py:86 +msgid "" +"Determines whether the bot will used NOTICEs\n" +" rather than PRIVMSGs for non-PRIVMSG relay messages (i.e., joins, parts,\n" +" nicks, quits, modes, etc.)" +msgstr "" +"Determina se il bot userà i NOTICE piuttosto che i PRIVMSG per messaggi che non\n" +" riguardano le comunicazioni tra utenti (join, part, nick, quit, mode, ecc.)" + +#: plugin.py:99 +#, docstring +msgid "" +"[]\n" +"\n" +" Starts relaying between the channel on all networks. If on a\n" +" network the bot isn't in , he'll join. This commands is\n" +" required even if the bot is in the channel on both networks; he won't\n" +" relay between those channels unless he's told to join both\n" +" channels. If is not given, starts relaying on the channel\n" +" the message was sent in.\n" +" " +msgstr "" +"[]\n" +"\n" +" Inizia l'inoltro dei messaggi di su tutte le reti. Se su una rete\n" +" il bot non è in , ci entrerà. Questo comando è necessario anche se\n" +" il bot è presente nel canale di entrambe le reti; non trasmetterà i messaggi\n" +" a meno che gli sia stato detto di entrare su entrambi i canali. Se \n" +" non è specificato, inizia l'inoltro sul canale in cui è stato inviato il messaggio.\n" +" " + +#: plugin.py:118 +#, docstring +msgid "" +"\n" +"\n" +" Ceases relaying between the channel on all networks. The bot\n" +" will part from the channel on all networks in which it is on the\n" +" channel.\n" +" " +msgstr "" +"\n" +"\n" +" Interrompe l'inoltro dei messaggi di su tutte le reti.\n" +" Il bot uscirà dal canale su tutte le reti a cui è connesso.\n" +" " + +#: plugin.py:133 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the nicks of the people in the channel on the various networks\n" +" the bot is connected to. is only necessary if the message\n" +" isn't sent on the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Riporta i nick degli utenti presenti nel canale sulle diverse reti alle quali è connesso\n" +" il bot. è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:223 +msgid "is an op on %L" +msgstr "è un op su %L" + +#: plugin.py:225 +msgid "is a halfop on %L" +msgstr "è un halfop su %L" + +#: plugin.py:227 +msgid "is voiced on %L" +msgstr "ha il voice su %L" + +#: plugin.py:230 +msgid "is also on %L" +msgstr "è anche su %L" + +#: plugin.py:232 +msgid "is on %L" +msgstr "è su %L" + +#: plugin.py:234 +msgid "isn't on any non-secret channels" +msgstr "non è in alcun canale non segreto" + +#: plugin.py:241 plugin.py:242 plugin.py:246 +msgid "" +msgstr "" + +#: plugin.py:248 +msgid " %s is away: %s." +msgstr " %s è away: %s." + +#: plugin.py:253 +msgid " identified" +msgstr " identificato" + +#: plugin.py:258 +msgid "%s (%s) has been%s on server %s since %s (idle for %s) and %s.%s" +msgstr "%s (%s) era%s sul server %s dalle %s (inattivo da %s) e %s.%s" + +#: plugin.py:273 +msgid "There is no %s on %s." +msgstr "Non c'è nessun %s su %s." + +#: plugin.py:342 +msgid "You seem to be relaying, punk." +msgstr "Sembra che tu stia inoltrando, giovane padawan." + +#: plugin.py:395 +msgid "%s%s has joined on %s" +msgstr "%s%s è entrato in %s" + +#: plugin.py:410 +msgid "%s%s has left on %s (%s)" +msgstr "%s%s ha lasciato %s (%s)" + +#: plugin.py:413 +msgid "%s%s has left on %s" +msgstr "%s%s ha lasciato %s" + +#: plugin.py:423 +msgid "mode change by %s on %s: %s" +msgstr "mode cambiato da %s su %s: %s" + +#: plugin.py:435 +msgid "%s was kicked by %s on %s (%s)" +msgstr "%s è stato cacciato da %s su %s (%s)" + +#: plugin.py:438 +msgid "%s was kicked by %s on %s" +msgstr "%s è stato cacciato da %s su %s" + +#: plugin.py:447 +msgid "nick change by %s to %s on %s" +msgstr "nick cambiato da %s a %s su %s" + +#: plugin.py:477 +msgid "topic change by %s on %s: %s" +msgstr "topic cambiato da %s su %s: %s" + +#: plugin.py:486 +msgid "%s has quit %s (%s)" +msgstr "%s è uscito da %s (%s)" + +#: plugin.py:488 +msgid "%s has quit %s." +msgstr "%s è uscito da %s." + +#: plugin.py:498 +msgid "disconnected from %s: %s" +msgstr "disconnesso da %s: %s" + diff --git a/plugins/Services/locale/it.po b/plugins/Services/locale/it.po new file mode 100644 index 000000000..db6149fc4 --- /dev/null +++ b/plugins/Services/locale/it.po @@ -0,0 +1,283 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-10 12:57+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:39 +msgid "Determines what password the bot will use with NickServ when identifying as %s." +msgstr "Determina quale password il bot userà con NickServ per identificarsi come %s." + +#: config.py:49 +msgid "What is your registered nick?" +msgstr "Qual è il tuo nick registrato?" + +#: config.py:50 +msgid "What is your password for that nick?" +msgstr "Qual è la password per questo nick?" + +#: config.py:51 +msgid "What is your ChanServ named?" +msgstr "Come si chiama ChanServ?" + +#: config.py:52 +msgid "What is your NickServ named?" +msgstr "Come si chiama NickServ?" + +#: config.py:70 +msgid "" +"Determines what nicks the bot will use with\n" +" services." +msgstr "Determina quali nick il bot userà con i servizi." + +#: config.py:77 +msgid "" +"Determines what networks this plugin\n" +" will be disabled on." +msgstr "Determina su quali reti sarà disattivato questo plugin." + +#: config.py:77 +msgid "QuakeNet" +msgstr "QuakeNet" + +#: config.py:81 +msgid "" +"Determines whether the bot will not join any\n" +" channels until it is identified. This may be useful, for instances, if\n" +" you have a vhost that isn't set until you're identified, or if you're\n" +" joining +r channels that won't allow you to join unless you identify." +msgstr "" +"Determina se il bot non entrerà in alcun canale finché non è identificato.\n" +" Può essere utile, ad esempio, se si utilizza un vhost che non viene\n" +" impostato fino a che non ci si identifica oppure se si necessita di\n" +" entrare in un canale con un mode +r (su Freenode, +j su Azzurra) che\n" +" non permette il join a utenti non identificati." + +#: config.py:86 +msgid "" +"Determines how many seconds the bot will\n" +" wait between successive GHOST attempts." +msgstr "Determina quanti secondi il bot aspetterà tra un tentativo di GHOST e l'altro." + +#: config.py:89 +msgid "" +"Determines what nick the 'NickServ' service\n" +" has." +msgstr "Determina quale nick ha il servizio \"NickServ\"." + +#: config.py:93 +msgid "" +"Determines what nick the 'ChanServ' service\n" +" has." +msgstr "Determina quale nick ha il servizio \"ChanServ\"." + +#: config.py:96 +msgid "" +"Determines what password the bot will use with\n" +" ChanServ." +msgstr "Determina quale password il bot userà con ChanServ." + +#: config.py:99 +msgid "" +"Determines whether the bot will request to get\n" +" opped by the ChanServ when it joins the channel." +msgstr "Determina se il bot richiederà lo stato di op da ChanServ quando entra nel canale." + +#: config.py:102 +msgid "" +"Determines whether the bot will request to get\n" +" half-opped by the ChanServ when it joins the channel." +msgstr "Determina se il bot richiederà lo stato di halfop da ChanServ quando entra nel canale." + +#: config.py:105 +msgid "" +"Determines whether the bot will request to get\n" +" voiced by the ChanServ when it joins the channel." +msgstr "Determina se il bot richiederà il voice da ChanServ quando entra nel canale." + +#: plugin.py:47 +#, docstring +msgid "" +"This plugin handles dealing with Services on networks that provide them.\n" +" Basically, you should use the \"password\" command to tell the bot a nick to\n" +" identify with and what password to use to identify with that nick. You can\n" +" use the password command multiple times if your bot has multiple nicks\n" +" registered. Also, be sure to configure the NickServ and ChanServ\n" +" configuration variables to match the NickServ and ChanServ nicks on your\n" +" network. Other commands such as identify, op, etc. should not be\n" +" necessary if the bot is properly configured." +msgstr "" +"Questo plugin gestisce i servizi su reti che li forniscono. Fondamentalmente\n" +" va usato il comando \"password\" per fornire al bot un nick con il quale\n" +" identificarsi e quale password usare; se il bot ha più nick registrati, è\n" +" possibile usare tale comando più volte. Assicurarsi di impostare le variabili\n" +" di configurazione NickServ e ChanServ in modo che corrispondano ai rispettivi\n" +" nick sulla rete in questione. Se il bot è ben configurato, gli altri comandi\n" +" come \"identify\", \"op\", ecc. non dovrebbero essere necessari." + +#: plugin.py:397 +msgid "You must set supybot.plugins.Services.ChanServ before I'm able to send the %s command." +msgstr "È necessario impostare la variabile supybot.plugins.Services.ChanServ affinché possa inviare il comando %s." + +#: plugin.py:403 +#, docstring +msgid "" +"[]\n" +"\n" +" Attempts to get opped by ChanServ in . is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Tenta di ricevere lo stato di op da ChanServ in . \n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:409 +msgid "I'm already opped in %s." +msgstr "Sono già op in %s." + +#: plugin.py:416 +#, docstring +msgid "" +"[]\n" +"\n" +" Attempts to get voiced by ChanServ in . is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Tenta di ricevere il voice da ChanServ in . è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:422 +msgid "I'm already voiced in %s." +msgstr "Ho già il voice in %s." + +#: plugin.py:439 +#, docstring +msgid "" +"[]\n" +"\n" +" Attempts to get unbanned by ChanServ in . is only\n" +" necessary if the message isn't sent in the channel itself, but chances\n" +" are, if you need this command, you're not sending it in the channel\n" +" itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Tenta di farsi rimuovere il ban da ChanServ in . è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso, ma è\n" +" probabile che se serve questo comando non lo si stia inviando in canale.\n" +" " + +#: plugin.py:460 +#, docstring +msgid "" +"[]\n" +"\n" +" Attempts to get invited by ChanServ to . is only\n" +" necessary if the message isn't sent in the channel itself, but chances\n" +" are, if you need this command, you're not sending it in the channel\n" +" itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Tenta di essere invitato da ChanServ in . è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso, ma è probabile\n" +" che se serve questo comando non lo si stia inviando in canale.\n" +" " + +#: plugin.py:481 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Identifies with NickServ using the current nick.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Si identifica con NickServ utilizzando l'attuale nick in uso.\n" +" " + +#: plugin.py:490 +msgid "I don't have a configured password for my current nick." +msgstr "Non ho una password configurata per il mio attuale nick." + +#: plugin.py:493 +msgid "You must set supybot.plugins.Services.NickServ before I'm able to do identify." +msgstr "È necessario impostare la variabile supybot.plugins.Services.NickServ affinché possa identificarmi." + +#: plugin.py:499 +#, docstring +msgid "" +"[]\n" +"\n" +" Ghosts the bot's given nick and takes it. If no nick is given,\n" +" ghosts the bot's configured nick and takes it.\n" +" " +msgstr "" +"[]\n" +"\n" +" Termina una connessione \"fantasma\" (ghost) e riprende il nick del bot.\n" +" Se non è specificato alcun nick, riprende quello configurato.\n" +" " + +#: plugin.py:508 +msgid "I cowardly refuse to ghost myself." +msgstr "Codardamente, mi rifiuto di terminare una connessione \"fantasma\" (ghost)." + +#: plugin.py:513 +msgid "You must set supybot.plugins.Services.NickServ before I'm able to ghost a nick." +msgstr "È necessario impostare la variabile supybot.plugins.Services.NickServ affinché possa riprendermi il nick (ghost)." + +#: plugin.py:519 +#, docstring +msgid "" +" []\n" +"\n" +" Sets the NickServ password for to . If is\n" +" not given, removes from the configured nicks.\n" +" " +msgstr "" +" []\n" +"\n" +" Imposta la password di NickServ per . Se \n" +" non è specificata, rimuove dai nick configurati.\n" +" " + +#: plugin.py:529 +msgid "That nick was not configured with a password." +msgstr "Questo nick non è stato configurato con una password." + +#: plugin.py:540 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the nicks that this plugin is configured to identify and ghost\n" +" with.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Restituisce i nick per i quali questo plugin è configurato per l'identificazione e il ghost.\n" +" " + +#: plugin.py:550 +msgid "I'm not currently configured for any nicks." +msgstr "Al momento non sono configurato per alcun nick." + diff --git a/plugins/String/locale/it.po b/plugins/String/locale/it.po new file mode 100644 index 000000000..df1b53dcf --- /dev/null +++ b/plugins/String/locale/it.po @@ -0,0 +1,226 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-07 11:35+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:47 +msgid "" +"Determines the maximum size of a string\n" +" given to the levenshtein command. The levenshtein command uses an O(m*n)\n" +" algorithm, which means that with strings of length 256, it can take 1.5\n" +" seconds to finish; with strings of length 384, though, it can take 4\n" +" seconds to finish, and with strings of much larger lengths, it takes more\n" +" and more time. Using nested commands, strings can get quite large, hence\n" +" this variable, to limit the size of arguments passed to the levenshtein\n" +" command." +msgstr "" +"Determina la dimensione massima di una stringa passata al comando \"levenshtein\".\n" +" Quest'ultimo utilizza un algoritmo O(m*n), significa che con stringhe di lunghezza\n" +" 256, può impiegare 1.5 secondi a terminare; con stringhe lunghe 384, sebbene,\n" +" impiega 4 secondi e con stringhe più lunghe impiega molto più tempo. Utilizzando\n" +" comandi nidificati, le stringhe possono essere abbastanza grosse, perciò questa\n" +" variabile, limitare la dimensione degli argomenti passati al comando \"levenshtein\"." + +#: plugin.py:46 +#, docstring +msgid "" +"\n" +"\n" +" Returns the 8-bit value of .\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce il valore 8-bit di .\n" +" " + +#: plugin.py:55 +#, docstring +msgid "" +"\n" +"\n" +" Returns the character associated with the 8-bit value \n" +" " +msgstr "" +"\n" +"\n" +" Restituisce il carattere associato al valore 8-bit di \n" +" " + +#: plugin.py:62 +msgid "That number doesn't map to an 8-bit character." +msgstr "Questo numero non corrisponde a un carattere 8-bit." + +#: plugin.py:67 +#, docstring +msgid "" +" \n" +"\n" +" Returns an encoded form of the given text; the valid encodings are\n" +" available in the documentation of the Python codecs module:\n" +" .\n" +" " +msgstr "" +" \n" +"\n" +" Restituisce la forma codificata del testo specificato; le codifiche\n" +" valide sono disponibili nella documentazione del modulo Python codecs:\n" +" .\n" +" " + +#: plugin.py:76 plugin.py:90 +msgid "encoding" +msgstr "codifica" + +#: plugin.py:81 +#, docstring +msgid "" +" \n" +"\n" +" Returns an un-encoded form of the given text; the valid encodings are\n" +" available in the documentation of the Python codecs module:\n" +" .\n" +" " +msgstr "" +" \n" +"\n" +" Restituisce la forma non codificata del testo specificato; le codifiche\n" +" valide sono disponibili nella documentazione del modulo Python codecs:\n" +" .\n" +" " + +#: plugin.py:92 +msgid "base64 string" +msgstr "stringa base64" + +#: plugin.py:93 +msgid "Base64 strings must be a multiple of 4 in length, padded with '=' if necessary." +msgstr "Le stringhe in base64 devono avere una lunghezza in multipli di 4, circondate da \"=\" se necessario." + +#: plugin.py:99 +#, docstring +msgid "" +" \n" +"\n" +" Returns the levenshtein distance (also known as the \"edit distance\"\n" +" between and )\n" +" " +msgstr "" +" \n" +"\n" +" Riporta la distanza levenshtein (anche conosciuta come \"distanza di\n" +" modifica\" tra e )\n" +" " + +#: plugin.py:106 +msgid "Levenshtein distance is a complicated algorithm, try it with some smaller inputs." +msgstr "La distanza levenshtein è un algoritmo complesso, prova a inserire meno dati." + +#: plugin.py:114 +#, docstring +msgid "" +" []\n" +"\n" +" Returns the Soundex hash to a given length. The length defaults to\n" +" 4, since that's the standard length for a soundex hash. For unlimited\n" +" length, use 0.\n" +" " +msgstr "" +" []\n" +"\n" +" Restituisce l'hash Soundex alla lunghezza specificata. In modo predefinito\n" +" è impostata a 4, giacché è la lunghezza standard per questo tipo di hash.\n" +" Per lunghezze illimitate usare 0.\n" +" " + +#: plugin.py:125 +#, docstring +msgid "" +"\n" +"\n" +" Returns the length of .\n" +" " +msgstr "" +"\n" +"\n" +" Riporta la lunghezza di .\n" +" " + +#: plugin.py:134 +#, docstring +msgid "" +" \n" +"\n" +" If is of the form m/regexp/flags, returns the portion of\n" +" that matches the regexp. If is of the form\n" +" s/regexp/replacement/flags, returns the result of applying such a\n" +" regexp to .\n" +" " +msgstr "" +" \n" +"\n" +" Se è nella forma m/regexp/flags, restituisce la porzione\n" +" di che corrisponde alla regexp. Se non lo è, restituisce\n" +" il risultato dell'applicare la regexp a .\n" +" " + +#: plugin.py:146 +msgid "You probably don't want to match the empty string." +msgstr "È probabile non si voglia confrontare una stringa vuota." + +#: plugin.py:156 +#, docstring +msgid "" +" \n" +"\n" +" Returns XOR-encrypted with . See\n" +" http://www.yoe.org/developer/xor.html for information about XOR\n" +" encryption.\n" +" " +msgstr "" +" \n" +"\n" +" Restituisce cifrato con XOR con . Vedere\n" +" http://www.yoe.org/developer/xor.html per informazioni sulla cifratura XOR.\n" +" " + +#: plugin.py:169 +#, docstring +msgid "" +"\n" +"\n" +" Returns the md5 hash of a given string. Read\n" +" http://www.rsasecurity.com/rsalabs/faq/3-6-6.html for more information\n" +" about md5.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce l'hash md5 di una data stringa. Vedere\n" +" http://www.rsasecurity.com/rsalabs/faq/3-6-6.html per ulteriori informazioni su md5.\n" +" " + +#: plugin.py:180 +#, docstring +msgid "" +"\n" +"\n" +" Returns the SHA hash of a given string. Read\n" +" http://www.secure-hash-algorithm-md5-sha-1.co.uk/ for more information\n" +" about SHA.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce l'hash SHA di una data stringa. Vedere\n" +" http://www.secure-hash-algorithm-md5-sha-1.co.uk/ per ulteriori informazioni su SHA.\n" +" " + diff --git a/plugins/Unix/locale/it.po b/plugins/Unix/locale/it.po new file mode 100644 index 000000000..95932b602 --- /dev/null +++ b/plugins/Unix/locale/it.po @@ -0,0 +1,274 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-10 14:21+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:47 +msgid "" +"The \"progstats\" command can reveal potentially sensitive\n" +" information about your machine. Here's an example of its output:\n" +"\n" +" %s\n" +msgstr "" +"Il comando \"progstats\" può potenzialmente rivelare informazioni sensibili\n" +" riguardo la tua macchina. Ecco un esempio del suo output:\n" +"\n" +" %s\n" + +#: config.py:51 +msgid "Would you like to disable this command for non-owner users?" +msgstr "Vuoi disabilitare questo comando per gli utenti non proprietari (owner)?" + +#: config.py:59 +msgid "" +"Determines\n" +" what command will be called for the fortune command." +msgstr "Determina quale comando verrà richiamato tramite \"fortune\"." + +#: config.py:62 +msgid "" +"Determines whether only short fortunes will be\n" +" used if possible. This sends the -s option to the fortune program." +msgstr "Determina se verranno utilizzati solo fortune brevi. Questo invia l'opzione -s al programma fortune." + +#: config.py:65 +msgid "" +"Determines whether fortune will give equal\n" +" weight to the different fortune databases. If false, then larger\n" +" databases will be given more weight. This sends the -e option to the\n" +" fortune program." +msgstr "" +"Determines se fortune darà uguale peso ai diversi database; se impostato a False,\n" +" quelli più grossi avranno la priorità. Questo invia l'opzione -e al programma fortune." + +#: config.py:70 +msgid "" +"Determines whether fortune will retrieve\n" +" offensive fortunes along with the normal fortunes. This sends the -a\n" +" option to the fortune program." +msgstr "" +"Determina se fortune recupererà citazioni offensive insieme alle normali.\n" +" Questo invia l'opzione -a al programma fortune." + +#: config.py:74 +msgid "" +"Determines what specific file\n" +" (if any) will be used with the fortune command; if none is given, the\n" +" system-wide default will be used. Do note that this fortune file must be\n" +" placed with the rest of your system's fortune files." +msgstr "" +"Determina quale file specifico (eventuale) verrà usato con il comando fortune,\n" +" se non è specificato utilizzerà il predefinito a livello di sistema. Nota che\n" +" questo file va collocato insieme agli altri file di fortune presenti nel sistema.\n" + +#: config.py:82 +msgid "" +"Determines\n" +" what command will be called for the spell command." +msgstr "Determina quale comando verrà richiamato tramite \"spell\"." + +#: config.py:87 +msgid "" +"Determines what\n" +" command will be called for the wtf command." +msgstr "Determina quale comando verrà richiamato tramite \"wtf\"." + +#: plugin.py:75 +#, docstring +msgid "" +"\n" +"\n" +" Returns the number of an errno code, or the errno code of a number.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce il numero di un codice di errore (errno) o il codice di errore di un numero.\n" +" " + +#: plugin.py:87 +msgid "I can't find the errno number for that code." +msgstr "Non trovo un numero di errore per quel codice." + +#: plugin.py:90 +msgid "(unknown)" +msgstr "(sconosciuto)" + +#: plugin.py:91 +msgid "%s (#%i): %s" +msgstr "%s (#%i): %s" + +#: plugin.py:96 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns various unix-y information on the running supybot process.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta varie informazioni unix-y sul processo supybot in esecuzione.\n" +" " + +#: plugin.py:104 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the current pid of the process for this Supybot.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta l'attuale PID del processo per questo Supybot.\n" +" " + +#: plugin.py:114 +#, docstring +msgid "" +" []\n" +"\n" +" Returns the resulting of doing a crypt() on . If is\n" +" not given, uses a random salt. If running on a glibc2 system,\n" +" prepending '$1$' to your salt will cause crypt to return an MD5sum\n" +" based crypt rather than the standard DES based crypt.\n" +" " +msgstr "" +" []\n" +"\n" +" Riporta il risultato di crypt() su . Se non è specificato,\n" +" ne utilizza uno casuale. Se eseguito su un sistema glibc2, preporre '$1$' al\n" +" sale restituirà una cifratura basata su MD5sum piuttosto che la standard DES.\n" +" " + +#: plugin.py:133 +#, docstring +msgid "" +"\n" +"\n" +" Returns the result of passing to aspell/ispell. The results\n" +" shown are sorted from best to worst in terms of being a likely match\n" +" for the spelling of .\n" +" " +msgstr "" +"\n" +"\n" +" Riporta il risultato di passare ad aspell/ispell. I risultati\n" +" mostrati sono ordinati dal migliore al peggiore in termini di essere una\n" +" potenziale ortografia corretta di .\n" +" " + +#: plugin.py:142 +msgid "The spell checking command is not configured. If one is installed, reconfigure supybot.plugins.Unix.spell.command appropriately." +msgstr "Il comando di correzione ortografica non è configurato. Se ve n'è uno installato, configurare la variabile supybot.plugins.Unix.spell.command in modo appropriato." + +#: plugin.py:147 +msgid " must begin with an alphabet character." +msgstr " deve iniziare con un carattere dell'alfabeto." + +#: plugin.py:169 +msgid "No results found." +msgstr "Nessun risultato trovato." + +#: plugin.py:180 +msgid "%q may be spelled correctly." +msgstr "%q sembra scritto correttamente." + +#: plugin.py:182 +msgid "I could not find an alternate spelling for %q" +msgstr "Impossibile trovare un'ortografia alternativa per %q" + +#: plugin.py:186 +msgid "Possible spellings for %q: %L." +msgstr "Ortografia possibile per %q: %L." + +#: plugin.py:195 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns a fortune from the *nix fortune program.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Restituisce un biscottino della fortuna dal programma *nix fortune.\n" +" " + +#: plugin.py:215 +msgid "It seems the configured fortune command was not available." +msgstr "Sembra che il comando fortune configurato non sia disponibile." + +#: plugin.py:224 +msgid "The fortune command is not configured. If fortune is installed on this system, reconfigure the supybot.plugins.Unix.fortune.command configuration variable appropriately." +msgstr "Il comando fortune non è configurato. Se ve n'è uno installato, configurare la variabile supybot.plugins.Unix.fortune.command in modo appropriato." + +#: plugin.py:231 +#, docstring +msgid "" +"[is] \n" +"\n" +" Returns wtf is. 'wtf' is a *nix command that first\n" +" appeared in NetBSD 1.5. In most *nices, it's available in some sort\n" +" of 'bsdgames' package.\n" +" " +msgstr "" +"[is] \n" +"\n" +" Restituisce il significato di . \"wtf\" è un comando *nix apparso la prima volta\n" +" in NetBSD 1.5. Nella maggior parte delle macchine *nix è disponibile nel pacchetto \"bsdgames\".\n" +" " + +#: plugin.py:246 +msgid "It seems the configured wtf command was not available." +msgstr "Sembra che il comando wtf configurato non sia disponibile." + +#: plugin.py:255 +msgid "The wtf command is not configured. If it is installed on this system, reconfigure the supybot.plugins.Unix.wtf.command configuration variable appropriately." +msgstr "Il comando wtf non è configurato. Se ve n'è uno installato, configurare la variabile supybot.plugins.Unix.wtf.command in modo appropriato." + +#: plugin.py:263 +#, docstring +msgid "" +"[--c ] [--i ] [--t ] [--W ] \n" +" Sends an ICMP echo request to the specified host.\n" +" The arguments correspond with those listed in ping(8). --c is\n" +" limited to 10 packets or less (default is 5). --i is limited to 5\n" +" or less. --W is limited to 10 or less.\n" +" " +msgstr "" +"[--c ] [--i ] [--t ] [--W ] \n" +" Invia una pacchetto ICMP di tipo echo request all'host specificato. Gli\n" +" argomenti corrispondono a quelli del comando ping(8). --c è limitato a 10\n" +" pacchetti (il default è 5). --i è limitato a 5. --W è limitato a 10.\n" +" " + +#: plugin.py:315 +#, docstring +msgid "" +" \n" +" Calls any command available on the system, and returns its output.\n" +" Requires owner capability.\n" +" Note that being restricted to owner, this command does not do any\n" +" sanity checking on input/output. So it is up to you to make sure\n" +" you don't run anything that will spamify your channel or that \n" +" will bring your machine to its knees. \n" +" " +msgstr "" +" \n" +" Richiama qualsiai comando disponibile sul sistema e restituisce il suo\n" +" output; richiede la capacità owner. Si noti che essendo limitato al\n" +" proprietario, questo comando non fa alcun controllo su input e output;\n" +" per cui sta a voi assicurarvi di non eseguire nulla che possa inviare\n" +" molto testo in canale (flood) o che metta in ginocchio la vostra macchina.\n" +" " + diff --git a/src/version.py b/src/version.py index 61d6b234e..39c109fb7 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-10T19:00:12+0200)' +version = '0.83.4.1+limnoria (2011-07-12T15:04:13+0200)' From 4edfed5ed7da16e0ca95effed3b59f112e65abab Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Tue, 12 Jul 2011 16:09:55 +0200 Subject: [PATCH 108/244] AutoMode: fix previous commit. --- plugins/AutoMode/locale/it.po | 2 +- plugins/AutoMode_fix/locale/it.po | 85 ------------------------------- src/version.py | 2 +- 3 files changed, 2 insertions(+), 87 deletions(-) delete mode 100644 plugins/AutoMode_fix/locale/it.po diff --git a/plugins/AutoMode/locale/it.po b/plugins/AutoMode/locale/it.po index 05a7e9e86..d9ec7bafa 100644 --- a/plugins/AutoMode/locale/it.po +++ b/plugins/AutoMode/locale/it.po @@ -81,5 +81,5 @@ msgid "" "Determines how many seconds the bot\n" " will automatically ban a person when banning." msgstr "" -"Destermina quanti secondi durerà il ban quando il bot lo applica a una persona." +"Determina quanti secondi durerà il ban quando il bot lo applica a una persona." diff --git a/plugins/AutoMode_fix/locale/it.po b/plugins/AutoMode_fix/locale/it.po deleted file mode 100644 index d9ec7bafa..000000000 --- a/plugins/AutoMode_fix/locale/it.po +++ /dev/null @@ -1,85 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-27 18:15+0200\n" -"Last-Translator: skizzhg \n" -"Language-Team: Italian \n" -"Language: it\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - - -#: config.py:46 -msgid "" -"Determines whether this plugin is enabled.\n" -" " -msgstr "" -"Determina se il plugin è abilitato.\n" -" " - -#: config.py:49 -msgid "" -"Determines whether this plugin will automode\n" -" owners even if they don't have op/halfop/voice/whatever capability.." -msgstr "" -"Determina se il plugin darà automaticamente il mode ai proprietari.\n" -" anche se non hanno la capacità op, halfop, voice, ecc..." - -#: 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 "" -"Determina se il the bot non darà l'halfop o il voice\n" -" quando l'op automatico è disabilitato ma l'halfop o il voice\n" -" automatico sono attivati." - -#: config.py:56 -msgid "" -"Determines whether the bot will automatically\n" -" op people with the ,op capability when they join the channel.\n" -" " -msgstr "" -"Determina se il bot darà automaticamente l'op agli utenti che hanno\n" -" la capacità ,op quando entrano in canale.\n" -" " - -#: config.py:60 -msgid "" -"Determines whether the bot will automatically\n" -" halfop people with the ,halfop capability when they join the\n" -" channel." -msgstr "" -"Determina se il bot darà automaticamente l'halfop agli utenti che hanno\n" -" la capacità ,halfop quando entrano in canale.\n" -" " - -#: config.py:64 -msgid "" -"Determines whether the bot will automatically\n" -" voice people with the ,voice capability when they join the\n" -" channel." -msgstr "" -"Determina se il bot darà automaticamente il voice agli utenti che hanno\n" -" la capacità ,voice quando entrano in canale.\n" -" " - -#: config.py:68 -msgid "" -"Determines whether the bot will automatically\n" -" ban people who join the channel and are on the banlist." -msgstr "" -"Determina se il bot bannerà automaticamente gli utenti che \n" -" entrano in canale e sono nella lista dei ban.\n" -" " - -#: config.py:71 -msgid "" -"Determines how many seconds the bot\n" -" will automatically ban a person when banning." -msgstr "" -"Determina quanti secondi durerà il ban quando il bot lo applica a una persona." - diff --git a/src/version.py b/src/version.py index 39c109fb7..97bd73102 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-12T15:04:13+0200)' +version = '0.83.4.1+limnoria (2011-07-12T16:09:54+0200)' From 83e55fbbbd833ec163a090aff263e84c29939d91 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 14 Jul 2011 17:34:27 +0200 Subject: [PATCH 109/244] PluginDownloader: Installing a plugin overrides the existing plugin with the same name, if any. --- plugins/PluginDownloader/plugin.py | 3 +++ src/version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/PluginDownloader/plugin.py b/plugins/PluginDownloader/plugin.py index 756707c03..fbfe2c6f2 100644 --- a/plugins/PluginDownloader/plugin.py +++ b/plugins/PluginDownloader/plugin.py @@ -151,6 +151,9 @@ class GithubRepository(GitRepository): newFileName = os.path.join(*file.name.split('/')[1:]) newFileName = newFileName[len(self._path)-1:] newFileName = os.path.join(directory, newFileName) + if os.path.exists(newFileName): + assert os.path.isdir(newFileName) + shutils.rmtree(newFileName) if extractedFile is None: os.mkdir(newFileName) else: diff --git a/src/version.py b/src/version.py index 97bd73102..d444b448d 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-12T16:09:54+0200)' +version = '0.83.4.1+limnoria (2011-07-14T17:34:26+0200)' From 862a590020a3d2eb98e9fe197eb013dc1d9d8f7b Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 15 Jul 2011 17:21:36 +0300 Subject: [PATCH 110/244] Misc: added l18n-fi --- plugins/Misc/locale/fi.po | 297 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 297 insertions(+) create mode 100644 plugins/Misc/locale/fi.po diff --git a/plugins/Misc/locale/fi.po b/plugins/Misc/locale/fi.po new file mode 100644 index 000000000..e29e578c5 --- /dev/null +++ b/plugins/Misc/locale/fi.po @@ -0,0 +1,297 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-07-10 18:59+CEST\n" +"PO-Revision-Date: 2011-07-15 17:18+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:45 +msgid "" +"Determines whether the bot will list private\n" +" plugins with the list command if given the --private switch. If this is\n" +" disabled, non-owner users should be unable to see what private plugins\n" +" are loaded." +msgstr "" +"Määrittää luetteleeko botti yksityiset lisäosat\n" +" \"list\" komennolla jos --private valitsin on annettu. Jos tämä on poistettu käytöstä,\n" +" ei-omistaja käyttäjien pitäisi olla kykenemättömiä mäkemään mitkä yksityiset lisäosat ovat\n" +" ladattuina." + +#: config.py:50 +msgid "" +"Determines the format string for\n" +" timestamps in the Misc.last command. Refer to the Python documentation\n" +" for the time module to see what formats are accepted. If you set this\n" +" variable to the empty string, the timestamp will not be shown." +msgstr "" +"Määrittää muotoketjun\n" +" aikaleimoille Misc.last komennossa. Katso Python dokumentaatioon\n" +" aikamoduulin kohdalle nähdäksesi mitkä aikamuodot hyväksytään. Jos asetat tämän asetuksen\n" +" tyhjäksi, niin aikaleimaa ei näytetä." + +#: config.py:57 +msgid "" +"Determines whether or not\n" +" the timestamp will be included in the output of last when it is part of a\n" +" nested command" +msgstr "" +"Määrittää sisällytetäänkö\n" +" aikeleima \"last\" komennon ulostuloon, kun se on osa\n" +" sisäkkäisiä komentoja." + +#: config.py:61 +msgid "" +"Determines whether or not the\n" +" nick will be included in the output of last when it is part of a nested\n" +" command" +msgstr "" +"Määrittää sisällytetäänkö\n" +" sisällytetäänkö nimimerkki \"last\" komennon ulostuloon, kun se on osa sisäkkäisiä\n" +" komentoja." + +#: plugin.py:81 +msgid "You've given me %s invalid commands within the last minute; I'm now ignoring you for %s." +msgstr "Olet antanut minulle %s epäkelvollista komentoa minuutin sisällä; Minä kiellän sinut nyt %s:siä." + +#: plugin.py:93 +msgid "The %q plugin is loaded, but there is no command named %q in it. Try \"list %s\" to see the commands in the %q plugin." +msgstr "Lisäosa %q on ladattu, mutta siinä ei ole %q nimistä komentoa. Käytä komentoa \"list %s\" mähdäksesi kaikki komennot lisäosassa %q." + +#: plugin.py:119 +msgid "" +"[--private] []\n" +"\n" +" Lists the commands available in the given plugin. If no plugin is\n" +" given, lists the public plugins available. If --private is given,\n" +" lists the private plugins.\n" +" " +msgstr "" +"[--private] []\n" +"\n" +" Luettelee kaikki komennot, jotka ovat saatavilla annetussa lisäosassa. Jos lisäosaa ei ole annettu,\n" +" luettelee kaikki julkiset lisäosat. Jos --private on annettu,\n" +" luettelee kaikki yksityiset lisäosat.\n" +" " + +#: plugin.py:144 +msgid "There are no private plugins." +msgstr "Yksityisiä lisäosia ei ole." + +#: plugin.py:146 +msgid "There are no public plugins." +msgstr "Julkisia lisäosia ei ole." + +#: plugin.py:153 +msgid "That plugin exists, but has no commands. This probably means that it has some configuration variables that can be changed in order to modify its behavior. Try \"config list supybot.plugins.%s\" to see what configuration variables it has." +msgstr "Tuo lisäosa on olemassa, mutta siinä ei ole komentoja. Tämä tarkoittaa luultavasti sitä, että sillä on joitain asetusarvoja, joita voidaan muuttaa sen käyttäytymisen muokkaamiseksi. Käytä komentoa \"config list supybot.plugins.%s\" nähdäksesi mitä asetusarvoja sillä on." + +#: plugin.py:164 +msgid "" +"\n" +"\n" +" Searches for in the commands currently offered by the bot,\n" +" returning a list of the commands containing that string.\n" +" " +msgstr "" +"\n" +"\n" +" Etsii komennoista joita botti tarjoaa tällä hetkellä,\n" +" palauttaen listan komennoista, jotka sisältävät sen merkkiketjun.\n" +" " + +#: plugin.py:183 +msgid "No appropriate commands were found." +msgstr "Sopivia komentoja ei löytynyt." + +#: plugin.py:188 +msgid "" +"[] []\n" +"\n" +" This command gives a useful description of what does.\n" +" is only necessary if the command is in more than one plugin.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Tämä komento antaa hyödyllisen kuvauksen mitä tekee.\n" +" on vaadittu vain jos komento on useammassa kuin yhdessä lisäosassa.\n" +" " + +#: plugin.py:198 +msgid "That command exists in the %L plugins. Please specify exactly which plugin command you want help with." +msgstr "Tuo komento on %L lisäosassa. Ole hyvä ja määritä minkä komennon kanssa haluat apua." + +#: plugin.py:205 +msgid "There is no command %q." +msgstr "Komentoa %q ei ole." + +#: plugin.py:211 +msgid "" +"takes no arguments\n" +"\n" +" Returns the version of the current bot.\n" +" " +msgstr "" +"Ei ota parametrejä\n" +"\n" +" Palauttaa nykyisen botin version.\n" +" " + +#: plugin.py:225 +msgid "The newest versions available online are %s." +msgstr "Uusimmat verkossa olevat versiot ovat %s." + +#: plugin.py:226 +msgid "%s (in %s)" +msgstr "%s (%s:ssa)" + +#: plugin.py:230 +msgid "I couldn't fetch the newest version from the Limnoria repository." +msgstr "Minä en voinut tarkistaa uusinta versiota Limnorian pakettivarastosta." + +#: plugin.py:232 +msgid "The current (running) version of this Supybot is %s. %s" +msgstr "Nykyinen (päällä) oleva versio tästä Supybotista on %s. %s" + +#: plugin.py:239 +msgid "" +"takes no arguments\n" +"\n" +" Returns a URL saying where to get Supybot.\n" +" " +msgstr "" +"ei ota parametrejä\n" +"\n" +" Palauttaa URL kertoen mistä Supybotin saa.\n" +" " + +#: plugin.py:243 +msgid "My source is at https://github.com/ProgVal/Limnoria" +msgstr "Minun lähdekoodini on osoitteessa: https://github.com/ProgVal/Limnoria" + +#: plugin.py:248 +msgid "" +"[]\n" +"\n" +" If the last command was truncated due to IRC message length\n" +" limitations, returns the next chunk of the result of the last command.\n" +" If is given, it takes the continuation of the last command from\n" +" instead of the person sending this message.\n" +" " +msgstr "" +"[]\n" +"\n" +" Jos viestiä lyhennetään IRC viestin pituusrajoitusten takia,\n" +" palauttaa seuraavan pätkän edellistä komentoa.\n" +" Jos on annettu, se ottaa jatkon\n" +" komennon antaneen henkilön sijasta.\n" +" " + +#: plugin.py:262 +msgid "%s has no public mores." +msgstr "%s:llä ei ole julkista jatkoa." + +#: plugin.py:265 +msgid "Sorry, I can't find any mores for %s" +msgstr "Anteeksi, en voi löytää jatkoa %s:lle." + +#: plugin.py:272 +msgid "more message" +msgstr "viesti lisöö" + +#: plugin.py:274 +msgid "more messages" +msgstr "lisää viestejä" + +#: plugin.py:278 +msgid "You haven't asked me a command; perhaps you want to see someone else's more. To do so, call this command with that person's nick." +msgstr "Et ole pyytänyt minulta komentoa; ehkäpä tahdoit nähdä jonkun muun jatkon. Tehdäksesi niin, käytä tätä komentoa tuon henkilön nimimerkillä." + +#: plugin.py:282 +msgid "That's all, there is no more." +msgstr "Siinä kaikki, enempää ei ole." + +#: plugin.py:292 +msgid "" +"[--{from,in,on,with,without,regexp} ] [--nolimit]\n" +"\n" +" Returns the last message matching the given criteria. --from requires\n" +" a nick from whom the message came; --in requires a channel the message\n" +" was sent to; --on requires a network the message was sent on; --with\n" +" requires some string that had to be in the message; --regexp requires\n" +" a regular expression the message must match; --nolimit returns all\n" +" the messages that can be found. By default, the channel this command is\n" +" given in is searched.\n" +" " +msgstr "" +"[--{from,in,on,with,without,regexp} ] [--nolimit]\n" +"\n" +" Palauttaa viimeisimmän vietin, joka täsmää annettuihin kriteereihin. --from vaatii\n" +" keneltä nimimerkin, jolta viesti tuli; --in vaatii kanavan, jolta viesti\n" +" lähetettiin; --on vaatii verkon, jossa viesti lähetettiin; --with\n" +" vaatii jonkun merkkiketjun, joka täytyy olla viestissä; --regexp vaatii\n" +" säännöllisen lausekkeen, johon viestin täytyy täsmätä; --nolimit palauttaa kaikki\n" +" viestit, jotka löydetään. Oletuksena etsitään kanavalta, jolla\n" +" komento on annettu.\n" +" " + +#: plugin.py:386 +msgid "I couldn't find a message matching that criteria in my history of %s messages." +msgstr "En voinut löytää viestiä, joka täsmää noihin kriteereihin %s:än viestin historiassa." + +#: plugin.py:401 +msgid "" +" \n" +"\n" +" Tells the whatever is. Use nested commands to your\n" +" benefit here.\n" +" " +msgstr "" +" \n" +"\n" +" Kertoo ihansama mikä on. Käytä sisäkkäisiä komentoja\n" +" eduksesi tässä.\n" +" " + +#: plugin.py:409 +msgid "Dude, just give the command. No need for the tell." +msgstr "Keikari, anna vain komento. Ei tarvitse kertoa." + +#: plugin.py:414 +msgid "You just told me, why should I tell myself?" +msgstr "Sinä kerroit juuri minulle, miksi minun pitäisi kertoa itselleni?" + +#: plugin.py:419 +msgid "I haven't seen %s, I'll let you do the telling." +msgstr "En ole nähnyt %s:ää, annan sinun hoitaa kertomisen." + +#: plugin.py:424 +msgid "%s wants me to tell you: %s" +msgstr "%s haluaa minun kertovan sinulle: %s" + +#: plugin.py:430 +msgid "" +"takes no arguments\n" +"\n" +" Checks to see if the bot is alive.\n" +" " +msgstr "" +"Ei ota parametrejä\n" +"\n" +" Tarkistaa onko botti elossa.\n" +" " + +#: plugin.py:434 +msgid "pong" +msgstr "pong" + From ce08f275d495e887484c167994ad2d9779af45e6 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 15 Jul 2011 23:01:41 +0200 Subject: [PATCH 111/244] Channel: Fix name conflicts with _. --- plugins/Channel/plugin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Channel/plugin.py b/plugins/Channel/plugin.py index 83476f908..dac592129 100644 --- a/plugins/Channel/plugin.py +++ b/plugins/Channel/plugin.py @@ -410,7 +410,7 @@ class Channel(callbacks.Plugin): additional('nick')]) def do341(self, irc, msg): - (_, nick, channel) = msg.args + (foo, nick, channel) = msg.args nick = ircutils.toLower(nick) replyIrc = self.invites.pop((irc, nick), None) if replyIrc is not None: @@ -421,7 +421,7 @@ class Channel(callbacks.Plugin): self.log.info('Inviting %s to %s.', nick, channel) def do443(self, irc, msg): - (_, nick, channel, _) = msg.args + (foo, nick, channel, foo) = msg.args nick = ircutils.toLower(nick) replyIrc = self.invites.pop((irc, nick), None) if replyIrc is not None: From 5e9fd8129e231e78aea1bf6d7962aab7c05688af Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 15 Jul 2011 23:04:49 +0200 Subject: [PATCH 112/244] Protector: Fix variable name. --- plugins/Protector/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Protector/plugin.py b/plugins/Protector/plugin.py index 5e99e5637..26a1b8824 100644 --- a/plugins/Protector/plugin.py +++ b/plugins/Protector/plugin.py @@ -98,7 +98,7 @@ class Protector(callbacks.Plugin): channel = msg.args[0] chanOp = ircdb.makeChannelCapability(channel, 'op') chanVoice = ircdb.makeChannelCapability(channel, 'voice') - chanhalfop = ircdb.makeChannelCapability(channel, 'halfop') + chanHalfOp = ircdb.makeChannelCapability(channel, 'halfop') if not ircdb.checkCapability(msg.prefix, chanOp): irc.sendMsg(ircmsgs.deop(channel, msg.nick)) for (mode, value) in ircutils.separateModes(msg.args[1:]): From 03cc4c7ab7dbb576298f8896c603f4a937786059 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 16 Jul 2011 13:37:56 +0200 Subject: [PATCH 113/244] supybot-wizard: Suggest most useful plugins when the user want to add plugins en masse. Closes GH-84. --- scripts/supybot-wizard | 4 +++- src/version.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/supybot-wizard b/scripts/supybot-wizard index 2143209bd..0ca402225 100644 --- a/scripts/supybot-wizard +++ b/scripts/supybot-wizard @@ -504,7 +504,9 @@ def main(): output(format("""The available plugins are: %L.""", plugins)) output("""What plugins would you like to add? If you've changed your mind and would rather not add plugins in bulk like this, just press - enter and we'll move on to the individual plugin configuration.""") + enter and we'll move on to the individual plugin configuration. + We suggest you to add Alias, Ctcp, Later, Network, Plugin, String, + and Utilities""") massPlugins = anything('Separate plugin names by spaces or commas:') for name in re.split(r',?\s+', massPlugins): module = loadPlugin(name) diff --git a/src/version.py b/src/version.py index d444b448d..e7e458f6e 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-14T17:34:26+0200)' +version = '0.83.4.1+limnoria (2011-07-16T13:37:56+0200)' From 4e6d08c7ce9cc7ada37006b2b316611ee3efca30 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 16 Jul 2011 13:45:43 +0200 Subject: [PATCH 114/244] Misc: Fix @source help. Closes GH-78. --- plugins/Misc/plugin.py | 2 +- src/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Misc/plugin.py b/plugins/Misc/plugin.py index 033eaf3ea..8ad9af49f 100644 --- a/plugins/Misc/plugin.py +++ b/plugins/Misc/plugin.py @@ -238,7 +238,7 @@ class Misc(callbacks.Plugin): def source(self, irc, msg, args): """takes no arguments - Returns a URL saying where to get Supybot. + Returns a URL saying where to get Limnoria. """ irc.reply(_('My source is at https://github.com/ProgVal/Limnoria')) source = wrap(source) diff --git a/src/version.py b/src/version.py index e7e458f6e..b32c63e66 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-16T13:37:56+0200)' +version = '0.83.4.1+limnoria (2011-07-16T13:45:43+0200)' From 24aa0b6754b6dda35fe63b70e0a2bc72913c5b0c Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 16 Jul 2011 13:59:49 +0200 Subject: [PATCH 115/244] Later: add @undo command. Closes GH-76. --- plugins/Later/plugin.py | 21 +++++++++++++++++++++ plugins/Later/test.py | 8 ++++++++ src/version.py | 2 +- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/plugins/Later/plugin.py b/plugins/Later/plugin.py index 56731da46..bd118043c 100644 --- a/plugins/Later/plugin.py +++ b/plugins/Later/plugin.py @@ -207,6 +207,27 @@ class Later(callbacks.Plugin): irc.error(_('There were no notes for %r') % nick) remove = wrap(remove, [('checkCapability', 'admin'), 'something']) + @internationalizeDocstring + def undo(self, irc, msg, args, nick): + """ + + Removes the latest note you sent to . + """ + if nick not in self._notes: + irc.error(_('There are no note waiting for %s.') % nick) + return + self._notes[nick].reverse() + for note in self._notes[nick]: + if note[1] == msg.nick: + self._notes[nick].remove(note) + if len(self._notes[nick]) == 0: + del self._notes[nick] + self._flushNotes() + irc.replySuccess() + return + irc.error(_('There are no note from you waiting for %s.') % nick) + undo = wrap(undo, ['something']) + def doPrivmsg(self, irc, msg): if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg): return diff --git a/plugins/Later/test.py b/plugins/Later/test.py index 49a5a672e..0481d4dc7 100644 --- a/plugins/Later/test.py +++ b/plugins/Later/test.py @@ -44,6 +44,14 @@ class LaterTestCase(ChannelPluginTestCase): self.assertNotRegexp('later notes', 'bar.*foo') self.assertRegexp('later notes', 'foo') + def testLaterUndo(self): + self.assertNotError('later tell foo 1') + self.assertNotError('later tell bar 1') + self.assertRegexp('later notes', 'bar.*foo') + self.assertNotError('later undo foo') + self.assertNotRegexp('later notes', 'bar.*foo') + self.assertRegexp('later notes', 'bar') + def testNickValidation(self): origconf = conf.supybot.protocols.irc.strictRfc() conf.supybot.protocols.irc.strictRfc.setValue('True') diff --git a/src/version.py b/src/version.py index b32c63e66..778a19ff3 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-16T13:45:43+0200)' +version = '0.83.4.1+limnoria (2011-07-16T13:59:49+0200)' From 453f61da532f6e3a72be37a7b2d7816b01a0ac00 Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Mon, 27 Jun 2011 14:41:49 -0400 Subject: [PATCH 116/244] Dict: Fix FSF address in included dictclient module Taking fresh address from http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC4 --- plugins/Dict/local/dictclient.py | 2 +- src/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Dict/local/dictclient.py b/plugins/Dict/local/dictclient.py index e7a6094e2..8701dbf9a 100644 --- a/plugins/Dict/local/dictclient.py +++ b/plugins/Dict/local/dictclient.py @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import socket, re diff --git a/src/version.py b/src/version.py index 778a19ff3..82a94a88e 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-16T13:59:49+0200)' +version = '0.83.4.1+limnoria (2011-07-16T14:27:52+0200)' From 9ce5b943aaaa95dd07f93be6500b7a0cf634b4a6 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 16 Jul 2011 21:19:20 +0300 Subject: [PATCH 117/244] Misc: fixed l18-n --- plugins/Misc/locale/fi.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Misc/locale/fi.po b/plugins/Misc/locale/fi.po index e29e578c5..3c1961350 100644 --- a/plugins/Misc/locale/fi.po +++ b/plugins/Misc/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-07-10 18:59+CEST\n" -"PO-Revision-Date: 2011-07-15 17:18+0200\n" +"PO-Revision-Date: 2011-07-16 21:11+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "Language: \n" @@ -207,7 +207,7 @@ msgstr "Anteeksi, en voi löytää jatkoa %s:lle." #: plugin.py:272 msgid "more message" -msgstr "viesti lisöö" +msgstr "viesti lisää" #: plugin.py:274 msgid "more messages" From 225a2fa250c0323092dc778f3c0a90c29c7f8ec5 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 16 Jul 2011 22:26:24 +0300 Subject: [PATCH 118/244] Factoids: Removed games fi.po from translation; Anonymous: updated ln18-fi --- plugins/Anonymous/locale/fi.po | 24 ++- plugins/Factoids/locale/fi.po | 310 +++++++++++++++++++++++---------- 2 files changed, 235 insertions(+), 99 deletions(-) diff --git a/plugins/Anonymous/locale/fi.po b/plugins/Anonymous/locale/fi.po index 6d2c01bae..6ba755a98 100644 --- a/plugins/Anonymous/locale/fi.po +++ b/plugins/Anonymous/locale/fi.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot Anonymous\n" -"POT-Creation-Date: 2010-10-16 15:14+CEST\n" +"POT-Creation-Date: 2011-06-09 18:26+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" @@ -50,7 +50,7 @@ msgstr "" " True, botti sallii ihmisten käyttää \"say\" komentoa lähettääkseen yksityisviestejä \n" " toisille käyttäjille." -#: plugin.py:41 +#: plugin.py:40 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" @@ -73,7 +73,23 @@ msgstr "" "että tuo käyttäjä on rekisteröitynyt asetuksella\n" "supybot.plugins.Anonymous.requireRegistration" -#: plugin.py:81 +#: plugin.py:64 +msgid "You must be in %s to %q in there." +msgstr "Sinun täytyy olla kanavalla %s %q sinne." + +#: plugin.py:68 +msgid "I'm lobotomized in %s." +msgstr "Minut on lobotomoitu kanavalla %s." + +#: plugin.py:71 +msgid "That channel has set its capabilities so as to disallow the use of this plugin." +msgstr "Tuo kanava on asettanut valtuudet kieltämään tämän Pluginin käytön." + +#: plugin.py:74 +msgid "%q cannot be used to send private messages." +msgstr "%q:ta ei voi käyttää yksityisviestien lähettämiseen." + +#: plugin.py:80 msgid "" " \n" "\n" @@ -87,7 +103,7 @@ msgstr "" "supybot.plugins.Anonymous.allowPrivateTarget on True.\n" " " -#: plugin.py:95 +#: plugin.py:94 msgid "" " \n" "\n" diff --git a/plugins/Factoids/locale/fi.po b/plugins/Factoids/locale/fi.po index 0176bdf36..7d97fe43e 100644 --- a/plugins/Factoids/locale/fi.po +++ b/plugins/Factoids/locale/fi.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-01 08:05+0200\n" +"POT-Creation-Date: 2011-06-28 19:40+CEST\n" +"PO-Revision-Date: 2011-07-16 22:20+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -14,135 +14,255 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" -#: plugin.py:46 +#: config.py:45 msgid "" -"takes no arguments\n" +"Value must include $value, otherwise the factoid's value would be left\n" +" out." +msgstr "" + +#: config.py:51 +msgid "" +"Determines what separator must be used in the\n" +" learn command. Defaults to 'as' -- learn as . Users might\n" +" feel more comfortable with 'is' or something else, so it's\n" +" configurable." +msgstr "" + +#: config.py:56 +msgid "" +"Determines whether the bot will reply with the\n" +" single matching factoid if only one factoid matches when using the search\n" +" command." +msgstr "" + +#: config.py:60 +msgid "" +"Determines whether the bot will reply to invalid\n" +" commands by searching for a factoid; basically making the whatis\n" +" unnecessary when you want all factoids for a given key." +msgstr "" + +#: config.py:64 +msgid "" +"If you try to look up a nonexistent factoid,\n" +" this setting make the bot try to find some possible matching keys through\n" +" several approximate matching algorithms and return a list of matching keys,\n" +" before giving up." +msgstr "" + +#: config.py:69 +msgid "$key could be $value." +msgstr "" + +#: config.py:69 +msgid "" +"Determines the format of\n" +" the response given when a factoid's value is requested. All the standard\n" +" substitutes apply, in addition to \"$key\" for the factoid's key and \"$value\"\n" +" for the factoid's value." +msgstr "" + +#: plugin.py:179 +msgid "" +"[] %s \n" "\n" -" Flips a coin and returns the result.\n" +" Associates with . is only\n" +" necessary if the message isn't sent on the channel\n" +" itself. The word '%s' is necessary to separate the\n" +" key from the value. It can be changed to another word\n" +" via the learnSeparator registry value.\n" +" " +msgstr "" + +#: plugin.py:199 +msgid "" +"Try to typo-match input to possible factoids.\n" +" \n" +" Assume first letter is correct, to reduce processing time. \n" +" First, try a simple wildcard search.\n" +" If that fails, use the Damerau-Levenshtein edit-distance metric.\n" " " msgstr "" -"ei ota parametrejä\n" -"\n" -" Heittää rahan ja palauttaa tuloksen.\n" -" " -#: plugin.py:51 -msgid "heads" -msgstr "kruuna" +#: plugin.py:257 +#: plugin.py:386 +msgid "That's not a valid number for that key." +msgstr "" -#: plugin.py:53 -msgid "tails" -msgstr "klaava" +#: plugin.py:279 +#: plugin.py:372 +#: plugin.py:598 +msgid "No factoid matches that key." +msgstr "" -#: plugin.py:58 +#: plugin.py:304 msgid "" -"d\n" +"[] [--raw] []\n" "\n" -" Rolls a die with number of sides times.\n" -" For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10\n" -" ten-sided dice.\n" +" Looks up the value of in the factoid database. If given a\n" +" number, will return only that exact factoid. If '--raw' option is\n" +" given, no variable substitution will take place on the factoid.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" " " msgstr "" -"d\n" -"\n" -" Heittää noppaa sivujen lukumäärä kertaa.\n" -" Esimerkiksi, 2d6 heittää 2 kuusisivuista noppaa; 10d10 heittää 10\n" -" kymmenen-sivuista noppaa.\n" -" " -#: plugin.py:66 -msgid "You can't roll more than 1000 dice." -msgstr "Et voi heittää useampaa kuin tuhatta noppaa." +#: plugin.py:321 +#: plugin.py:523 +msgid "key id" +msgstr "" -#: plugin.py:68 -msgid "Dice can't have more than 100 sides." -msgstr "Nopalla ei voi olla useampaa kuin sataa sivua." - -#: plugin.py:70 -msgid "Dice can't have fewer than 3 sides." -msgstr "Nopalla ei voi olla vähempää kuin kolmea sivua." - -#: plugin.py:78 -msgid "Dice must be of the form d" -msgstr "Nopan täytyy olla muodossa d." - -#: plugin.py:82 -msgid "It is possible.|Yes!|Of course.|Naturally.|Obviously.|It shall be.|The outlook is good.|It is so.|One would be wise to think so.|The answer is certainly yes." -msgstr "Se on mahdollista.|Kyllä!|Tietysti.|Luonnollisesti.|Ilmeisesti.|Olkoon niin.|Hyvät näkymät.|Se on niin.|Erään olisi viisasta ajatella niin.|Vastaus on varmasti kyllä." - -#: plugin.py:86 -msgid "In your dreams.|I doubt it very much.|No chance.|The outlook is poor.|Unlikely.|About as likely as pigs flying.|You're kidding, right?|NO!|NO.|No.|The answer is a resounding no." -msgstr "Unissasi.|Minä epäilen sitä kovasti.|Ei mahdollista.|Näkymät ovat huonot.|Epätodennäköisesti.|Yhtä toden näköisesti siat lentävät.|Kai sinä pilailet?|EI!|EI.|Ei.|Vastaus on raikuva ei." - -#: plugin.py:90 -msgid "Maybe...|No clue.|_I_ don't know.|The outlook is hazy, please ask again later.|What are you asking me for?|Come again?|You know the answer better than I.|The answer is def-- oooh! shiny thing!" -msgstr "Ehkäpä...|Ei tietoa.|_Minä_ en tiedä.|Näkymä on sotkuinen, ole hyvä ja kysy myöhemmin uudelleen.|Miksi kysyt minulta?|Tule uudelleen?|Sinä tiedät vastauksen paremmin kuin minä.|Vastaus on var-- oooh! kiiltävä esine!" - -#: plugin.py:107 +#: plugin.py:334 msgid "" -"[]\n" +"[] []\n" "\n" -" Ask a question and the answer shall be provided.\n" +" Adds a new key for factoid associated with .\n" +" is only necessary if there's more than one factoid associated\n" +" with .\n" +"\n" +" The same action can be accomplished by using the 'learn' function with\n" +" a new key but an existing (verbatim) factoid content.\n" " " msgstr "" -"[]\n" -"\n" -" Kysy kysymys ja vastaus annetaan.\n" -" " -#: plugin.py:121 +#: plugin.py:381 +#: plugin.py:398 +msgid "This key-factoid relationship already exists." +msgstr "" + +#: plugin.py:389 +msgid "This key has more than one factoid associated with it, but you have not provided a number." +msgstr "" + +#: plugin.py:403 msgid "" -"[spin]\n" +"[] [--plain] [--alpha] []\n" "\n" -" Fires the revolver. If the bullet was in the chamber, you're dead.\n" -" Tell me to spin the chambers and I will.\n" +" Returns a list of top-ranked factoid keys, sorted by usage count\n" +" (rank). If is not provided, the default number of factoid keys\n" +" returned is set by the rankListLength registry value.\n" +"\n" +" If --plain option is given, rank numbers and usage counts are not\n" +" included in output.\n" +"\n" +" If --alpha option is given in addition to --plain, keys are sorted\n" +" alphabetically, instead of by rank.\n" +"\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" " " msgstr "" -"[spin]\n" + +#: plugin.py:448 +msgid "" +"[] \n" "\n" -" Ampuu revolverillä. Jos luoti oli kammiossa, olet kuollut.\n" -" Käske minun pyöräyttää kammiota ja minä teen sen.\n" +" Locks the factoid(s) associated with so that they cannot be\n" +" removed or added to. is only necessary if the message isn't\n" +" sent in the channel itself.\n" " " +msgstr "" -#: plugin.py:128 -msgid "*SPIN* Are you feeling lucky?" -msgstr "*Pyörähdys* Tuntuuko sinusta onnekkaalta?" +#: plugin.py:466 +msgid "" +"[] \n" +"\n" +" Unlocks the factoid(s) associated with so that they can be\n" +" removed or added to. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" -#: plugin.py:137 -msgid "*BANG* Hey, who put a blank in here?!" -msgstr "*PANG* Hei, kuka laittoi tuon laudan tuohon?!" +#: plugin.py:505 +msgid "" +"[] [|*]\n" +"\n" +" Removes a key-fact relationship for key from the factoids\n" +" database. If there is more than one such relationship for this key,\n" +" a number is necessary to determine which one should be removed.\n" +" A * can be used to remove all relationships for .\n" +"\n" +" If as a result, the key (factoid) remains without any relationships to\n" +" a factoid (key), it shall be removed from the database.\n" +"\n" +" is only necessary if\n" +" the message isn't sent in the channel itself.\n" +" " +msgstr "" -#: plugin.py:139 -msgid "reloads and spins the chambers." -msgstr "latautuu ja pyöräyttää kammioita." +#: plugin.py:537 +msgid "There is no such factoid." +msgstr "" -#: plugin.py:141 -msgid "*click*" -msgstr "*klick*" +#: plugin.py:547 +msgid "Invalid factoid number." +msgstr "" -#: plugin.py:148 +#: plugin.py:552 +msgid "%s factoids have that key. Please specify which one to remove, or use * to designate all of them." +msgstr "" + +#: plugin.py:560 msgid "" "[]\n" "\n" -" Returns the number of consecutive lines you've sent in \n" -" without being interrupted by someone else (i.e. how long your current\n" -" 'monologue' is). is only necessary if the message isn't sent\n" -" in the channel itself.\n" +" Returns a random factoid from the database for . \n" +" is only necessary if the message isn't sent in the channel itself.\n" " " msgstr "" -"[]\n" + +#: plugin.py:582 +msgid "I couldn't find a factoid." +msgstr "" + +#: plugin.py:587 +msgid "" +"[] \n" "\n" -" Palauttaa jatkuvan määrän rivejä, jotka olet lähettänyt \n" -" tulematta kenenkään muun keskeyttämäksi (esim. kuinka pitkä nykyinen\n" -" 'monologisi' on). on vaadittu vain jos viestiä ei lähetetä kanavalla\n" -" itsellään.\n" +" Gives information about the factoid(s) associated with .\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" " " +msgstr "" -#: plugin.py:167 -msgid "Your current monologue is at least %n long." -msgstr "Sinun nykyinen monologisi on ainakin %n pitkä." +#: plugin.py:613 +msgid "#%i was added by %s at %s, and has been recalled %n" +msgstr "" -#: plugin.py:168 -msgid "line" -msgstr "rivi" +#: plugin.py:616 +msgid "time" +msgstr "" + +#: plugin.py:626 +msgid "" +"[] \n" +"\n" +" Changes the factoid # associated with according to\n" +" .\n" +" " +msgstr "" + +#: plugin.py:640 +msgid "I couldn't find any key %q" +msgstr "" + +#: plugin.py:655 +msgid "" +"[] [--values] [--{regexp} ] [ ...]\n" +"\n" +" Searches the keyspace for keys matching . If --regexp is given,\n" +" it associated value is taken as a regexp and matched against the keys.\n" +" If --values is given, search the value space instead of the keyspace.\n" +" " +msgstr "" + +#: plugin.py:692 +#: plugin.py:701 +msgid "No keys matched that query." +msgstr "" + +#: plugin.py:697 +#: plugin.py:706 +msgid "More than 100 keys matched that query; please narrow your query." +msgstr "" From dcfb0eac0d94beb5faf2fc561b28a6388f88aeb2 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 16 Jul 2011 22:46:07 +0300 Subject: [PATCH 119/244] Channel: updated l18n-fi --- plugins/Channel/locale/fi.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/plugins/Channel/locale/fi.po b/plugins/Channel/locale/fi.po index 55fc37a28..96bc9e8d5 100644 --- a/plugins/Channel/locale/fi.po +++ b/plugins/Channel/locale/fi.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot Channel\n" -"POT-Creation-Date: 2010-10-25 13:10+CEST\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" "PO-Revision-Date: \n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" @@ -647,7 +647,6 @@ msgid "That user didn't have the %L %s." msgstr "Tuolla käyttäjällä ei ole %L:ää %s:ssä." #: plugin.py:662 -#, fuzzy msgid "" "[] {True|False}\n" "\n" @@ -660,7 +659,7 @@ msgstr "" "[] {True|False}\n" "\n" " Jos sinulla on #kanava,op valtuus, tämä asettaa oletus\n" -"ei voimaan-liittyviin (se on, ei {op, halfop, voice}\n" +"ei voimaan-liittyviin (se on muu kuin {op, halfop, voice}\n" "valtuus arvo, jonka annat. on vaadittu vain\n" "jos viestiä ei lähetetä kanavalla itsellään.\n" " " @@ -785,10 +784,11 @@ msgstr "%s ei ollut pois käytöstä." #: plugin.py:818 msgid "" -"[]\n" +"[] [--count]\n" "\n" " Returns the nicks in . is only necessary if the\n" -" message isn't sent in the channel itself.\n" +" message isn't sent in the channel itself. Returns only the number of\n" +" nicks if --count option is provided.\n" " " msgstr "" "[]\n" @@ -797,11 +797,11 @@ msgstr "" "ei lähetetä kanavalla itsellään.\n" " " -#: plugin.py:829 +#: plugin.py:830 msgid "You don't have access to that information." msgstr "Sinulla ei ole pääsyoikeutta tuohon tietoon." -#: plugin.py:837 +#: plugin.py:843 msgid "" "Internal message for notifying all the #channel,ops in a channel of\n" " a given situation." @@ -809,15 +809,15 @@ msgstr "" "Sisäinen viesti huomattamaan kaikkia #kanava,oppeja kanavalla\n" " annetusta tilanteesta." -#: plugin.py:840 +#: plugin.py:846 msgid "Alert to all %s ops: %s" msgstr "Hälytys kaikki %s operaattoreille: %s" -#: plugin.py:842 +#: plugin.py:848 msgid " (from %s)" msgstr "(%s:tä)" -#: plugin.py:850 +#: plugin.py:856 msgid "" "[] \n" "\n" From 6edc81d14420663f981fcf9cf237e11e69fba89c Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 16 Jul 2011 22:53:34 +0300 Subject: [PATCH 120/244] Ctcp: updated ln18-fi? --- plugins/Ctcp/locale/fi.po | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/Ctcp/locale/fi.po b/plugins/Ctcp/locale/fi.po index 0d916ae6d..24e8ba344 100644 --- a/plugins/Ctcp/locale/fi.po +++ b/plugins/Ctcp/locale/fi.po @@ -1,14 +1,15 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. +# Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-08 10:13+0200\n" +"PO-Revision-Date: 2011-07-16 22:53+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" From a813754947d41d8f1369739709a11e56ff3d2da2 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 16 Jul 2011 22:55:27 +0300 Subject: [PATCH 121/244] BadWords: updated l18n-fi --- plugins/BadWords/locale/fi.po | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/plugins/BadWords/locale/fi.po b/plugins/BadWords/locale/fi.po index d76b8d2be..fd23b22a1 100644 --- a/plugins/BadWords/locale/fi.po +++ b/plugins/BadWords/locale/fi.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot BadWords\n" -"POT-Creation-Date: 2011-01-29 11:48+CET\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" "PO-Revision-Date: \n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" @@ -12,16 +12,6 @@ msgstr "" "X-Poedit-Language: Finnish\n" "X-Poedit-Country: FINLAND\n" -#: __init__.py:30 -msgid "" -"\n" -"Filters bad words on outgoing messages from the bot, so the bot can't be made\n" -"to say bad words.\n" -msgstr "" -"\n" -"Suodattaa botin ulostulevista viesteistä pahat sanat, jotta bottia ei saada\n" -"sanomaan pahoja sanoja.\n" - #: config.py:40 msgid "Would you like to add some bad words?" msgstr "Haluaisitko lisätä joitakin pahoja sanoja?" @@ -182,3 +172,13 @@ msgstr "" "Poistaa (t) sensuroitujen sanojen listalta.\n" " " +#~ msgid "" +#~ "\n" +#~ "Filters bad words on outgoing messages from the bot, so the bot can't be " +#~ "made\n" +#~ "to say bad words.\n" +#~ msgstr "" +#~ "\n" +#~ "Suodattaa botin ulostulevista viesteistä pahat sanat, jotta bottia ei " +#~ "saada\n" +#~ "sanomaan pahoja sanoja.\n" From 44fc846581b5039ee2f82e38584e8722eb0ed8da Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 16 Jul 2011 22:57:11 +0300 Subject: [PATCH 122/244] Alias: updated ln18n-fi --- plugins/Alias/locale/fi.po | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/Alias/locale/fi.po b/plugins/Alias/locale/fi.po index f31f38dfb..498721e67 100644 --- a/plugins/Alias/locale/fi.po +++ b/plugins/Alias/locale/fi.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot Alias plugin\n" -"POT-Creation-Date: 2010-10-16 14:10+CEST\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" "PO-Revision-Date: \n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" @@ -40,6 +40,10 @@ msgstr "" "\n" "Alias %q:lle." +#: plugin.py:166 +msgid "argument" +msgstr "parametri" + #: plugin.py:220 msgid "" "\n" From a4c0a13b1d69e3595c67f09a5667a82640922321 Mon Sep 17 00:00:00 2001 From: skizzhg Date: Sun, 17 Jul 2011 15:21:07 +0200 Subject: [PATCH 123/244] MessageParser: Fix typo (rexeps -> regexps). --- plugins/MessageParser/config.py | 2 +- plugins/MessageParser/locale/fi.po | 2 +- plugins/MessageParser/locale/fr.po | 2 +- plugins/MessageParser/messages.pot | 2 +- src/version.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/MessageParser/config.py b/plugins/MessageParser/config.py index 0e496aee5..27dc241be 100644 --- a/plugins/MessageParser/config.py +++ b/plugins/MessageParser/config.py @@ -74,7 +74,7 @@ conf.registerChannelValue(MessageParser, 'requireManageCapability', Note that absence of an explicit anticapability means user has capability."""))) conf.registerChannelValue(MessageParser, 'listSeparator', - registry.String(', ', _("""Determines the separator used between rexeps when + registry.String(', ', _("""Determines the separator used between regexps when shown by the list command."""))) # vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79: diff --git a/plugins/MessageParser/locale/fi.po b/plugins/MessageParser/locale/fi.po index 973a99d61..c6bf14587 100644 --- a/plugins/MessageParser/locale/fi.po +++ b/plugins/MessageParser/locale/fi.po @@ -67,7 +67,7 @@ msgstr "" #: config.py:77 msgid "" -"Determines the separator used between rexeps when\n" +"Determines the separator used between regexps when\n" " shown by the list command." msgstr "" "Määrittää erottajan, jota käytetään list komennon näyttämien\n" diff --git a/plugins/MessageParser/locale/fr.po b/plugins/MessageParser/locale/fr.po index ad75aae17..12b9d542f 100644 --- a/plugins/MessageParser/locale/fr.po +++ b/plugins/MessageParser/locale/fr.po @@ -50,7 +50,7 @@ msgstr "Détermine les capacités requises (s'il y en a) pour gérer la base de #: config.py:77 msgid "" -"Determines the separator used between rexeps when\n" +"Determines the separator used between regexps when\n" " shown by the list command." msgstr "Détermine le séparateur utilisé entre les expressions régulières affichées par la commande list." diff --git a/plugins/MessageParser/messages.pot b/plugins/MessageParser/messages.pot index 8cf2374c2..9c1d9ff07 100644 --- a/plugins/MessageParser/messages.pot +++ b/plugins/MessageParser/messages.pot @@ -52,7 +52,7 @@ msgstr "" #: config.py:77 msgid "" -"Determines the separator used between rexeps when\n" +"Determines the separator used between regexps when\n" " shown by the list command." msgstr "" diff --git a/src/version.py b/src/version.py index 82a94a88e..86e9f6f95 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-16T14:27:52+0200)' +version = '0.83.4.1+limnoria (2011-07-17T15:21:07+0200)' From 083815c6f7b6b386c04e53ef8a015aeba20bbbad Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Mon, 18 Jul 2011 15:23:06 +0200 Subject: [PATCH 124/244] Factoids: Fix typo. --- plugins/Factoids/locale/fi.po | 2 +- plugins/Factoids/locale/fr.po | 2 +- plugins/Factoids/messages.pot | 2 +- plugins/Factoids/plugin.py | 2 +- src/version.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/Factoids/locale/fi.po b/plugins/Factoids/locale/fi.po index 7d97fe43e..58d64c1ac 100644 --- a/plugins/Factoids/locale/fi.po +++ b/plugins/Factoids/locale/fi.po @@ -251,7 +251,7 @@ msgid "" "[] [--values] [--{regexp} ] [ ...]\n" "\n" " Searches the keyspace for keys matching . If --regexp is given,\n" -" it associated value is taken as a regexp and matched against the keys.\n" +" its associated value is taken as a regexp and matched against the keys.\n" " If --values is given, search the value space instead of the keyspace.\n" " " msgstr "" diff --git a/plugins/Factoids/locale/fr.po b/plugins/Factoids/locale/fr.po index 9129f5fe8..430206d9c 100644 --- a/plugins/Factoids/locale/fr.po +++ b/plugins/Factoids/locale/fr.po @@ -280,7 +280,7 @@ msgid "" "[] [--values] [--{regexp} ] [ ...]\n" "\n" " Searches the keyspace for keys matching . If --regexp is given,\n" -" it associated value is taken as a regexp and matched against the keys.\n" +" its associated value is taken as a regexp and matched against the keys.\n" " If --values is given, search the value space instead of the keyspace.\n" " " msgstr "" diff --git a/plugins/Factoids/messages.pot b/plugins/Factoids/messages.pot index a819f7d82..c6ea584b9 100644 --- a/plugins/Factoids/messages.pot +++ b/plugins/Factoids/messages.pot @@ -259,7 +259,7 @@ msgid "" "[] [--values] [--{regexp} ] [ ...]\n" "\n" " Searches the keyspace for keys matching . If --regexp is given,\n" -" it associated value is taken as a regexp and matched against the keys.\n" +" its associated value is taken as a regexp and matched against the keys.\n" " If --values is given, search the value space instead of the keyspace.\n" " " msgstr "" diff --git a/plugins/Factoids/plugin.py b/plugins/Factoids/plugin.py index 7ed3c89a6..2bf2cbf17 100644 --- a/plugins/Factoids/plugin.py +++ b/plugins/Factoids/plugin.py @@ -655,7 +655,7 @@ class Factoids(callbacks.Plugin, plugins.ChannelDBHandler): """[] [--values] [--{regexp} ] [ ...] Searches the keyspace for keys matching . If --regexp is given, - it associated value is taken as a regexp and matched against the keys. + its associated value is taken as a regexp and matched against the keys. If --values is given, search the value space instead of the keyspace. """ if not optlist and not globs: diff --git a/src/version.py b/src/version.py index 86e9f6f95..00ea3755c 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-17T15:21:07+0200)' +version = '0.83.4.1+limnoria (2011-07-18T15:23:06+0200)' From 547bf62dac7f8b889731bf7d6b022dbd43b97aff Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Tue, 19 Jul 2011 23:49:34 +0200 Subject: [PATCH 125/244] Filter: Fix l10n-fr. --- plugins/Filter/locale/fr.po | 2 +- src/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Filter/locale/fr.po b/plugins/Filter/locale/fr.po index 19b7e28e6..704b959dc 100644 --- a/plugins/Filter/locale/fr.po +++ b/plugins/Filter/locale/fr.po @@ -119,7 +119,7 @@ msgid "" msgstr "" "\n" "\n" -"Retourne la représentation binaire du . Considère qu'il s'agit d'ASCII, 8 bits par caractère." +"Retourne le caractère représentant du . Considère qu'il s'agit d'ASCII, 8 bits par caractère." #: plugin.py:179 msgid "" diff --git a/src/version.py b/src/version.py index 00ea3755c..4550c59d2 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-18T15:23:06+0200)' +version = '0.83.4.1+limnoria (2011-07-19T23:49:34+0200)' From 91d769fa631c1a70bca76142f32fb6724454c279 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Wed, 20 Jul 2011 01:41:08 +0200 Subject: [PATCH 126/244] Filter: Fix l10n-fr. --- plugins/Filter/locale/fr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Filter/locale/fr.po b/plugins/Filter/locale/fr.po index 704b959dc..2d192fe45 100644 --- a/plugins/Filter/locale/fr.po +++ b/plugins/Filter/locale/fr.po @@ -611,7 +611,7 @@ msgid "" msgstr "" "\n" "\n" -"Retourne le avec les I transormés en r et les r transformés en I." +"Retourne le avec les l transormés en r et les r transformés en l." #: plugin.py:702 msgid "" From 1e3bb247c005a443e827616f0099f8fad69a25f5 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 20 Jul 2011 10:48:08 +0300 Subject: [PATCH 127/244] Factoids: added partial l18n-fi --- plugins/Factoids/locale/fi.po | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/Factoids/locale/fi.po b/plugins/Factoids/locale/fi.po index 7d97fe43e..b314e396d 100644 --- a/plugins/Factoids/locale/fi.po +++ b/plugins/Factoids/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-06-28 19:40+CEST\n" -"PO-Revision-Date: 2011-07-16 22:20+0200\n" +"PO-Revision-Date: 2011-07-17 14:25+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -19,6 +19,8 @@ msgid "" "Value must include $value, otherwise the factoid's value would be left\n" " out." msgstr "" +"Arvon täytyy sisältää $value, muutoin factoidin arvo jätettäisiin\n" +" ulos." #: config.py:51 msgid "" @@ -27,6 +29,10 @@ msgid "" " feel more comfortable with 'is' or something else, so it's\n" " configurable." msgstr "" +"Määrittää mitä komentoa käytetään erottajana\n" +" \"learn\" komennossa. Oletuksena 'as' -- learn as . Käyttäjistä saattaa\n" +" käyttäjästä saattaa olla mukavampaa käyttää 'is'iä tai jotakin muuta, joten se on\n" +" säädettävissä." #: config.py:56 msgid "" @@ -34,6 +40,8 @@ msgid "" " single matching factoid if only one factoid matches when using the search\n" " command." msgstr "" +"Määrittää vastaako botti yhden komennon täsmäävään\n" +" factoidiin, jos vain yksi täsmää \"search\" komentoa käytettäessä.\n" #: config.py:60 msgid "" @@ -41,6 +49,9 @@ msgid "" " commands by searching for a factoid; basically making the whatis\n" " unnecessary when you want all factoids for a given key." msgstr "" +"Determines whether the bot will reply to invalid\n" +" commands by searching for a factoid; basically making the whatis\n" +" unnecessary when you want all factoids for a given key." #: config.py:64 msgid "" From 65892c9aa4bc2e4a4f4997b044e399e5d3ea88fc Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 20 Jul 2011 15:29:48 +0300 Subject: [PATCH 128/244] Games: fix l18n-fi --- plugins/Games/locale/fi.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Games/locale/fi.po b/plugins/Games/locale/fi.po index 773aa56bc..903c61db1 100644 --- a/plugins/Games/locale/fi.po +++ b/plugins/Games/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-03 12:37+0200\n" +"PO-Revision-Date: 2011-07-20 15:29+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -72,7 +72,7 @@ msgstr "Se on mahdollista.|Kyllä!|Tietysti.|Luonnollisesti.|Ilmeisesti.|Olkoon #: plugin.py:86 msgid "In your dreams.|I doubt it very much.|No chance.|The outlook is poor.|Unlikely.|About as likely as pigs flying.|You're kidding, right?|NO!|NO.|No.|The answer is a resounding no." -msgstr "Unissasi.|Minä epäilen sitä kovasti.|Ei mahdollista.|Näkymät ovat huonot.|Epätodennäköisesti.|Yhtä toden näköisesti siat lentävät.|Kai sinä pilailet?|EI!|EI.|Ei.|Vastaus on raikuva ei." +msgstr "Unissasi.|Minä epäilen sitä kovasti.|Ei mahdollista.|Näkymät ovat huonot.|Epätodennäköisesti.|Yhtä todennäköisesti, kuin siat lentävät.|Kai sinä pilailet?|EI!|EI.|Ei.|Vastaus on raikuva ei." #: plugin.py:90 msgid "Maybe...|No clue.|_I_ don't know.|The outlook is hazy, please ask again later.|What are you asking me for?|Come again?|You know the answer better than I.|The answer is def-- oooh! shiny thing!" From d3788feecba3a271b7dbced5b2015da2f0bf8dcb Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 20 Jul 2011 16:20:18 +0300 Subject: [PATCH 129/244] Factoids: updated incompleted Translation. --- plugins/Factoids/locale/fi.po | 53 ++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/plugins/Factoids/locale/fi.po b/plugins/Factoids/locale/fi.po index 62de75308..dd0ec3ecc 100644 --- a/plugins/Factoids/locale/fi.po +++ b/plugins/Factoids/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-06-28 19:40+CEST\n" -"PO-Revision-Date: 2011-07-17 14:25+0200\n" +"PO-Revision-Date: 2011-07-20 16:19+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -60,18 +60,26 @@ msgid "" " several approximate matching algorithms and return a list of matching keys,\n" " before giving up." msgstr "" +"Jos sinä yrität etsiä olematonta factoidia,\n" +" tämä asetus saa botin yrittämään löytää mahdollisesti täsmääviä avaimia\n" +" muutaman tarkan täsmäusalgoritmin läpi ja palauttaa listan täsmäävistä avaimista ennen,\n" +" kuin luovuttaa." #: config.py:69 msgid "$key could be $value." -msgstr "" +msgstr "$key voisi olla $value." #: config.py:69 +#, fuzzy msgid "" "Determines the format of\n" " the response given when a factoid's value is requested. All the standard\n" " substitutes apply, in addition to \"$key\" for the factoid's key and \"$value\"\n" " for the factoid's value." msgstr "" +"Määrittää missä muodossa factoidin arvo annetaan, kun\n" +" factoidin arvoa pyydetään. Kaikki perus-\n" +" korvikkeet ovat voimassa, \"$key\"men lisäksi factoidin arvolle ja \"$value\"\llen factoidin arvolle." #: plugin.py:179 msgid "" @@ -84,6 +92,14 @@ msgid "" " via the learnSeparator registry value.\n" " " msgstr "" +"[] %s \n" +"\n" +" Liittää . on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" Sana '%s' on vaadittu erottamaan avain arvosta.\n" +" Se voidaan vaihtaa toiseksi sanaksi\n" +" learnSeparator rekisteriarvolla.\n" +" " #: plugin.py:199 msgid "" @@ -94,17 +110,23 @@ msgid "" " If that fails, use the Damerau-Levenshtein edit-distance metric.\n" " " msgstr "" +"Yritä typo-täsmätä mahdollisia factoideja.\n" +" \n" +" Oleta, että ensinmäinen kirjain on oikein, vähentääksesi suoritusaikaa. \n" +" Ensiksi, yritä yksinkertaista jokerimerkki hakua.\n" +" Jos se epäonnistuu, käytä Damerau-Levenshtein muokkaus-etäisyys metriä.\n" +" " #: plugin.py:257 #: plugin.py:386 msgid "That's not a valid number for that key." -msgstr "" +msgstr "Tuo ei ole kelvollinen numero tuolle avaimelle." #: plugin.py:279 #: plugin.py:372 #: plugin.py:598 msgid "No factoid matches that key." -msgstr "" +msgstr "Mikään factoidi ei täsmää tuota avainta." #: plugin.py:304 msgid "" @@ -117,11 +139,19 @@ msgid "" " itself.\n" " " msgstr "" +"[] [--raw] []\n" +"\n" +" Etsii arvoa factoidi tietokannasta. Jos numero on annettu,\n" +" palauttaa vain juuri sen factoidin. Jos '--raw' asetus on\n" +" annettu, muuttujan korvike ei vaikuta factoidissa.\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " #: plugin.py:321 #: plugin.py:523 msgid "key id" -msgstr "" +msgstr "avaimen id" #: plugin.py:334 msgid "" @@ -135,15 +165,24 @@ msgid "" " a new key but an existing (verbatim) factoid content.\n" " " msgstr "" +"[] []\n" +"\n" +" Lisää uudenavaimen factoidiin, joka on liitetty .\n" +" on vaadittu vain, jos vain yksi factoid on liitetty\n" +" .\n" +"\n" +" Sama toiminto voidaan suorittaa 'learn' toiminnolla, mutta\n" +" uusi avain tulee olemassa olevan (verbatim) factoidin sisällön kautta.\n" +" " #: plugin.py:381 #: plugin.py:398 msgid "This key-factoid relationship already exists." -msgstr "" +msgstr "Tämä avain-factoidi suhde on jo olemassa." #: plugin.py:389 msgid "This key has more than one factoid associated with it, but you have not provided a number." -msgstr "" +msgstr "Tähän avaimeen on liitetty useampi, kuin yksi factoidi, mutta sinä et antanut numeroa." #: plugin.py:403 msgid "" From c571d0e0073d54e7c4250de0c19a18513547270e Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Wed, 20 Jul 2011 21:28:43 +0200 Subject: [PATCH 130/244] Topic: fix typo in @unlock help. --- plugins/Topic/locale/fr.po | 4 ++-- plugins/Topic/messages.pot | 2 +- plugins/Topic/plugin.py | 2 +- src/version.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/Topic/locale/fr.po b/plugins/Topic/locale/fr.po index a5d106512..76774869c 100644 --- a/plugins/Topic/locale/fr.po +++ b/plugins/Topic/locale/fr.po @@ -294,13 +294,13 @@ msgstr "verrouiller le topic" msgid "" "[]\n" "\n" -" Unlocks the topic (sets the mode +t) in . is only\n" +" Unlocks the topic (sets the mode -t) in . is only\n" " necessary if the message isn't sent in the channel itself.\n" " " msgstr "" "[]\n" "\n" -"Déverrouille le topic (défini le mode +t) sur le . n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." +"Déverrouille le topic (défini le mode -t) sur le . n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." #: plugin.py:496 msgid "unlock the topic" diff --git a/plugins/Topic/messages.pot b/plugins/Topic/messages.pot index b6eb7aa78..b462cfc6f 100644 --- a/plugins/Topic/messages.pot +++ b/plugins/Topic/messages.pot @@ -272,7 +272,7 @@ msgstr "" msgid "" "[]\n" "\n" -" Unlocks the topic (sets the mode +t) in . is only\n" +" Unlocks the topic (sets the mode -t) in . is only\n" " necessary if the message isn't sent in the channel itself.\n" " " msgstr "" diff --git a/plugins/Topic/plugin.py b/plugins/Topic/plugin.py index d3bfa1862..9ed83e2d9 100644 --- a/plugins/Topic/plugin.py +++ b/plugins/Topic/plugin.py @@ -485,7 +485,7 @@ class Topic(callbacks.Plugin): def unlock(self, irc, msg, args, channel): """[] - Unlocks the topic (sets the mode +t) in . is only + Unlocks the topic (sets the mode -t) in . is only necessary if the message isn't sent in the channel itself. """ if not self._checkManageCapabilities(irc, msg, channel): diff --git a/src/version.py b/src/version.py index 4550c59d2..2ad7e5cb7 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-19T23:49:34+0200)' +version = '0.83.4.1+limnoria (2011-07-20T21:28:43+0200)' From e38d00cfc105714d0f0ae463b297af584b1c4185 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Thu, 21 Jul 2011 12:43:19 +0300 Subject: [PATCH 131/244] Factoids: 51% completed ln18-fi --- plugins/Factoids/locale/fi.po | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/plugins/Factoids/locale/fi.po b/plugins/Factoids/locale/fi.po index dd0ec3ecc..1596cf741 100644 --- a/plugins/Factoids/locale/fi.po +++ b/plugins/Factoids/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-06-28 19:40+CEST\n" -"PO-Revision-Date: 2011-07-20 16:19+0200\n" +"PO-Revision-Date: 2011-07-21 12:42+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -202,6 +202,21 @@ msgid "" " itself.\n" " " msgstr "" +"[] [--plain] [--alpha] []\n" +"\n" +" Palauttaa factoidien top-listan. käyttömäärän\n" +" (rank) perusteella. Jos ei ole annettu\n" +" palauttaa factoideja rankListLength rekisteriarvon määrittämän määrän.\n" +"\n" +" Jos asetus --plain on annettu, ranking numeroita ja käyttömääriä ei sisällytetä\n" +" ulostuloon.\n" +"\n" +" Jos --alpha asetus on annettu --plain :in lisäksi, avaimet lajitellaan\n" +" aakkosjärjestyksessä, rankingin sijasta.\n" +"\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " #: plugin.py:448 msgid "" @@ -212,6 +227,12 @@ msgid "" " sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Lukitsee factoid(it), jotka on liitetty , jotta niitä ei voida\n" +" poistaa, eikä lisätä. on vaadittu vain, jos viestiä ei lähetetä\n" +" kanavalla itsellään.\n" +" " #: plugin.py:466 msgid "" From b429ecaba7ded29d51537462e3aaaa22eb64f8cf Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Thu, 21 Jul 2011 17:40:49 +0200 Subject: [PATCH 132/244] Anonymous: Add l18n-hu --- plugins/Anonymous/locale/hu.po | 97 ++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 plugins/Anonymous/locale/hu.po diff --git a/plugins/Anonymous/locale/hu.po b/plugins/Anonymous/locale/hu.po new file mode 100644 index 000000000..7f72e57ac --- /dev/null +++ b/plugins/Anonymous/locale/hu.po @@ -0,0 +1,97 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria Anonymous\n" +"POT-Creation-Date: 2011-06-09 18:26+CEST\n" +"PO-Revision-Date: 2011-07-21 17:32+0100\n" +"Last-Translator: nyuszika7h \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\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 "Meghatározza, hogy a bot megkövetelje-e, hogy a bővítményt használni kívánó emberek abban a csatornában legyenek, ahová névtelenül szeretnének küldeni." + +#: config.py:53 +msgid "" +"Determines whether the bot should require\n" +" people trying to use this plugin to be registered." +msgstr "Meghatározza, hogy a bot megkövetelje-e, hogy a bővítményt használni kívánó emberek regisztrálva legyenek." + +#: config.py:56 +msgid "" +"Determines what capability (if any) the bot should\n" +" require people trying to use this plugin to have." +msgstr "Meghatározza, hogy milyen képesség (ha van ilyen) legyen szükséges a bővítmény használatához." + +#: 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 "Meghatározza, hogy a bot megkövetelje-e, hogy a \"say\" parancs célja publikus legyen (pl., csatornák). Ha ez True, a bot megengedi az embereknek, hogy a \"say\" paranccsal privát üzenetet küldjenek másoknak." + +#: plugin.py:40 +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 "Ez a bővítmény megengedi a felhasználóknak, hogy névtelenül cselekedjenek a boton keresztül. A 'do' parancs hatására a bot végrehajt egy névtelen tevékenységet egy megadott csatornában, és a 'say' parancs megengedi másoknak, hogy a boton keresztül beszéljenek. Mivel ezzel elég könnyen vissza lehet élni, érdemes beállítani a supybot.plugins.Anonymous.requireCapability-t, hogy csak az adott képességgel rendelkező felhasználók használhassák ezt a bővítményt. Extra biztonságért a supybot.plugins.Anonymous.requirePresenceInChannel-lel megkövetelheted, hogy a felhasználó abban a csatornában legyen, amelyet névtelenül szeretnének megcímezni, vagy a supybot.plugins.Anonymous.requireRegistration-nel megkövetelheted, hogy a felhasználó regisztálva legyen." + +#: plugin.py:64 +msgid "You must be in %s to %q in there." +msgstr "%s-ban kell lenned, hogy a %q parancsot használd ott." + +#: plugin.py:68 +msgid "I'm lobotomized in %s." +msgstr "Némítva vagyok %s-ban." + +#: plugin.py:71 +msgid "That channel has set its capabilities so as to disallow the use of this plugin." +msgstr "A megadott csatornában nem használhatod a bővítményt a csatorna képességei miatt." + +#: plugin.py:74 +msgid "%q cannot be used to send private messages." +msgstr "A %q parancs nem használható privát üzenetek küldésére." + +#: plugin.py:80 +msgid "" +" \n" +"\n" +" Sends to . Can only send to if\n" +" supybot.plugins.Anonymous.allowPrivateTarget is True.\n" +" " +msgstr "" +" \n" +"\n" +"Elküldi -et -nek. Csak akkor küldhet -nek, ha a supybot.plugins.Anonymous.allowPrivateTarget True." + +#: plugin.py:94 +msgid "" +" \n" +"\n" +" Performs in .\n" +" " +msgstr "" +" \n" +"\n" +"Végrehajtja -et -ban." + From 435ed3196ccfa8c83cf7b466c500e163e7670679 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Thu, 21 Jul 2011 19:19:57 +0300 Subject: [PATCH 133/244] Factoids: added ln18n-fi. --- plugins/Factoids/locale/fi.po | 61 +++++++++++++++++++++++++++++------ 1 file changed, 51 insertions(+), 10 deletions(-) diff --git a/plugins/Factoids/locale/fi.po b/plugins/Factoids/locale/fi.po index 1596cf741..a1e27bbe6 100644 --- a/plugins/Factoids/locale/fi.po +++ b/plugins/Factoids/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-06-28 19:40+CEST\n" -"PO-Revision-Date: 2011-07-21 12:42+0200\n" +"PO-Revision-Date: 2011-07-21 19:18+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -243,6 +243,12 @@ msgid "" " sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Avaa factoid(it), jotka on liitetty , jotta niitä voidaan\n" +" lisätä tai poistaa. on vaadittu vain jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " #: plugin.py:505 msgid "" @@ -260,18 +266,31 @@ msgid "" " the message isn't sent in the channel itself.\n" " " msgstr "" +"[] [|*]\n" +"\n" +" Poistaa avain-factoidi suhteen factoidi\n" +" tietokannasta. jos avaimelle on useampi kuin yksi suhde,\n" +" numero on vaadittu määrittämään mikä pitäisi poistaa/\n" +" *:teä voi käyttää poistamaan kaikki suhteet .\n" +"\n" +" Jos tuloksena, avain (factoidi) jää ilman\n" +" factoidia (avain), se poistetaan tietokannasta.\n" +"\n" +" on vaadittu vain, jos viestiä\n" +" ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:537 msgid "There is no such factoid." -msgstr "" +msgstr "Tuollaista factoidia ei ole-" #: plugin.py:547 msgid "Invalid factoid number." -msgstr "" +msgstr "Epäkelvollinen factoidin numero." #: plugin.py:552 msgid "%s factoids have that key. Please specify which one to remove, or use * to designate all of them." -msgstr "" +msgstr "%s factoidilla on tuo avain. Ole hyvä ja määritä mikä poistetaan, tai käytä * poistaaksesi ne kaikki." #: plugin.py:560 msgid "" @@ -281,10 +300,15 @@ msgid "" " is only necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[]\n" +"\n" +" Palauttaa satunnaisen factoidin tietokannasta. \n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:582 msgid "I couldn't find a factoid." -msgstr "" +msgstr "En voinut löytää factoidia." #: plugin.py:587 msgid "" @@ -295,14 +319,20 @@ msgid "" " itself.\n" " " msgstr "" +"[] \n" +"\n" +" Antaa tiedot factod(eista), jotka on liitetty .\n" +" on vaadittu vain, jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " #: plugin.py:613 msgid "#%i was added by %s at %s, and has been recalled %n" -msgstr "" +msgstr "#%i:inlisäsi %s %s, aja on kutsuttu %n" #: plugin.py:616 msgid "time" -msgstr "" +msgstr "aika" #: plugin.py:626 msgid "" @@ -312,10 +342,15 @@ msgid "" " .\n" " " msgstr "" +"[] \n" +"\n" +" Vaihtaa factoidin #, joka on liitetty \n" +" mukaan.\n" +" " #: plugin.py:640 msgid "I couldn't find any key %q" -msgstr "" +msgstr "En voinut löytää yhtään avainta %q" #: plugin.py:655 msgid "" @@ -326,14 +361,20 @@ msgid "" " If --values is given, search the value space instead of the keyspace.\n" " " msgstr "" +"[] [--values] [--{regexp} ] [ ...]\n" +"\n" +" Etsii avainavaruudesta avaimia, jotka täsmäävät . Jos --regexp on annettu,\n" +" liittää arvon, joka on otettu säännöllisestä lausekkeesta ja täsmätty avaimia vastaan.\n" +" Jos --values on annettu, etsii arvoavaruudesta avainavaruuden sijaan.\n" +" " #: plugin.py:692 #: plugin.py:701 msgid "No keys matched that query." -msgstr "" +msgstr "Yksikään avain ei täsmännyt hakuun." #: plugin.py:697 #: plugin.py:706 msgid "More than 100 keys matched that query; please narrow your query." -msgstr "" +msgstr "Yli 100 avainta täsmäsi tuohon hakuun; ole hyvä ja kavenna hakuasi." From ce6a6b080a34e9c10f517e7c357d459ed1a91c91 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Thu, 21 Jul 2011 20:46:43 +0300 Subject: [PATCH 134/244] Channel: fixed l18n-fi. --- plugins/Channel/locale/fi.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Channel/locale/fi.po b/plugins/Channel/locale/fi.po index 96bc9e8d5..4a2f55a58 100644 --- a/plugins/Channel/locale/fi.po +++ b/plugins/Channel/locale/fi.po @@ -811,11 +811,11 @@ msgstr "" #: plugin.py:846 msgid "Alert to all %s ops: %s" -msgstr "Hälytys kaikki %s operaattoreille: %s" +msgstr "Hälytys kaikille kanavan %s operaattoreille: %s" #: plugin.py:848 msgid " (from %s)" -msgstr "(%s:tä)" +msgstr "(%s:ltä)" #: plugin.py:856 msgid "" From a94b10e19b093b5fe483610bed6d3e930fcf0698 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 22 Jul 2011 01:34:31 +0200 Subject: [PATCH 135/244] Channel: fix typo. --- plugins/Channel/locale/fi.po | 4 ++-- plugins/Channel/locale/fr.po | 4 ++-- plugins/Channel/messages.pot | 6 +++--- plugins/Channel/plugin.py | 4 ++-- src/version.py | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/plugins/Channel/locale/fi.po b/plugins/Channel/locale/fi.po index 96bc9e8d5..e66a3562c 100644 --- a/plugins/Channel/locale/fi.po +++ b/plugins/Channel/locale/fi.po @@ -469,7 +469,7 @@ msgid "" "\n" " If you have the #channel,op capability, this will effect a\n" " persistent ban from interacting with the bot on the given\n" -" (or the current hostmask associated with . Other\n" +" (or the current hostmask associated with ). Other\n" " plugins may enforce this ban by actually banning users with\n" " matching hostmasks when they join. is an optional\n" " argument specifying when (in \"seconds from now\") the ban should\n" @@ -651,7 +651,7 @@ msgid "" "[] {True|False}\n" "\n" " If you have the #channel,op capability, this will set the default\n" -" response to non-power-related (that is, not {op, halfop, voice}\n" +" response to non-power-related (that is, not {op, halfop, voice})\n" " capabilities to be the value you give. is only necessary\n" " if the message isn't sent in the channel itself.\n" " " diff --git a/plugins/Channel/locale/fr.po b/plugins/Channel/locale/fr.po index 71834f9e1..05ed97b35 100644 --- a/plugins/Channel/locale/fr.po +++ b/plugins/Channel/locale/fr.po @@ -400,7 +400,7 @@ msgid "" "\n" " If you have the #channel,op capability, this will effect a\n" " persistent ban from interacting with the bot on the given\n" -" (or the current hostmask associated with . Other\n" +" (or the current hostmask associated with ). Other\n" " plugins may enforce this ban by actually banning users with\n" " matching hostmasks when they join. is an optional\n" " argument specifying when (in \"seconds from now\") the ban should\n" @@ -542,7 +542,7 @@ msgid "" "[] {True|False}\n" "\n" " If you have the #channel,op capability, this will set the default\n" -" response to non-power-related (that is, not {op, halfop, voice}\n" +" response to non-power-related (that is, not {op, halfop, voice})\n" " capabilities to be the value you give. is only necessary\n" " if the message isn't sent in the channel itself.\n" " " diff --git a/plugins/Channel/messages.pot b/plugins/Channel/messages.pot index b539e379c..c469d80e8 100644 --- a/plugins/Channel/messages.pot +++ b/plugins/Channel/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-07-22 01:33+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -365,7 +365,7 @@ msgid "" "\n" " If you have the #channel,op capability, this will effect a\n" " persistent ban from interacting with the bot on the given\n" -" (or the current hostmask associated with . Other\n" +" (or the current hostmask associated with ). Other\n" " plugins may enforce this ban by actually banning users with\n" " matching hostmasks when they join. is an optional\n" " argument specifying when (in \"seconds from now\") the ban should\n" @@ -491,7 +491,7 @@ msgid "" "[] {True|False}\n" "\n" " If you have the #channel,op capability, this will set the default\n" -" response to non-power-related (that is, not {op, halfop, voice}\n" +" response to non-power-related (that is, not {op, halfop, voice})\n" " capabilities to be the value you give. is only necessary\n" " if the message isn't sent in the channel itself.\n" " " diff --git a/plugins/Channel/plugin.py b/plugins/Channel/plugin.py index dac592129..8880d3661 100644 --- a/plugins/Channel/plugin.py +++ b/plugins/Channel/plugin.py @@ -503,7 +503,7 @@ class Channel(callbacks.Plugin): If you have the #channel,op capability, this will effect a persistent ban from interacting with the bot on the given - (or the current hostmask associated with . Other + (or the current hostmask associated with ). Other plugins may enforce this ban by actually banning users with matching hostmasks when they join. is an optional argument specifying when (in "seconds from now") the ban should @@ -662,7 +662,7 @@ class Channel(callbacks.Plugin): """[] {True|False} If you have the #channel,op capability, this will set the default - response to non-power-related (that is, not {op, halfop, voice} + response to non-power-related (that is, not {op, halfop, voice}) capabilities to be the value you give. is only necessary if the message isn't sent in the channel itself. """ diff --git a/src/version.py b/src/version.py index 2ad7e5cb7..6fce22821 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-20T21:28:43+0200)' +version = '0.83.4.1+limnoria (2011-07-22T01:34:30+0200)' From e37e2924841c20d387ac4a8ba6701ce9a5c5ac5d Mon Sep 17 00:00:00 2001 From: skizzhg Date: Fri, 22 Jul 2011 01:36:07 +0200 Subject: [PATCH 136/244] Channel & Factoids & Google & MessageParser & MoobotFactoids & Services & Topic & User: Add/update l10n-it. --- plugins/Channel/locale/it.po | 823 ++++++++++++++++++++++++++++ plugins/Factoids/locale/it.po | 361 ++++++++++++ plugins/Filter/locale/it.po | 697 +++++++++++++++++++++++ plugins/Google/locale/it.po | 261 +++++++++ plugins/MessageParser/locale/it.po | 286 ++++++++++ plugins/MoobotFactoids/locale/it.po | 328 +++++++++++ plugins/Services/locale/it.po | 2 +- plugins/Topic/locale/it.po | 485 ++++++++++++++++ plugins/User/locale/it.po | 384 +++++++++++++ src/version.py | 2 +- 10 files changed, 3627 insertions(+), 2 deletions(-) create mode 100644 plugins/Channel/locale/it.po create mode 100644 plugins/Factoids/locale/it.po create mode 100644 plugins/Filter/locale/it.po create mode 100644 plugins/Google/locale/it.po create mode 100644 plugins/MessageParser/locale/it.po create mode 100644 plugins/MoobotFactoids/locale/it.po create mode 100644 plugins/Topic/locale/it.po create mode 100644 plugins/User/locale/it.po diff --git a/plugins/Channel/locale/it.po b/plugins/Channel/locale/it.po new file mode 100644 index 000000000..f9bef9f6d --- /dev/null +++ b/plugins/Channel/locale/it.po @@ -0,0 +1,823 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-21 19:43+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:48 +msgid "" +"Determines whether the bot will always try to\n" +" rejoin a channel whenever it's kicked from the channel." +msgstr "Determina se il bot proverà a rientrare in un canale ogni volta che viene espulso." + +#: plugin.py:69 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" Sets the mode in to , sending the arguments given.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Imposta in inviando l'argomento fornito. \n" +" è necessario solo se il messaggio non viene inviato nel canale stesso." +" " + +#: plugin.py:76 +msgid "change the mode" +msgstr "modificare il mode" + +#: plugin.py:80 +#, docstring +msgid "" +"[] []\n" +"\n" +" Sets the channel limit to . If is 0, or isn't given,\n" +" removes the channel limit. is only necessary if the message\n" +" isn't sent in the channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Imposta di canale. Se è uguale 0 o non viene\n" +" fornito, questo viene rimosso. è necessario solo se il\n" +" messaggio non viene inviato nel canale stesso." +" " + +#: plugin.py:90 +msgid "change the limit" +msgstr "modificare il limite" + +#: plugin.py:95 +#, docstring +msgid "" +"[]\n" +"\n" +" Sets +m on , making it so only ops and voiced users can\n" +" send messages to the channel. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Imposta +m su facendo sì che solo gli operatori e chi ha il\n" +" voice possa inviare messaggi. è necessario solo se il messaggio\n" +" non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:102 +msgid "moderate the channel" +msgstr "moderare il canale" + +#: plugin.py:106 +#, docstring +msgid "" +"[]\n" +"\n" +" Sets -m on , making it so everyone can\n" +" send messages to the channel. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Imposta -m su facendo sì che tutti possano inviare messaggi.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:114 +msgid "unmoderate the channel" +msgstr "de-moderare il canale" + +#: plugin.py:118 +#, docstring +msgid "" +"[] []\n" +"\n" +" Sets the keyword in to . If is not given, removes\n" +" the keyword requirement to join . is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Imposta in . Se non viene specificata, rimuove\n" +" quella richiesta per entrare. è necessario solo se il messaggio\n" +" non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:130 +msgid "change the keyword" +msgstr "cambiare la chiave" + +#: plugin.py:135 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will give all the s\n" +" you provide ops. If you don't provide any s, this will op you.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Se hai la capacità #canale,op permette di dare lo stato di operatore\n" +" a tutti i specificati; se nessun è fornito lo darà a te.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:147 +msgid "op someone" +msgstr "dare l'op a qualcuno" + +#: plugin.py:151 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,halfop capability, this will give all the\n" +" s you provide halfops. If you don't provide any s, this\n" +" will give you halfops. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Se hai la capacità #canale,halfop permette di dare lo stato di halfop\n" +" a tutti i specificati; se nessun è fornito lo darà a te.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:163 +msgid "halfop someone" +msgstr "dare l'halfop a qualcuno" + +#: plugin.py:168 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,voice capability, this will voice all the\n" +" s you provide. If you don't provide any s, this will\n" +" voice you. is only necessary if the message isn't sent in the\n" +" channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Se hai la capacità #canale,voice permette di dare il voice a tutti i\n" +" specificati; se nessun è fornito lo darà a te. \n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:190 +msgid "voice someone" +msgstr "dare il voice a qualcuno" + +#: plugin.py:195 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will remove operator\n" +" privileges from all the nicks given. If no nicks are given, removes\n" +" operator privileges from the person sending the message.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Se hai la capacità #canale,op permette di rimuove i privilegi di operatore a tutti\n" +" i nick specificati; se nessun nick è fornito li rimuove a chi usa il comando.\n" +" " + +#: plugin.py:202 +msgid "I cowardly refuse to deop myself. If you really want me deopped, tell me to op you and then deop me yourself." +msgstr "Codardamente mi rifiuto di rimuovermi lo stato di operatore; se davvero lo vuoi, dimmi di darlo a te e poi toglimelo." + +#: plugin.py:210 +msgid "deop someone" +msgstr "rimuovere l'op a qualcuno" + +#: plugin.py:215 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will remove half-operator\n" +" privileges from all the nicks given. If no nicks are given, removes\n" +" half-operator privileges from the person sending the message.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Se hai la capacità #canale,op permette di rimuove i privilegi di halfop a tutti\n" +" i nick specificati; se nessun nick è fornito li rimuove a chi usa il comando.\n" +" " + +#: plugin.py:222 +msgid "I cowardly refuse to dehalfop myself. If you really want me dehalfopped, tell me to op you and then dehalfop me yourself." +msgstr "Codardamente mi rifiuto di rimuovermi lo stato di halfop; se davvero lo vuoi, dimmi di dare l'op a te e poi toglimelo." + +#: plugin.py:230 +msgid "dehalfop someone" +msgstr "rimuovere l'halfop a qualcuno" + +#: plugin.py:235 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will remove voice from all\n" +" the nicks given. If no nicks are given, removes voice from the person\n" +" sending the message.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Se hai la capacità #canale,op permette di rimuovere il voice a tutti\n" +" i nick specificati; se nessun nick è fornito lo rimuove a chi usa il comando.\n" +" " + +#: plugin.py:242 +msgid "I cowardly refuse to devoice myself. If you really want me devoiced, tell me to op you and then devoice me yourself." +msgstr "Codardamente mi rifiuto di rimuovermi il voice; se davvero lo vuoi, dimmi di dare l'op a te e poi toglimelo." + +#: plugin.py:255 +#, docstring +msgid "" +"[]\n" +"\n" +" If you have the #channel,op capability, this will cause the bot to\n" +" \"cycle\", or PART and then JOIN the channel. is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Se hai la capacità #canale,op invierà il comando \"cycle\" al bot (PART e JOIN).\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:268 +#, docstring +msgid "" +"[] [, , ...] []\n" +"\n" +" Kicks (s) from for . If isn't given,\n" +" uses the nick of the person making the command as the reason.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [, , ...] []\n" +"\n" +" Caccia (kick) da con . Se non è fornito,\n" +" utilizza il nick di chi ha usato il comando. è necessario solo\n" +" se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:276 +msgid "I cowardly refuse to kick myself." +msgstr "Codardamente mi rifiuto di cacciare me stesso." + +#: plugin.py:281 +msgid "The reason you gave is longer than the allowed length for a KICK reason on this server." +msgstr "Il motivo che hai dato è più lungo della lunghezza consentita da questo server." + +#: plugin.py:286 +msgid "kick someone" +msgstr "cacciare (kick) qualcuno" + +#: plugin.py:292 +#, docstring +msgid "" +"[] [--{exact,nick,user,host}] [] []\n" +"\n" +" If you have the #channel,op capability, this will kickban for\n" +" as many seconds as you specify, or else (if you specify 0 seconds or\n" +" don't specify a number of seconds) it will ban the person indefinitely.\n" +" --exact bans only the exact hostmask; --nick bans just the nick;\n" +" --user bans just the user, and --host bans just the host. You can\n" +" combine these options as you choose. is a reason to give for\n" +" the kick.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [--{exact,nick,user,host}] [] []\n" +"\n" +" Se hai la capacità #canale,op permette di espellere (kickban) per\n" +" il numero di secondi specificati, se il valore è uguale a 0 o non viene\n" +" fornito un numero, il ban sarà a tempo indeterminato. --exact si applica\n" +" alla hostmask precisa, --nick solo al nick, --user al nome utente e\n" +" --host al nome dell'host. È possibile utilizzare più di un'opzione;\n" +" è la ragione da indicare per il kick. è necessario solo\n" +" se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:311 +msgid "I cowardly refuse to kickban myself." +msgstr "Codardamente mi rifiuto di espellere (kickban) me stesso." + +#: plugin.py:318 +msgid "I haven't seen %s." +msgstr "Non ho mai visto %s." + +#: plugin.py:326 +msgid "I cowardly refuse to ban myself." +msgstr "Codardamente mi rifiuto di bannare stesso." + +#: plugin.py:352 +msgid "%s has %s too, you can't ban him/her/it." +msgstr "anche %s ha %s, non puoi bannarlo/a." + +#: plugin.py:364 +msgid "kick or ban someone" +msgstr "cacciare (kick) o bannare qualcuno" + +#: plugin.py:371 +#, docstring +msgid "" +"[] []\n" +"\n" +" Unbans on . If is not given, unbans\n" +" any hostmask currently banned on that matches your current\n" +" hostmask. Especially useful for unbanning yourself when you get\n" +" unexpectedly (or accidentally) banned from the channel. is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Rimuove il ban di su . Se non è specificata,\n" +" rimuove qualsiasi hostmask attualmente bannata che corrisponde alla propria.\n" +" Particolarmente utile per toglierlo a sé stessi quando si viene bannati\n" +" inaspettatamente o accidentalmente. è necessario solo se il\n" +" messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:388 +msgid "All bans on %s matching %s have been removed." +msgstr "Tutti i ban su %s che corrisopndono a %s sono stati rimossi." + +#: plugin.py:392 +msgid "No bans matching %s were found on %s." +msgstr "Non è stato trovato alcun ban corrispondente a %s su %s." + +#: plugin.py:395 +msgid "unban someone" +msgstr "rimuovere il ban a qualcuno" + +#: plugin.py:400 +#, docstring +msgid "" +"[] \n" +"\n" +" If you have the #channel,op capability, this will invite \n" +" to join . is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Se hai la capacità #canale,op permette di invitare in .\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:409 +msgid "invite someone" +msgstr "invitare qualcuno" + +#: plugin.py:428 +msgid "%s is already in %s." +msgstr "%s è già in %s." + +#: plugin.py:435 +msgid "There is no %s on this network." +msgstr "Non c'è nessun %s su questa rete." + +#: plugin.py:447 +#, docstring +msgid "" +"[]\n" +"\n" +" If you have the #channel,op capability, this will \"lobotomize\" the\n" +" bot, making it silent and unanswering to all requests made in the\n" +" channel. is only necessary if the message isn't sent in\n" +" the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Se hai la capacità #canale,op permette di \"lobotomizzare\" il bot\n" +" rendendolo silenzioso (non risponderà alle richieste fatte in canale).\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:462 +#, docstring +msgid "" +"[]\n" +"\n" +" If you have the #channel,op capability, this will unlobotomize the\n" +" bot, making it respond to requests made in the channel again.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Se hai la capacità #canale,op permette di \"de-lobotomizzare\" il bot\n" +" rendendolo attivo (risponderà nuovamente alle richieste fatte in canale).\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:477 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the channels in which this bot is lobotomized.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta l'elenco dei canali nei quali il bot è lobotomizzato.\n" +" " + +#: plugin.py:492 +msgid "I'm currently lobotomized in %L." +msgstr "Sono attualmente lobotomizzato in %L." + +#: plugin.py:495 +msgid "I'm not currently lobotomized in any channels that you're in." +msgstr "Al momento non sono lobotomizzato in nessun canale in cui sei." + +#: plugin.py:502 +#, docstring +msgid "" +"[] []\n" +"\n" +" If you have the #channel,op capability, this will effect a\n" +" persistent ban from interacting with the bot on the given\n" +" (or the current hostmask associated with ). Other\n" +" plugins may enforce this ban by actually banning users with\n" +" matching hostmasks when they join. is an optional\n" +" argument specifying when (in \"seconds from now\") the ban should\n" +" expire; if none is given, the ban will never automatically expire.\n" +" is only necessary if the message isn't sent in the\n" +" channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Se hai la capacità #canale,op applica un ban permanente all'\n" +" specificata (o quella associata a ). Altri plugin possono rafforzare\n" +" questo ban effettuando un ban su utenti con una hostmask corrispondente.\n" +" è un argomento opzionale per specificare quando (in \"secondi\n" +" a partire da subito\") scadrà il ban; se non fornito, questo non scadrà mai.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:522 +#, docstring +msgid "" +"[] \n" +"\n" +" If you have the #channel,op capability, this will remove the\n" +" persistent ban on . is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Se hai la capacità #canale,op permette di rimuovere il ban permanente su .\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:534 +msgid "There are no persistent bans for that hostmask." +msgstr "Non ci sono ban permanenti per questa hostmask." + +#: plugin.py:539 +#, docstring +msgid "" +"[]\n" +"\n" +" If you have the #channel,op capability, this will show you the\n" +" current persistent bans on #channel.\n" +" " +msgstr "" +"[]\n" +"\n" +" Se hai la capacità #canale,op mostra gli attuali ban permanenti su .\n" +" " + +#: plugin.py:549 +msgid "%q (expires %t)" +msgstr "%q (scade il %t)" + +#: plugin.py:552 +msgid "%q (never expires)" +msgstr "%q (non scade)" + +#: plugin.py:556 +msgid "There are no persistent bans on %s." +msgstr "Non ci sono ban permanenti su %s." + +#: plugin.py:563 +#, docstring +msgid "" +"[] []\n" +"\n" +" If you have the #channel,op capability, this will set a persistent\n" +" ignore on or the hostmask currently\n" +" associated with . is an optional argument\n" +" specifying when (in \"seconds from now\") the ignore will expire; if\n" +" it isn't given, the ignore will never automatically expire.\n" +" is only necessary if the message isn't sent in the\n" +" channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Se hai la capacità #canale,op permette di impostare un ignore permanente\n" +" su (o quella associata a ). è un argomento\n" +" opzionale per specificare quando (in \"secondi a partire da subito\") scadrà\n" +" l'ignore; se non fornito, questo non scadrà mai. è necessario solo\n" +" se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:581 +#, docstring +msgid "" +"[] \n" +"\n" +" If you have the #channel,op capability, this will remove the\n" +" persistent ignore on in the channel. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Se hai la capacità #canale,op permette di rimuovere l'ignore permanente su .\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:593 +msgid "There are no ignores for that hostmask." +msgstr "Non ci sono ignore per questa hostmask." + +#: plugin.py:598 +#, docstring +msgid "" +"[]\n" +"\n" +" Lists the hostmasks that the bot is ignoring on the given channel.\n" +" is only necessary if the message isn't sent in the\n" +" channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Elenca le hostmask ignorate dal bot sul dato canale. è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:607 +msgid "I'm not currently ignoring any hostmasks in %q" +msgstr "Al momento non sto ignorando nessuna hostmasks in %q" + +#: plugin.py:618 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will give the user\n" +" (or the user to whom maps)\n" +" the capability in the channel. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Se hai la capacità #canale,op permette di dare a \n" +" (o quello a cui corrisponde ) sul canale. \n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:634 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will take from the\n" +" user currently identified as (or the user to whom \n" +" maps) the capability in the channel. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Se hai la capacità #canale,op permette di rimuovere all'utente\n" +" attualmente identificato da (o quello a cui corrisponde )\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:653 +msgid "That user didn't have the %L %s." +msgstr "Questo utente non ha la %L %s." + +#: plugin.py:662 +#, docstring +msgid "" +"[] {True|False}\n" +"\n" +" If you have the #channel,op capability, this will set the default\n" +" response to non-power-related (that is, not {op, halfop, voice}\n" +" capabilities to be the value you give. is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] {True|False}\n" +"\n" +" Se hai la capacità #canale,op permette di impostare la risposta predefinita\n" +" relativa alle capacità senza potere (cioè non op, halfop, voice). \n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:680 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will add the channel\n" +" capability for all users in the channel. is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Se hai la capacità #canale,op permette di aggiungere la \n" +" del canale per tutti gli utenti nel canale. è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:695 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will unset the channel\n" +" capability so each user's specific capability or the\n" +" channel default capability will take precedence. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Se hai la capacità #canale,op permette di rimuovere la \n" +" del canale in modo che avranno la precedenza tutte quelle specifiche\n" +" di ogni utente o quella predefinita del canale. è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:711 +msgid "capability" +msgstr "capacità" + +#: plugin.py:714 +msgid "I do not know about the %L %s." +msgstr "Non so nulla a proposito di %L %s." + +#: plugin.py:721 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the capabilities present on the . is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Riporta le capacità presenti su . è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:733 +#, docstring +msgid "" +"[] [] []\n" +"\n" +" If you have the #channel,op capability, this will disable the \n" +" in . If is provided, will be disabled only\n" +" for that plugin. If only is provided, all commands in the\n" +" given plugin will be disabled. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [] []\n" +"\n" +" Se hai la capacità #canale,op permette di disabilitare in .\n" +" Se è specificato, sarà disabilitato solo per quel plugin.\n" +" Se viene fornito solo , disabilita tutti i comandi del dato plugin.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:749 plugin.py:788 +msgid "The %s plugin does not have a command called %s." +msgstr "Il plugin %s non ha un comando chiamato %s." + +#: plugin.py:756 plugin.py:795 +msgid "No plugin or command named %s could be found." +msgstr "Non è stato trovato nessun plugin o comando chiamato %s." + +#: plugin.py:772 +#, docstring +msgid "" +"[] [] []\n" +"\n" +" If you have the #channel,op capability, this will enable the \n" +" in if it has been disabled. If is provided,\n" +" will be enabled only for that plugin. If only is\n" +" provided, all commands in the given plugin will be enabled. \n" +" is only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [] []\n" +"\n" +" Se hai la capacità #canale,op permette di abilitare (se questo\n" +" è stato disabilitato) in . Se è specificato, sarà\n" +" abilitato solo per quel plugin. Se viene fornito solo , abilita tutti\n" +" i comandi del dato plugin. è necessario solo se il messaggio non viene\n" +" inviato nel canale stesso.\n" +" " + +#: plugin.py:809 +msgid "%s was not disabled." +msgstr "%s non è stato disabilitato." + +#: plugin.py:818 +#, docstring +msgid "" +"[] [--count]\n" +"\n" +" Returns the nicks in . is only necessary if the\n" +" message isn't sent in the channel itself. Returns only the number of\n" +" nicks if --count option is provided.\n" +" " +msgstr "" +"[] [--count]\n" +"\n" +" Riporta l'elenco dei nick in . è necessario solo se\n" +" il messaggio non viene inviato nel canale stesso. Se viene fornita\n" +" l'opzione --count, mostra solo il numero dei nick.\n" +" " + +#: plugin.py:830 +msgid "You don't have access to that information." +msgstr "Non hai accesso a questa informazione." + +#: plugin.py:843 +#, docstring +msgid "" +"Internal message for notifying all the #channel,ops in a channel of\n" +" a given situation." +msgstr "" +"Messaggio interno per notificare una data situazione a tutti gli operatori (#canale,op) in un canale.\n" + +#: plugin.py:846 +msgid "Alert to all %s ops: %s" +msgstr "Avviso a tutti gli op di %s: %s" + +#: plugin.py:848 +msgid " (from %s)" +msgstr " (da %s)" + +#: plugin.py:856 +#, docstring +msgid "" +"[] \n" +"\n" +" Sends to all the users in who have the ,op\n" +" capability.\n" +" " +msgstr "" +"[] \n" +"\n" +" Invia a tutti gli utenti in che hanno la capacità ,op.\n" +" " + diff --git a/plugins/Factoids/locale/it.po b/plugins/Factoids/locale/it.po new file mode 100644 index 000000000..28f983b3a --- /dev/null +++ b/plugins/Factoids/locale/it.po @@ -0,0 +1,361 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-18 13:05+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:45 +#, docstring +msgid "" +"Value must include $value, otherwise the factoid's value would be left\n" +" out." +msgstr "Il valore deve includere $value, altrimenti il valore del factoid non viene mostrato." + +#: config.py:51 +msgid "" +"Determines what separator must be used in the\n" +" learn command. Defaults to 'as' -- learn as . Users might\n" +" feel more comfortable with 'is' or something else, so it's\n" +" configurable." +msgstr "" +"Determina quale separatore utilizzare nel comando \"learn\". Il predefinito è\n" +" \"as\": learn as . Gli utenti possono trovare più comodo\n" +" \"is\" o altro, per cui è configurabile." + +#: config.py:56 +msgid "" +"Determines whether the bot will reply with the\n" +" single matching factoid if only one factoid matches when using the search\n" +" command." +msgstr "" +"Determina se, usando il comando \"search\", il bot mosterà il contenuto del\n" +" factoid se ne trova uno solo corrispondente." + +#: config.py:60 +msgid "" +"Determines whether the bot will reply to invalid\n" +" commands by searching for a factoid; basically making the whatis\n" +" unnecessary when you want all factoids for a given key." +msgstr "" +"Determina se il bot risponderà a comandi non validi cercando un factoid;\n" +" fondamentalmente rende il comando \"whatis\" non necessario quando si\n" +" vogliono tutti i factoid per una chiave specifica." + +#: config.py:64 +msgid "" +"If you try to look up a nonexistent factoid,\n" +" this setting make the bot try to find some possible matching keys through\n" +" several approximate matching algorithms and return a list of matching keys,\n" +" before giving up." +msgstr "" +"Richiamando un factoid non esistente, con questa opzione il bot fa una ricerca\n" +" di possibili chiavi corrispondenti tramite vari algoritmi di approssimazione\n" +" e restituisce un elenco di chiavi simili." + +#: config.py:69 +msgid "$key could be $value." +msgstr "$key potrebbe essere $value." + +#: config.py:69 +msgid "" +"Determines the format of\n" +" the response given when a factoid's value is requested. All the standard\n" +" substitutes apply, in addition to \"$key\" for the factoid's key and \"$value\"\n" +" for the factoid's value." +msgstr "" +"Determina il formato delle risposte date quando viene richiesto il valore di un\n" +" factoid. In aggiunta a \"$key\" per la chiave e \"$value\" per il valore,\n" +" sono applicati tutti gli standard di sostituzione." + +#: plugin.py:179 +msgid "" +"[] %s \n" +"\n" +" Associates with . is only\n" +" necessary if the message isn't sent on the channel\n" +" itself. The word '%s' is necessary to separate the\n" +" key from the value. It can be changed to another word\n" +" via the learnSeparator registry value.\n" +" " +msgstr "" +"[] %s \n" +"\n" +" Associa a . è necessario solo se il messaggio\n" +" non viene inviato nel canale stesso. La parola \"%s\" è necessaria per\n" +" separare il valore della chiave; può essere modificata con una diversa\n" +" tramite la voce di configurazione \"learnSeparator\".\n" +" " + +#: plugin.py:199 +#, docstring +msgid "" +"Try to typo-match input to possible factoids.\n" +" \n" +" Assume first letter is correct, to reduce processing time. \n" +" First, try a simple wildcard search.\n" +" If that fails, use the Damerau-Levenshtein edit-distance metric.\n" +" " +msgstr "" + +#: plugin.py:257 plugin.py:386 +msgid "That's not a valid number for that key." +msgstr "Non è un numero valido per questa chiave." + +#: plugin.py:279 plugin.py:372 plugin.py:598 +msgid "No factoid matches that key." +msgstr "Nessun factoid corrisponde a questa chiave." + +#: plugin.py:304 +#, docstring +msgid "" +"[] [--raw] []\n" +"\n" +" Looks up the value of in the factoid database. If given a\n" +" number, will return only that exact factoid. If '--raw' option is\n" +" given, no variable substitution will take place on the factoid.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [--raw] []\n" +"\n" +" Cerca il valore di nel database dei factoid. Fornendo un numero\n" +" restituirà solo l'esatto factoid; se l'opzione --raw è specificata non\n" +" verrà effettuata alcuna sostituzione di variabile. è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso." +" " + +#: plugin.py:321 plugin.py:523 +msgid "key id" +msgstr "ID chiave" + +#: plugin.py:334 +#, docstring +msgid "" +"[] []\n" +"\n" +" Adds a new key for factoid associated with .\n" +" is only necessary if there's more than one factoid associated\n" +" with .\n" +"\n" +" The same action can be accomplished by using the 'learn' function with\n" +" a new key but an existing (verbatim) factoid content.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Aggiunge al factoid associato a .\n" +" è necessario solo se c'è più di un factoid associato a .\n" +"\n" +" La stessa cosa può essere ottenuta utilizzando la funzione \"learn\"\n" +" con una nuova chiave su un factoid esistente.\n" +" " + +#: plugin.py:381 plugin.py:398 +msgid "This key-factoid relationship already exists." +msgstr "Questa relazione chiave-factoid esiste già." + +#: plugin.py:389 +msgid "This key has more than one factoid associated with it, but you have not provided a number." +msgstr "Questa chiave ha più di un factoid associato ma non è stato fornito un numero." + +#: plugin.py:403 +#, docstring +msgid "" +"[] [--plain] [--alpha] []\n" +"\n" +" Returns a list of top-ranked factoid keys, sorted by usage count\n" +" (rank). If is not provided, the default number of factoid keys\n" +" returned is set by the rankListLength registry value.\n" +"\n" +" If --plain option is given, rank numbers and usage counts are not\n" +" included in output.\n" +"\n" +" If --alpha option is given in addition to --plain, keys are sorted\n" +" alphabetically, instead of by rank.\n" +"\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [--plain] [--alpha] []\n" +"\n" +" Riporta un elenco dei factoid più utilizzati. Se non è fornito,\n" +" corrisponde al numero di chiavi definite dalla voce di registro rankListLength.\n" +"\n" +" Se l'opzione --plain è specificata, i numeri di classifica e il conteggio\n" +" dell'uso non verranno inclusi nel risultato.\n" +"\n" +" Se l'opzione --alpha è specificata in aggiunta a --plain, le chiavi saranno\n" +" ordinate alfabeticamente anziché per numero di classifica.\n" +"\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:448 +#, docstring +msgid "" +"[] \n" +"\n" +" Locks the factoid(s) associated with so that they cannot be\n" +" removed or added to. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Blocca i factoid associati a in modo che non sia possibile rimuoverne o\n" +" aggiungerne. è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:466 +#, docstring +msgid "" +"[] \n" +"\n" +" Unlocks the factoid(s) associated with so that they can be\n" +" removed or added to. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Sblocca i factoid associati a in modo che sia possibile rimuoverne o\n" +" aggiungerne. è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:505 +#, docstring +msgid "" +"[] [|*]\n" +"\n" +" Removes a key-fact relationship for key from the factoids\n" +" database. If there is more than one such relationship for this key,\n" +" a number is necessary to determine which one should be removed.\n" +" A * can be used to remove all relationships for .\n" +"\n" +" If as a result, the key (factoid) remains without any relationships to\n" +" a factoid (key), it shall be removed from the database.\n" +"\n" +" is only necessary if\n" +" the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [|*]\n" +"\n" +" Rimuove una relazione chiave-factoid di dal database.\n" +" Se è presnete più di una associazione, è necessario un numero per\n" +" determinare quale vada rimossa. Un * (asterisco) può essere utilizzato\n" +" per rimuovere tutte le relazioni di .\n" +"\n" +" Se in seguito a questa operazione la chiave (factoid) rimane senza una\n" +" relazione con un factoid (chiave), questa andrà rimossa dal database.\n" +"\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:537 +msgid "There is no such factoid." +msgstr "Non c'è alcun factoid." + +#: plugin.py:547 +msgid "Invalid factoid number." +msgstr "Numero di factoid non valido." + +#: plugin.py:552 +msgid "%s factoids have that key. Please specify which one to remove, or use * to designate all of them." +msgstr "%s factoid hanno questa chiave; specificare quale si desidera rimuovere o utilizzare * per definirli tutti." + +#: plugin.py:560 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns a random factoid from the database for . \n" +" is only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Restituisce un factoid casuale dal database di . è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:582 +msgid "I couldn't find a factoid." +msgstr "Impossibile trovare un factoid." + +#: plugin.py:587 +#, docstring +msgid "" +"[] \n" +"\n" +" Gives information about the factoid(s) associated with .\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Fornisce informazioni sui factoid associati a . è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:613 +msgid "#%i was added by %s at %s, and has been recalled %n" +msgstr "#%i è stato aggiunto da %s il %s e richiamato %n" + +#: plugin.py:616 +msgid "time" +msgstr "volte" + +#: plugin.py:626 +#, docstring +msgid "" +"[] \n" +"\n" +" Changes the factoid # associated with according to\n" +" .\n" +" " +msgstr "" +"[] \n" +"\n" +" Modifica il del factoid associato a in base a .\n" +" " + +#: plugin.py:640 +msgid "I couldn't find any key %q" +msgstr "Non trovo nessuna chiave %q" + +#: plugin.py:655 +#, docstring +msgid "" +"[] [--values] [--{regexp} ] [ ...]\n" +"\n" +" Searches the keyspace for keys matching . If --regexp is given,\n" +" its associated value is taken as a regexp and matched against the keys.\n" +" If --values is given, search the value space instead of the keyspace.\n" +" " +msgstr "" +"[] [--values] [--{regexp} ] [ ...]\n" +"\n" +" Cerca le chiavi corrispondenti a . Se --regexp è fornita,\n" +" ricerca le chiavi corrispondenti all'espressione regolare. Se --values è\n" +" specificato, cerca i valori piuttosto che le chiavi.\n" +" " + +#: plugin.py:692 plugin.py:701 +msgid "No keys matched that query." +msgstr "Nessuna chiave corrisponde a questa richiesta." + +#: plugin.py:697 plugin.py:706 +msgid "More than 100 keys matched that query; please narrow your query." +msgstr "A questa richiesta corrispondono più di 100 chiavi, restringere la ricerca." + diff --git a/plugins/Filter/locale/it.po b/plugins/Filter/locale/it.po new file mode 100644 index 000000000..b0ed09f82 --- /dev/null +++ b/plugins/Filter/locale/it.po @@ -0,0 +1,697 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-19 22:51+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:38 +msgid "" +"Determines whether or not to\n" +" replace letters in the output of spellit." +msgstr "Determina se sostituire o meno le lettere nell'output di spellit." + +#: config.py:41 +msgid "" +"Determines whether or not\n" +" to replace punctuation in the output of spellit." +msgstr "Determina se sostituire o meno la punteggiatura nell'output di spellit." + +#: config.py:44 +msgid "" +"Determines whether or not to\n" +" replace numbers in the output of spellit." +msgstr "Determina se sostituire o meno i numeri nell'output di spellit." + +#: config.py:48 +msgid "" +"Determines the minimum number of a letters\n" +" in a word before it will be shrunken by the shrink command/filter." +msgstr "" +"Determina il numero minimo di lettere in una parola prima di essere\n" +" abbreviata dal comando shrink." + +#: plugin.py:50 +#, docstring +msgid "" +"This plugin offers several commands which transform text in some way.\n" +" It also provides the capability of using such commands to 'filter' the\n" +" output of the bot -- for instance, you could make everything the bot says\n" +" be in leetspeak, or Morse code, or any number of other kinds of filters.\n" +" Not very useful, but definitely quite fun :)" +msgstr "" +"Questo plugin offre svariati comandi che trasformano il testo in vari modi.\n" +" Fornisce anche la possibilità di utilizzare questi comandi per \"filtrare\"\n" +" l'output del bot; è possibile, ad esempio, far sì che qualsiasi cosa dica\n" +" sia in l33t5p34k, codice Morse o altri tipi di trasformazione.\n" +" Non molto utile ma decisamente divertente :)" + +#: plugin.py:84 +#, docstring +msgid "" +"[] []\n" +"\n" +" Sets the outFilter of this plugin to be . If no command is\n" +" given, unsets the outFilter. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +" Imposta il filtro di uscita di questo plugin per essere .\n" +" Se non viene specificato alcun comando il filtro sarà disattivato.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:97 +msgid "That's not a valid filter command." +msgstr "Questo non è un filtro valido." + +#: plugin.py:107 +#, docstring +msgid "" +"\n" +"\n" +" Removes all the vowels from . (If you're curious why this is\n" +" named 'hebrew' it's because I (jemfinch) thought of it in Hebrew class,\n" +" and printed Hebrew often elides the vowels.)\n" +" " +msgstr "" +"\n" +"\n" +" Rimuove tutte le vocali da (se siete curiosi di sapere come mai si\n" +" chiama \"hebrew\" è perché io (jemfinch) l'ho pensata in ebraico, le stampe\n" +" ebraiche sono spesso prive di vocali).\n" +" " + +#: plugin.py:119 +#, docstring +msgid "" +"\n" +"\n" +" Removes all the spaces from .\n" +" " +msgstr "" +"\n" +"\n" +" Rimuove tutti gli spazi da .\n" +" " + +#: plugin.py:129 +#, docstring +msgid "" +"\n" +"\n" +" Returns , with all consecutive duplicated letters removed.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce rimuovendo tutte le lettere doppie consecutive.\n" +" " + +#: plugin.py:142 +#, docstring +msgid "" +"\n" +"\n" +" Returns the binary representation of .\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce la rappresentazione binaria di .\n" +" " + +#: plugin.py:168 +#, docstring +msgid "" +"\n" +"\n" +" Returns the character representation of binary .\n" +" Assumes ASCII, 8 digits per character.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce la rappresentazione in caratteri di \n" +" binario. Presuppone sia ASCII, 8 cifre per carattere.\n" +" " + +#: plugin.py:179 +#, docstring +msgid "" +"\n" +"\n" +" Returns a hexstring from the given string; a hexstring is a string\n" +" composed of the hexadecimal value of each character in the string\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce una stringa esadecimale dalla stringa data; una stringa\n" +" esadecimale è una stringa composta dal valore esadecimale di ogni carattere.\n" +" " + +#: plugin.py:189 +#, docstring +msgid "" +"\n" +"\n" +" Returns the string corresponding to . Obviously,\n" +" must be a string of hexadecimal digits.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce la stringa corrispondente a ,\n" +" quest'ultima deve ovviamente contenere caratteri esadecimali.\n" +" " + +#: plugin.py:197 +msgid "Invalid input." +msgstr "Input non valido." + +#: plugin.py:202 +#, docstring +msgid "" +"\n" +"\n" +" Rotates 13 characters to the right in the alphabet. Rot13 is\n" +" commonly used for text that simply needs to be hidden from inadvertent\n" +" reading by roaming eyes, since it's easily reversible.\n" +" " +msgstr "" +"\n" +"\n" +" Sposta ogni carattere di 13 posizioni a destra nell'alfabeto.\n" +" Giacché Rot13 è facilmente reversibile, è comunemente usato per offuscare\n" +" del testo da letture involontarie.\n" +" " + +#: plugin.py:213 +#, docstring +msgid "" +"\n" +"\n" +" Returns the lisping version of \n" +" " +msgstr "" +"\n" +"\n" +" Restituisce la versione blesa di \n" +" " + +#: plugin.py:244 +#, docstring +msgid "" +"\n" +"\n" +" Returns the l33tspeak version of \n" +" " +msgstr "" +"\n" +"\n" +" Restituisce la versione l33t di \n" +" " + +#: plugin.py:264 +#, docstring +msgid "" +"\n" +"\n" +" Replies with an especially k-rad translation of .\n" +" " +msgstr "" +"\n" +"\n" +" Risponde con una particolare traduzione k-rad di .\n" +" " + +#: plugin.py:280 +#, docstring +msgid "" +"\n" +"\n" +" Replies with a string where each word is scrambled; i.e., each internal\n" +" letter (that is, all letters but the first and last) are shuffled.\n" +" " +msgstr "" +"\n" +"\n" +" Risponde con una stringa dove ogni parola è mescolata; ovvero ogni\n" +" lettera interna (tutte le lettere tranne la prima e l'ultima) sono mischiate.\n" +" " + +#: plugin.py:345 +#, docstring +msgid "" +"\n" +"\n" +" Does the reverse of the morse command.\n" +" " +msgstr "" +"\n" +"\n" +" Fa il contrario del comando morse.\n" +" " + +#: plugin.py:362 +#, docstring +msgid "" +"\n" +"\n" +" Gives the Morse code equivalent of a given string.\n" +" " +msgstr "" +"\n" +"\n" +" Mostra il codice Morse equivalente alla stringa fornita.\n" +" " + +#: plugin.py:374 +#, docstring +msgid "" +"\n" +"\n" +" Reverses .\n" +" " +msgstr "" +"\n" +"\n" +" Riporta in maniera speculare.\n" +" " + +#: plugin.py:391 +#, docstring +msgid "" +"\n" +"\n" +" Returns with each character randomly colorized.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce con ogni carattere colorato in modo casuale.\n" +" " + +#: plugin.py:401 +#, docstring +msgid "" +"\n" +"\n" +" Returns colorized like a rainbow.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce colorato come un arcobaleno.\n" +" " + +#: plugin.py:412 +#, docstring +msgid "" +"\n" +"\n" +" Returns stripped of all color codes.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce privato di tutti i codici colore.\n" +" " + +#: plugin.py:421 +#, docstring +msgid "" +"\n" +"\n" +" Returns as if an AOLuser had said it.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce come pronunciato da un utente AOL.\n" +" " + +#: plugin.py:448 +#, docstring +msgid "" +"\n" +"\n" +" Returns as if JeffK had said it himself.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce come pronunciato da JeffK.\n" +" " + +#: plugin.py:544 +msgid "ay" +msgstr "a" + +#: plugin.py:544 +msgid "bee" +msgstr "bi" + +#: plugin.py:544 +msgid "dee" +msgstr "di" + +#: plugin.py:544 +msgid "see" +msgstr "ci" + +#: plugin.py:545 +msgid "aych" +msgstr "acca" + +#: plugin.py:545 +msgid "ee" +msgstr "e" + +#: plugin.py:545 +msgid "eff" +msgstr "effe" + +#: plugin.py:545 +msgid "gee" +msgstr "gi" + +#: plugin.py:546 +msgid "ell" +msgstr "elle" + +#: plugin.py:546 +msgid "eye" +msgstr "i" + +#: plugin.py:546 +msgid "jay" +msgstr "gei" + +#: plugin.py:546 +msgid "kay" +msgstr "cappa" + +#: plugin.py:547 +msgid "cue" +msgstr "cu" + +#: plugin.py:547 +msgid "em" +msgstr "emme" + +#: plugin.py:547 +msgid "en" +msgstr "enne" + +#: plugin.py:547 +msgid "oh" +msgstr "o" + +#: plugin.py:547 +msgid "pee" +msgstr "pi" + +#: plugin.py:548 +msgid "arr" +msgstr "erre" + +#: plugin.py:548 +msgid "ess" +msgstr "esse" + +#: plugin.py:548 +msgid "tee" +msgstr "ti" + +#: plugin.py:548 +msgid "you" +msgstr "u" + +#: plugin.py:549 +msgid "double-you" +msgstr "doppia vu" + +#: plugin.py:549 +msgid "ecks" +msgstr "ics" + +#: plugin.py:549 +msgid "vee" +msgstr "vi" + +#: plugin.py:549 +msgid "why" +msgstr "ipsilon" + +#: plugin.py:550 +msgid "zee" +msgstr "zeta" + +#: plugin.py:555 +msgid "exclamation point" +msgstr "punto esclamativo" + +#: plugin.py:556 +msgid "quote" +msgstr "apice doppio" + +#: plugin.py:557 +msgid "pound" +msgstr "cancelletto" + +#: plugin.py:558 +msgid "dollar sign" +msgstr "dollaro" + +#: plugin.py:559 +msgid "percent" +msgstr "percentuale" + +#: plugin.py:560 +msgid "ampersand" +msgstr "e commerciale" + +#: plugin.py:561 +msgid "single quote" +msgstr "apice singolo" + +#: plugin.py:562 +msgid "left paren" +msgstr "parentesi tonda sinistra" + +#: plugin.py:563 +msgid "right paren" +msgstr "parentesi tonda destra" + +#: plugin.py:564 +msgid "asterisk" +msgstr "asterisco" + +#: plugin.py:565 +msgid "plus" +msgstr "più" + +#: plugin.py:566 +msgid "comma" +msgstr "virgola" + +#: plugin.py:567 +msgid "minus" +msgstr "meno" + +#: plugin.py:568 +msgid "period" +msgstr "punto" + +#: plugin.py:569 +msgid "slash" +msgstr "slash" + +#: plugin.py:570 +msgid "colon" +msgstr "due punti" + +#: plugin.py:571 +msgid "semicolon" +msgstr "punto e virgola" + +#: plugin.py:572 +msgid "less than" +msgstr "minore" + +#: plugin.py:573 +msgid "equals" +msgstr "uguale" + +#: plugin.py:574 +msgid "greater than" +msgstr "maggiore" + +#: plugin.py:575 +msgid "question mark" +msgstr "punto interrogativo" + +#: plugin.py:576 +msgid "at" +msgstr "chiocciola" + +#: plugin.py:577 +msgid "left bracket" +msgstr "parentesi quadra sinistra" + +#: plugin.py:578 +msgid "backslash" +msgstr "backslash" + +#: plugin.py:579 +msgid "right bracket" +msgstr "parentesi quadra destra" + +#: plugin.py:580 +msgid "caret" +msgstr "circonflesso" + +#: plugin.py:581 +msgid "underscore" +msgstr "trattino basso" + +#: plugin.py:582 +msgid "backtick" +msgstr "accento grave" + +#: plugin.py:583 +msgid "left brace" +msgstr "parentesi graffa sinistra" + +#: plugin.py:584 +msgid "pipe" +msgstr "pipe" + +#: plugin.py:585 +msgid "right brace" +msgstr "parentesi graffa destra" + +#: plugin.py:586 +msgid "tilde" +msgstr "tilde" + +#: plugin.py:589 +msgid "one" +msgstr "uno" + +#: plugin.py:589 +msgid "three" +msgstr "tre" + +#: plugin.py:589 +msgid "two" +msgstr "due" + +#: plugin.py:589 +msgid "zero" +msgstr "zero" + +#: plugin.py:590 +msgid "five" +msgstr "cinque" + +#: plugin.py:590 +msgid "four" +msgstr "quattro" + +#: plugin.py:590 +msgid "seven" +msgstr "sette" + +#: plugin.py:590 +msgid "six" +msgstr "sei" + +#: plugin.py:591 +msgid "eight" +msgstr "otto" + +#: plugin.py:591 +msgid "nine" +msgstr "nove" + +#: plugin.py:595 +#, docstring +msgid "" +"\n" +"\n" +" Returns , phonetically spelled out.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce con trascrizione fonetica (spelling).\n" +" " + +#: plugin.py:625 +#, docstring +msgid "" +"\n" +"\n" +" Returns as GNU/RMS would say it.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce come pronunciato da GNU/RMS.\n" +" " + +#: plugin.py:634 +#, docstring +msgid "" +"\n" +"\n" +" Returns with each word longer than\n" +" supybot.plugins.Filter.shrink.minimum being shrunken (i.e., like\n" +" \"internationalization\" becomes \"i18n\").\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce con ogni parola più lunga di\n" +" supybot.plugins.Filter.shrink.minimum abbreviata\n" +" (ad esempio \"internationalization\" diventa \"i18n\").\n" +" " + +#: plugin.py:653 +#, docstring +msgid "" +"\n" +"\n" +" Returns with the l's made into r's and r's made into l's.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce con le elle trasformate in erre e viceversa.\n" +" " + +#: plugin.py:702 +#, docstring +msgid "" +"\n" +"\n" +" Returns rotated 180 degrees. Only really works for ASCII\n" +" printable characters.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce ruotato di 180 gradi. Funziona solo con caratteri ASCII stampabili.\n" +" " + diff --git a/plugins/Google/locale/it.po b/plugins/Google/locale/it.po new file mode 100644 index 000000000..2548b9055 --- /dev/null +++ b/plugins/Google/locale/it.po @@ -0,0 +1,261 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-17 00:07+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:39 +msgid "" +"The Google plugin has the functionality to watch for URLs\n" +" that match a specific pattern. (We call this a snarfer)\n" +" When supybot sees such a URL, it will parse the web page\n" +" for information and reply with the results." +msgstr "" +"Il plugin Google ha la funzione di leggere gli URL che corrispondono ad\n" +" un modello specifico (viene chiamato snarfer).\n" +" Quando supybot vede un URL, analizza la pagina web per\n" +" ottenere informazioni e rispondere con dei risultati." + +#: config.py:43 +msgid "Do you want the Google search snarfer enabled by default?" +msgstr "Vuoi che lo snarfer per la ricerca in Google sia abilitato di default?" + +#: config.py:89 +#, docstring +msgid "Value must be 1 <= n <= 8" +msgstr "Il valore deve essere compreso tra 1 e 8 (incluso)" + +#: config.py:100 +msgid "" +"Determines the URL that will be sent to Google for\n" +" the Referer field of the search requests. If this value is empty, a\n" +" Referer will be generated in the following format:\n" +" http://$server/$botName" +msgstr "" +"Determina l'URL che sarà inviato a Google come Referer per le ricerche.\n" +" Se questo valore è vuoto, verrà generato un Referer nel seguente formato:\n" +" http://$server/$botName" + +#: config.py:105 +msgid "" +"Determines whether the search snarfer is\n" +" enabled. If so, messages (even unaddressed ones) beginning with the word\n" +" 'google' will result in the first URL Google returns being sent to the\n" +" channel." +msgstr "" +"Determina se lo snarfer per la ricerca è abilitato. In caso lo sia, i messaggi\n" +" (anche quelli non diretti) che iniziano con la parola \"google\" invieranno\n" +" in canale il primo URL che Google restituisce." + +#: config.py:110 +msgid "" +"Determines whether the word 'google' in the\n" +" bot's output will be made colorful (like Google's logo)." +msgstr "" +"Determina se la parola \"google\" nell'output del bot sarà colorata (come il logo di Google)." + +#: config.py:113 +msgid "Determines whether results are bolded." +msgstr "Determina se i risultati saranno in grassetto." + +#: config.py:115 +msgid "" +"Determines the maximum number of results returned\n" +" from the google command." +msgstr "" +"Determina il numero massimo di risultati restituiti dal comando google." + +#: config.py:118 +msgid "" +"Determines what default language is used in\n" +" searches. If left empty, no specific language will be requested." +msgstr "" +"Determina la lingua predefinita usata nelle ricerche. Se lasciata vuota,\n" +" non sarà richiesta nessuna lingua specifica." + +#: config.py:118 +msgid "en" +msgstr "it" + +#: config.py:121 +msgid "" +"Determines what level of search filtering to use\n" +" by default. 'active' - most filtering, 'moderate' - default filtering,\n" +" 'off' - no filtering" +msgstr "" +"Determina quale livello di filtraggio usare in modo predefinito. \"active\":\n" +" filtra tutto; \"moderate\": filtro predefinito; \"off\": filtro disattivato." + +#: plugin.py:101 +#, docstring +msgid "" +"Perform a search using Google's AJAX API.\n" +" search(\"search phrase\", options={})\n" +"\n" +" Valid options are:\n" +" smallsearch - True/False (Default: False)\n" +" filter - {active,moderate,off} (Default: \"moderate\")\n" +" language - Restrict search to documents in the given language\n" +" (Default: \"lang_en\")\n" +" " +msgstr "" +"Esegue una ricerca usando l'API AJAX di Google.\n" +" search(\"search phrase\", options={})\n" +"\n" +" Le opzioni valide sono:\n" +" smallsearch - True/False (Default: False)\n" +" filter - {active,moderate,off} (Default: \"moderate\")\n" +" language - Restringe la ricerca alla lingua specificata\n" +" (Default: \"lang_en\")\n" +" " + +#: plugin.py:141 plugin.py:200 +msgid "We broke The Google!" +msgstr "Abbiamo rotto Google!" + +#: plugin.py:161 +msgid "No matches found." +msgstr "Nessun risultato trovato." + +#: plugin.py:167 +#, docstring +msgid "" +"[--snippet] \n" +"\n" +" Does a google search, but only returns the first result.\n" +" If option --snippet is given, returns also the page text snippet.\n" +" " +msgstr "" +"[--snippet] \n" +"\n" +" Effettua una ricerca su Google restituendo solo il primo risultato.\n" +" Se l'opzione --snippet è specificata, riporta anche un frammento di testo della pagina.\n" +" " + +#: plugin.py:184 +msgid "Google found nothing." +msgstr "Google non ha trovato nulla." + +#: plugin.py:189 +#, docstring +msgid "" +" [--{filter,language} ]\n" +"\n" +" Searches google.com for the given string. As many results as can fit\n" +" are included. --language accepts a language abbreviation; --filter\n" +" accepts a filtering level ('active', 'moderate', 'off').\n" +" " +msgstr "" +" [--{filter,language} ]\n" +"\n" +" Ricerca la data stringa su google.com fornendo tutti i risultati possibili.\n" +" --language accetta un'abbreviazione di lingua; --filter un livello di filtraggio\n" +" ('active', 'moderate', 'off').\n" +" " + +#: plugin.py:212 +#, docstring +msgid "" +"\n" +"\n" +" Returns a link to the cached version of if it is available.\n" +" " +msgstr "" +"\n" +"\n" +" Restituisce un link della versione in cache di , se disponibile.\n" +" " + +#: plugin.py:223 +msgid "Google seems to have no cache for that site." +msgstr "Google sembra non avere cache per questo sito." + +#: plugin.py:228 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Returns the results of each search, in order, from greatest number\n" +" of results to least.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Restituisce i risultati di ogni ricerca in ordine, dal più grande al più piccolo.\n" +" " + +#: plugin.py:252 +#, docstring +msgid "" +" [to] \n" +"\n" +" Returns translated from into .\n" +" Beware that translating to or from languages that use multi-byte\n" +" characters may result in some very odd results.\n" +" " +msgstr "" +" [to] \n" +"\n" +" Restituisce tradotto . Attenzione\n" +" che tradurre da o verso lingue che usano caratteri multibyte\n" +" può produrre risultati molto strani.\n" +" " + +#: plugin.py:271 +msgid "from language" +msgstr "da lingua" + +#: plugin.py:272 plugin.py:281 +msgid "Valid languages are: %L" +msgstr "Le lingue valide sono: %L" + +#: plugin.py:280 +msgid "to language" +msgstr "a lingua" + +#: plugin.py:314 +#, docstring +msgid "^google\\s+(.*)$" +msgstr "^google\\s+(.*)$" + +#: plugin.py:336 +#, docstring +msgid "" +"\n" +"\n" +" Uses Google's calculator to calculate the value of .\n" +" " +msgstr "" +"\n" +"\n" +" Utilizza la calcolatrice di Google per calcolare il valore di .\n" +" " + +#: plugin.py:353 +msgid "Google's calculator didn't come up with anything." +msgstr "La calcolatrice di Google non ha fornito alcun risultato." + +#: plugin.py:359 +#, docstring +msgid "" +"\n" +"\n" +" Looks up on Google.\n" +" " +msgstr "" +"\n" +"\n" +" Cerca su Google.\n" +" " + +#: plugin.py:373 +msgid "Google's phonebook didn't come up with anything." +msgstr "La rubrica di Google non ha fornito alcun risultato." + diff --git a/plugins/MessageParser/locale/it.po b/plugins/MessageParser/locale/it.po new file mode 100644 index 000000000..10a56d7ed --- /dev/null +++ b/plugins/MessageParser/locale/it.po @@ -0,0 +1,286 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-17 01:43+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:57 +msgid "" +"Determines whether the\n" +" message parser is enabled. If enabled, will trigger on regexps\n" +" added to the regexp db." +msgstr "" +"Determina se il parser dei messaggi è abilitato. In caso lo sia, reagirà\n" +" alle regexp aggiunte al database delle espressioni regolari." + +#: config.py:61 +msgid "" +"Determines whether we keep updating the usage\n" +" count for each regexp, for popularity ranking." +msgstr "" +"Determina se il conteggio dell'uso venga mantenuto aggiornato per ogni regexp, per una classifica di popolarità." + +#: config.py:64 +msgid "" +"Determines the number of regexps returned\n" +" by the triggerrank command." +msgstr "" +"Determina il numero di regexp restituite dal comando \"triggerrank\"." + +#: config.py:67 +msgid "" +"Determines the capability required (if any) to\n" +" vacuum the database." +msgstr "" +"Determina la capacità richiesta (eventuale) per svuotare il database." + +#: config.py:70 +msgid "" +"Determines the\n" +" capabilities required (if any) to manage the regexp database,\n" +" including add, remove, lock, unlock. Use 'channel,capab' for\n" +" channel-level capabilities.\n" +" Note that absence of an explicit anticapability means user has\n" +" capability." +msgstr "" +"Determina la capacità richiesta (eventuale) per gestire il database delle\n" +" regexp che include aggiunta, rimozione, blocco e sblocco. Utilizzare\n" +" \"canale,capacità\" per le capacità del singolo canale. Si noti che\n" +" l'assenza di un'esplicita anti-capacità significa che l'utente può usare i comandi." + +#: config.py:77 +msgid "" +"Determines the separator used between regexps when\n" +" shown by the list command." +msgstr "" +"Determina il separatore utilizzato tra le regexp quando mostrate dal comando \"list\"." + +#: plugin.py:75 +#, docstring +msgid "" +"This plugin can set regexp triggers to activate the bot.\n" +" Use 'add' command to add regexp trigger, 'remove' to remove." +msgstr "" +"Questo plugin può definire dei trigger basati su regexp per attivare il bot.\n" +" Utilizzare il comando \"add\" per aggiungerne e \"remove\" per rimuoverle." + +#: plugin.py:83 +#, docstring +msgid "Create the database and connect to it." +msgstr "Crea il database e ci si connette." + +#: plugin.py:106 +#, docstring +msgid "Use this to get a database for a specific channel." +msgstr "Utilizzarlo per ottenere un database per un canale specifico." + +#: plugin.py:129 +#, docstring +msgid "Run a command from message, as if command was sent over IRC." +msgstr "Esegue un comando da un messaggio, come se questo fosse stato inviato su IRC." + +#: plugin.py:137 +#, docstring +msgid "" +"Check if the user has any of the required capabilities to manage\n" +" the regexp database." +msgstr "" +"Controlla se l'utente ha una delle capacità richieste per gestire il database delle regexp." + +#: plugin.py:179 +#, docstring +msgid "" +"[] \n" +"\n" +" Associates with . is only\n" +" necessary if the message isn't sent on the channel\n" +" itself. Action is echoed upon regexp match, with variables $1, $2,\n" +" etc. being interpolated from the regexp match groups." +msgstr "" +"[] \n" +"\n" +" Associa ad . L'azione viene mostrata sulla corrispondenza\n" +" della regexp, con le variabili $1, $2, ecc. inserita dai gruppi di corrispondenza\n" +" dell'espressione regolare. è necessario solo se il messaggio\n" +" non viene inviato nel canale stesso." + +#: plugin.py:201 +msgid "Invalid python regexp: %s" +msgstr "Espressione regolare python non valida: %s" + +#: plugin.py:213 +msgid "That trigger is locked." +msgstr "Questo trigger è bloccato." + +#: plugin.py:219 +#, docstring +msgid "" +"[] [--id] ]\n" +"\n" +" Removes the trigger for from the triggers database.\n" +" is only necessary if\n" +" the message isn't sent in the channel itself.\n" +" If option --id specified, will retrieve by regexp id, not content.\n" +" " +msgstr "" +"[] [--id] ]\n" +"\n" +" Rimuove il trigger per dal database. è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso. Se l'opzione\n" +" --id è specificata, verrà recuperato tramite ID della regexp anziché contenuto.\n" +" " + +#: plugin.py:241 plugin.py:271 plugin.py:294 plugin.py:322 plugin.py:352 +msgid "There is no such regexp trigger." +msgstr "Questa espressione regolare non esiste." + +#: plugin.py:245 +msgid "This regexp trigger is locked." +msgstr "Questa espressione regolare è bloccata." + +#: plugin.py:257 +#, docstring +msgid "" +"[] \n" +"\n" +" Locks the so that it cannot be\n" +" removed or overwritten to. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Blocca in modo che non sia possibile rimuoverla o sovrascriverla.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:280 +#, docstring +msgid "" +"[] \n" +"\n" +" Unlocks the entry associated with so that it can be\n" +" removed or overwritten. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Sblocca la voce associata a in modo che sia possibile rimuoverla o\n" +" sovrascriverla. è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:303 +#, docstring +msgid "" +"[] [--id] \n" +"\n" +" Looks up the value of in the triggers database.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" If option --id specified, will retrieve by regexp id, not content.\n" +" " +msgstr "" +"[] [--id] \n" +"\n" +" Cerca il valore di nel database dei trigger. è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso. Se l'opzione --id\n" +" è specificata, verrà recuperato tramite ID della regexp anziché contenuto.\n" +" " + +#: plugin.py:332 +#, docstring +msgid "" +"[] [--id] \n" +"\n" +" Display information about in the triggers database.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" If option --id specified, will retrieve by regexp id, not content.\n" +" " +msgstr "" +"[] [--id] \n" +"\n" +" Mostra informazioni su presente nel database dei trigger. è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso. Se l'opzione\n" +" --id è specificata, verranno recuperate tramite ID della regexp anziché contenuto.\n" +" " + +#: plugin.py:355 +msgid "The regexp id is %d, regexp is \"%s\", and action is \"%s\". It was added by user %s on %s, has been triggered %d times, and is %s." +msgstr "L'ID della regexp è %d, la regexp è \"%s\" e l'azione associata è \"%s\". È stata aggiunta dall'utente %s il %s, è stata utilizzata %d volte ed è %s." + +#: plugin.py:364 +msgid "locked" +msgstr "bloccata" + +#: plugin.py:364 +msgid "not locked" +msgstr "non bloccata" + +#: plugin.py:371 +#, docstring +msgid "" +"[]\n" +"\n" +" Lists regexps present in the triggers database.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself. Regexp ID listed in paretheses.\n" +" " +msgstr "" +"[]\n" +"\n" +" Elenca le regexp presenti nel database dei trigger. è necessario solo se il\n" +" messaggio non viene inviato nel canale stesso. Gli ID delle regexp sono tra parentesi.\n" +" " + +#: plugin.py:384 plugin.py:410 +msgid "There are no regexp triggers in the database." +msgstr "Non ci sono espressioni regolari nel database." + +#: plugin.py:394 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns a list of top-ranked regexps, sorted by usage count\n" +" (rank). The number of regexps returned is set by the\n" +" rankListLength registry value. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Riporta un elenco delle regexp più utilizzate. Il numero di espressioni\n" +" regolari restituito è definito dalla voce di registro rankListLength. \n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:418 +#, docstring +msgid "" +"[]\n" +"\n" +" Vacuums the database for .\n" +" See SQLite vacuum doc here: http://www.sqlite.org/lang_vacuum.html\n" +" is only necessary if the message isn't sent in\n" +" the channel itself.\n" +" First check if user has the required capability specified in plugin\n" +" config requireVacuumCapability.\n" +" " +msgstr "" +"[]\n" +"\n" +" Svuota il database di . Consultare la documentazione di SQLite relativa\n" +" all'indirizzo http://www.sqlite.org/lang_vacuum.html Controllare prima se l'utente\n" +" ha la capacità richiesta specificata nella variabile requireVacuumCapability.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + diff --git a/plugins/MoobotFactoids/locale/it.po b/plugins/MoobotFactoids/locale/it.po new file mode 100644 index 000000000..93aa05e0a --- /dev/null +++ b/plugins/MoobotFactoids/locale/it.po @@ -0,0 +1,328 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-17 16:39+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:46 +msgid "" +"Determines whether\n" +" or not the factoid value will be shown when a listkeys search returns only\n" +" one factoid key." +msgstr "" +"Determina se il valore del factoid verrà mostrato o meno quando una ricerca restituisce una sola chiave." + +#: config.py:50 +msgid "" +"Determines how many items are shown\n" +" when the 'most' command is called." +msgstr "Determina quanti elementi mostrare con il comando \"most\"." + +#: plugin.py:289 +#, docstring +msgid "" +"Add the help for \"@help MoobotFactoids\" here (assuming you don't implement a MoobotFactoids\n" +" command). This should describe *how* to use this plugin." +msgstr "" + +#: plugin.py:346 +msgid "%s is %s" +msgstr "%s è %s" + +#: plugin.py:365 +msgid "Factoid %q is locked." +msgstr "Il factoid %q è bloccato." + +#: plugin.py:372 +msgid "Factoid %q not found." +msgstr "Factoid %q non trovato." + +#: plugin.py:382 +msgid "Missing an 'is' or '_is_'." +msgstr "Manca un 'is' o un '_is_'." + +#: plugin.py:398 +msgid "Factoid %q already exists." +msgstr "Il factoid %q esiste già." + +#: plugin.py:432 +msgid "%s, or %s" +msgstr "%s, o %s" + +#: plugin.py:453 +#, docstring +msgid "" +"[] \n" +"\n" +" Returns the literal factoid for the given factoid key. No parsing of\n" +" the factoid value is done as it is with normal retrieval. \n" +" is only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Restituisce l'esatto factoid per la chiave specificata; non viene effettuata nessuna analisi del\n" +" suo valore. è necessario solo se se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:466 +#, docstring +msgid "" +"[] \n" +"\n" +" Returns the various bits of info on the factoid for the given key.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Riporta varie informazioni sul factoid per la chiave specificata. \n" +" è necessario solo se se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:477 plugin.py:517 +msgid "No such factoid: %q" +msgstr "Nessun factoid: %q" + +#: plugin.py:486 +msgid "Created by %s on %s." +msgstr "Creato da %s il %s." + +#: plugin.py:492 +msgid " Last modified by %s on %s." +msgstr " Ultima modifica da %s il %s." + +#: plugin.py:500 +msgid " Last requested by %s on %s, requested %n." +msgstr " Ultima richiesta da %s il %s, richiesto %n." + +#: plugin.py:507 +msgid " Locked by %s on %s." +msgstr " Bloccato da %s il %s." + +#: plugin.py:522 +msgid "Factoid %q is already locked." +msgstr "Il factoid %q è già bloccato." + +#: plugin.py:525 +msgid "Factoid %q is not locked." +msgstr "Il factoid %q non è bloccato." + +#: plugin.py:535 +msgid "Cannot %s someone else's factoid unless you are an admin." +msgstr "Impossibile %s il factoid di qualcun altro a meno che non sei un amministratore." + +#: plugin.py:547 +#, docstring +msgid "" +"[] \n" +"\n" +" Locks the factoid with the given factoid key. Requires that the user\n" +" be registered and have created the factoid originally. is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Blocca il factoid con la chiave specificata. Necessita che l'utente sia\n" +" registrato e abbia creato il factoid. è necessario solo se se il\n" +" messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:558 +#, docstring +msgid "" +"[] \n" +"\n" +" Unlocks the factoid with the given factoid key. Requires that the\n" +" user be registered and have locked the factoid. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Sblocca il factoid con la chiave specificata. Necessita che l'utente sia\n" +" registrato e abbia bloccato il factoid. è necessario solo se se\n" +" il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:569 +#, docstring +msgid "" +"[] {popular|authored|recent}\n" +"\n" +" Lists the most {popular|authored|recent} factoids. \"popular\" lists the\n" +" most frequently requested factoids. \"authored\" lists the author with\n" +" the most factoids. \"recent\" lists the most recently created factoids.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] {popular|authored|recent}\n" +"\n" +" Elenca i factoid secondo un certo criterio. \"popular\" corrisponde ai più richiesti;\n" +" \"authored\" mostra l'autore che ha creato più factoid; \"recent\" elenca quelli creati\n" +" più di recente. è necessario solo se se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:591 +msgid "author" +msgstr "autore" + +#: plugin.py:593 +msgid "authors" +msgstr "autori" + +#: plugin.py:594 +msgid "Most prolific %s: %L" +msgstr "%s più prolifico: %L" + +#: plugin.py:596 plugin.py:608 +msgid "There are no factoids in my database." +msgstr "Non ci sono factoid nel mio database." + +#: plugin.py:603 +msgid "latest factoid" +msgstr "ultimo factoid" + +#: plugin.py:605 +msgid "latest factoids" +msgstr "ultimi factoid" + +#: plugin.py:606 +msgid "%s: %L" +msgstr "%s: %L" + +#: plugin.py:615 +msgid "requested factoid" +msgstr "factoid più richiesto" + +#: plugin.py:617 +msgid "requested factoids" +msgstr "factoid più richiesti" + +#: plugin.py:618 +msgid "Top %s: %L" +msgstr "%s: %L" + +#: plugin.py:620 +msgid "No factoids have been requested from my database." +msgstr "Non è stato richiesto alcun factoid dal mio database." + +#: plugin.py:624 +#, docstring +msgid "" +"[] \n" +"\n" +" Lists the keys of the factoids with the given author. Note that if an\n" +" author has an integer name, you'll have to use that author's id to use\n" +" this function (so don't use integer usernames!). is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Elenca le chiavi dell'autore specificato. Si noti che se un autore ha un nome intero,\n" +" per usare questa funzione sarà necessario utilizzare il suo ID (per cui non usare nomi\n" +" interi!). è necessario solo se se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:637 +msgid "No factoids by %q found." +msgstr "Nessun factoid di %q trovato." + +#: plugin.py:640 +msgid "Author search for %q (%i found): %L" +msgstr "Ricerca di autori per %q (trovati %i): %L" + +#: plugin.py:647 +#, docstring +msgid "" +"[] \n" +"\n" +" Lists the keys of the factoids whose key contains the provided text.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Elenca le chiavi dei factoid le quali contengono il testo specificato.\n" +" è necessario solo se se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:655 +msgid "No keys matching %q found." +msgstr "Nessun factoid corrispondente a %q trovato." + +#: plugin.py:662 +msgid "Key search for %q (%i found): %L" +msgstr "Ricerca di chiavi per %q (trovate %i): %L" + +#: plugin.py:669 +#, docstring +msgid "" +"[] \n" +"\n" +" Lists the keys of the factoids whose value contains the provided text.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Elenca le chiavi dei factoid le quali contengono il testo specificato.\n" +" è necessario solo se se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:677 +msgid "No values matching %q found." +msgstr "Nessun valore corrispondente a %q trovato." + +#: plugin.py:680 +msgid "Value search for %q (%i found): %L" +msgstr "Ricerca di valori per %q (trovati %i): %L" + +#: plugin.py:687 +#, docstring +msgid "" +"[] \n" +"\n" +" Deletes the factoid with the given key. is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Cancella il factoid con la chiave specificata. è necessario\n" +" solo se se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:700 +#, docstring +msgid "" +"[]\n" +"\n" +" Displays a random factoid (along with its key) from the database.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Mostra un factoid casuale (con la sua chiave) dal database. è\n" +" necessario solo se se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:708 +msgid "No factoids in the database." +msgstr "Nessun factoid nel database." + diff --git a/plugins/Services/locale/it.po b/plugins/Services/locale/it.po index db6149fc4..aebaff7ac 100644 --- a/plugins/Services/locale/it.po +++ b/plugins/Services/locale/it.po @@ -238,7 +238,7 @@ msgstr "" #: plugin.py:508 msgid "I cowardly refuse to ghost myself." -msgstr "Codardamente, mi rifiuto di terminare una connessione \"fantasma\" (ghost)." +msgstr "Codardamente mi rifiuto di terminare una connessione \"fantasma\" (ghost)." #: plugin.py:513 msgid "You must set supybot.plugins.Services.NickServ before I'm able to ghost a nick." diff --git a/plugins/Topic/locale/it.po b/plugins/Topic/locale/it.po new file mode 100644 index 000000000..9da4d1960 --- /dev/null +++ b/plugins/Topic/locale/it.po @@ -0,0 +1,485 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-20 17:27+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:45 +#, docstring +msgid "Value must include $topic, otherwise the actual topic would be left out." +msgstr "Il valore deve includere $topic, altrimenti l'attuale topic non sarà modificato." + +#: config.py:50 +msgid "" +"Determines what separator is\n" +" used between individually added topics in the channel topic." +msgstr "Determina quale separatore utilizzare tra i diversi argomenti del topic del canale." + +#: config.py:53 +msgid "" +"Determines what format is used to add\n" +" topics in the topic. All the standard substitutes apply, in addition to\n" +" \"$topic\" for the topic itself." +msgstr "" +"Determina quale formato utilizzare per aggiungere argomenti al topic. In aggiunta a\n" +" \"$topic\" per il topic stesso, sono applicati tutti gli standard di sostituzione." + +#: config.py:57 +msgid "" +"Determines whether the bot will recognize the\n" +" TOPICLEN value sent to it by the server and thus refuse to send TOPICs\n" +" longer than the TOPICLEN. These topics are likely to be truncated by the\n" +" server anyway, so this defaults to True." +msgstr "" +"Determina se il bot riconoscerà il valore di TOPICLEN inviato dal server e rifiuterà\n" +" di inviare topic di lunghezza maggiore. I topic troppo lunghi saranno comunque\n" +" troncati dal server, per cui è impostato a True in modo predefinito." + +#: config.py:62 +msgid "" +"Determines what the default topic for the channel\n" +" is. This is used by the default command to set this topic." +msgstr "" +"Determina quale sia il topic predefinito del canale. È utilizzato dal comando \"default\"." + +#: config.py:66 +msgid "" +"Determines the number of previous\n" +" topics to keep around in case the undo command is called." +msgstr "" +"Determina il numero di topic precedenti da ricordare in caso si utilizzi il comando \"undo\"." + +#: config.py:69 +msgid "" +"Determines the\n" +" capabilities required (if any) to make any topic changes,\n" +" (everything except for read-only operations). Use 'channel,capab' for\n" +" channel-level capabilities.\n" +" Note that absence of an explicit anticapability means user has\n" +" capability." +msgstr "" +"Determina le capacità richieste (eventuali) per le modifiche al topic (qualsiasi\n" +" operazione tranne la lettura). Utilizzare \"canale,capacità\" per le capacità\n" +" del singolo canale. Si noti che l'assenza di un'esplicita anti-capacità\n" +" significa che l'utente può usare i comandi." + +#: plugin.py:57 +msgid "I'm not currently in %s." +msgstr "Attualmente non sono in %s." + +#: plugin.py:61 +msgid "I can't change the topic, I'm not opped and %s is +t." +msgstr "Non posso cambiare il topic, non sono op e %s ha il mode +t." + +#: plugin.py:68 +msgid "The topic must not include %q." +msgstr "Il topic non deve includere %q." + +#: plugin.py:79 +msgid "topic number" +msgstr "numero dell'argomento" + +#: plugin.py:92 +msgid "There are no topics in %s." +msgstr "Non ci sono argomenti in %s." + +#: plugin.py:200 +msgid "That topic is too long for this server (maximum length: %i; this topic: %i)." +msgstr "Il topic è troppo lungo per il server (lunghezza massima: %i; questo: %i)." + +#: plugin.py:213 +#, docstring +msgid "" +"Check if the user has any of the required capabilities to manage\n" +" the channel topic.\n" +"\n" +" The list of required capabilities is in requireManageCapability\n" +" channel config.\n" +"\n" +" Also allow if the user is a chanop. Since he can change the topic\n" +" manually anyway.\n" +" " +msgstr "" +"Controlla che l'utente abbia una delle capacità richieste per gestire il topic del canale.\n" +"\n" +" L'elenco delle capacità è nella variabile di configurazione requireManageCapability.\n" +"\n" +" Autorizza anche un operatore del canale, dal momento che potrebbe comunque farlo manualmente.\n" +" " + +#: plugin.py:265 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the topic for . is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Restituisce il topic di . è necessario solo se il messaggio\n" +" non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:276 +#, docstring +msgid "" +"[] \n" +"\n" +" Adds to the topics for . is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Aggiunge al topic di . è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:291 +#, docstring +msgid "" +"[] \n" +"\n" +" Adds to the topics for . If the topic is too long\n" +" for the server, topics will be popped until there is enough room.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Aggiunge al topic di . Se il topic è troppo lungo\n" +" per il server, gli argomenti saranno tagliati per rientrare nel limite.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:308 +#, docstring +msgid "" +"[] \n" +"\n" +" Replaces topic with .\n" +" " +msgstr "" +"[] \n" +"\n" +" Sostituisce argomento con .\n" +" " + +#: plugin.py:322 +#, docstring +msgid "" +"[] \n" +"\n" +" Adds to the topics for at the beginning of the topics\n" +" currently on . is only necessary if the message\n" +" isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Aggiunge al topic di all'inizio dello stesso. \n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:338 +#, docstring +msgid "" +"[]\n" +"\n" +" Shuffles the topics in . is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Mescola gli argomenti del topic di . è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:348 +msgid "I can't shuffle 1 or fewer topics." +msgstr "Non posso mescolare uno o pochi argomenti." + +#: plugin.py:360 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" Reorders the topics from in the order of the specified\n" +" arguments. is a one-based index into the topics.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" Riordina gli argomenti del topic di nell'ordine specificato\n" +" da , dove è un indice di argomenti. è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:373 +msgid "I cannot reorder 1 or fewer topics." +msgstr "Non posso riordinare uno o pochi argomenti." + +#: plugin.py:375 +msgid "All topic numbers must be specified." +msgstr "Bisogna specificare tutti i numeri degli argomenti." + +#: plugin.py:377 +msgid "Duplicate topic numbers cannot be specified." +msgstr "Impossibile specificare numeri di argomenti doppi." + +#: plugin.py:385 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns a list of the topics in , prefixed by their indexes.\n" +" Mostly useful for topic reordering. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Riporta un elenco degli argomenti di , con il proprio indice\n" +" come prefisso; essenzialmente utile per riordinare gli argomenti. \n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:394 +msgid "%i: %s" +msgstr "%i: %s" + +#: plugin.py:401 +#, docstring +msgid "" +"[] \n" +"\n" +" Returns topic number from . is a one-based\n" +" index into the topics. is only necessary if the message\n" +" isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Restituisce l'argomento di , dove è un indice di argomenti.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:416 +#, docstring +msgid "" +"[] \n" +"\n" +" Changes the topic number on according to the regular\n" +" expression . is the one-based index into the topics;\n" +" is a regular expression of the form\n" +" s/regexp/replacement/flags. is only necessary if the message\n" +" isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Modifica l'argomento di in base a . \n" +" è un indice di argomenti e un'espressine regolare nella forma\n" +" s/regexp/sostituzione/flag. è necessario solo se il messaggio\n" +" non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:434 +#, docstring +msgid "" +"[] [] \n" +"\n" +" Sets the topic to be . If no is given, this\n" +" sets the entire topic. is only necessary if the message\n" +" isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [] \n" +"\n" +" Definisce l'argomento . Se non è specificato imposta l'intero topic.\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:455 +#, docstring +msgid "" +"[] \n" +"\n" +" Removes topic from the topic for Topics are\n" +" numbered starting from 1; you can also use negative indexes to refer\n" +" to topics starting the from the end of the topic. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Rimuove l'argomento dal topic di ; la numerazione\n" +". degli argomenti parte da 1, è possibile definire un valore negativo\n" +" per gli inidici iniziando a contare dal fondo. è necessario\n" +" solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:472 +#, docstring +msgid "" +"[]\n" +"\n" +" Locks the topic (sets the mode +t) in . is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Blocca il topic (imposta il mode +t) in . è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:482 +msgid "lock the topic" +msgstr "bloccare il topic" + +#: plugin.py:486 +#, docstring +msgid "" +"[]\n" +"\n" +" Unlocks the topic (sets the mode -t) in . is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Sblocca il topic (imposta il mode -t) in . è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:496 +msgid "unlock the topic" +msgstr "sbloccare il topic" + +#: plugin.py:500 +#, docstring +msgid "" +"[]\n" +"\n" +" Restores the topic to the last topic set by the bot. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Ripristina il topic all'ultimo impostato dal bot. è\n" +" necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:511 +msgid "I haven't yet set the topic in %s." +msgstr "Non ho ancora impostato il topic in %s." + +#: plugin.py:519 +#, docstring +msgid "" +"[]\n" +"\n" +" Restores the topic to the one previous to the last topic command that\n" +" set it. is only necessary if the message isn't sent in the\n" +" channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Ripristina il topic a quello precedente all'ultimo impostato dal comando \"topic\".\n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:533 +msgid "There are no more undos for %s." +msgstr "Non ci sono più annullamenti per %s." + +#: plugin.py:538 +#, docstring +msgid "" +"[]\n" +"\n" +" Undoes the last undo. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Annulla l'ultimo ripristino. è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:550 +msgid "There are no redos for %s." +msgstr "Non ci sono ripristini per %s." + +#: plugin.py:555 +#, docstring +msgid "" +"[] \n" +"\n" +" Swaps the order of the first topic number and the second topic number.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Scambia l'ordine del numero del primo argomento con il secondo. \n" +" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" " + +#: plugin.py:566 +msgid "I refuse to swap the same topic with itself." +msgstr "Mi rifiuto di scambiare l'argomento con lo stesso." + +#: plugin.py:576 +#, docstring +msgid "" +"[]\n" +"\n" +" Sets the topic in to the default topic for . The\n" +" default topic for a channel may be configured via the configuration\n" +" variable supybot.plugins.Topic.default.\n" +" " +msgstr "" +"[]\n" +"\n" +" Imposta il topic in a quello predefinito. Il topic predefinito\n" +" per un canale può essere configurato tramite la variabile di configurazione\n" +" supybot.plugins.Topic.default.\n" +" " + +#: plugin.py:589 +msgid "There is no default topic configured for %s." +msgstr "Non c'è un topic predefinito configurato per %s." + +#: plugin.py:595 +#, docstring +msgid "" +"[] \n" +"\n" +" Sets the topic separator for to Converts the\n" +" current topic appropriately.\n" +" " +msgstr "" +"[] \n" +"\n" +" Imposta il separatore per gli argomenti del topic di .\n" +" Converte l'attuale topic di conseguenza.\n" +" " + diff --git a/plugins/User/locale/it.po b/plugins/User/locale/it.po new file mode 100644 index 000000000..69b7b6859 --- /dev/null +++ b/plugins/User/locale/it.po @@ -0,0 +1,384 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-19 19:07+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:49 +#, docstring +msgid "" +"[--capability=] []\n" +"\n" +" Returns the valid registered usernames matching . If is\n" +" not given, returns all registered usernames.\n" +" " +msgstr "" +"[--capability=] []\n" +"\n" +" Restituisce i nomi utente registrati che corrispondono a ; se\n" +" quest'ultimo non è specificato, riporta i nomi di tutti gli utenti registrati.\n" +" " + +#: plugin.py:80 +msgid "There are no matching registered users." +msgstr "Non ci sono utenti registrati corrispondenti." + +#: plugin.py:82 +msgid "There are no registered users." +msgstr "Non ci sono utenti registrati." + +#: plugin.py:88 +#, docstring +msgid "" +" \n" +"\n" +" Registers with the given password and the current\n" +" hostmask of the person registering. You shouldn't register twice; if\n" +" you're not recognized as a user but you've already registered, use the\n" +" hostmask add command to add another hostmask to your already-registered\n" +" user, or use the identify command to identify just for a session.\n" +" This command (and all other commands that include a password) must be\n" +" sent to the bot privately, not in a channel.\n" +" " +msgstr "" +" \n" +"\n" +" Registra con la data e l'hostmask attuale dell'utente.\n" +" Non bisogna registrarsi due volte; se non si è riconosciuti come utenti ma\n" +" ci si è gia registrati, utilizzare il comando \"hostmask add\" per aggiungere\n" +" un'altra hostmask per lo stesso utente oppure utilizzare il comando \"identify\"\n" +" per identificarsi solo per la sessione in corso. Questo comando (e tutti quelli\n" +" che includono una password) devono essere inviati al bot privatamente, mai in canale.\n" +" " + +#: plugin.py:101 +msgid "That name is already assigned to someone." +msgstr "Questo nome è già assegnato a qualcuno." + +#: plugin.py:106 +msgid "username" +msgstr "nome utente" + +#: plugin.py:107 +msgid "Hostmasks are not valid usernames." +msgstr "Le hostmask non sono nomi utente validi." + +#: plugin.py:114 +msgid "Your hostmask is already registered to %s" +msgstr "La tua hostmask è già registrata a %s" + +#: plugin.py:130 +#, docstring +msgid "" +" []\n" +"\n" +" Unregisters from the user database. If the user giving this\n" +" command is an owner user, the password is not necessary.\n" +" " +msgstr "" +" []\n" +"\n" +" Elimina dal database degli utenti. Se l'utente che usa questo\n" +" comando è un owner (proprietario), la password non è necessaria.\n" +" " + +#: plugin.py:145 +msgid "This command has been disabled. You'll have to ask the owner of this bot to unregister your user." +msgstr "Questo comando è stato disabilitato. Contatta l'owner del bot per de-registrarti." + +#: plugin.py:158 +#, docstring +msgid "" +" []\n" +"\n" +" Changes your current user database name to the new name given.\n" +" is only necessary if the user isn't recognized by hostmask.\n" +" This message must be sent to the bot privately (not on a channel) since\n" +" it may contain a password.\n" +" " +msgstr "" +" []\n" +"\n" +" Cambia l'attuale nome nel database degli utenti con .\n" +" è necessaria solo se l'utente non è riconosciuto tramite\n" +" l'hostmask. Questo messaggio va inviato al bot privatamente (non in\n" +" canale) in quanto può contenere una password.\n" +" " + +#: plugin.py:167 +msgid "%q is already registered." +msgstr "%q è già registrato." + +#: plugin.py:181 +#, docstring +msgid "" +"[] \n" +"\n" +" Sets the new password for the user specified by to . Obviously this message must be sent to the bot\n" +" privately (not in a channel). If the requesting user is an owner\n" +" user (and the user whose password is being changed isn't that same\n" +" owner user), then needn't be correct.\n" +" " +msgstr "" +"[] \n" +"\n" +" Imposta una nuova password per l'utente specificato da . Il\n" +" messaggio va ovviamente inviato privatamente (non in canale). Se\n" +" l'utente è l'owner (e l'utente di cui si cambia la password non è lo\n" +" stesso proprietario), non necessita di essere corretta.\n" +" " + +#: plugin.py:209 +#, docstring +msgid "" +" []\n" +"\n" +" Sets the secure flag on the user of the person sending the message.\n" +" Requires that the person's hostmask be in the list of hostmasks for\n" +" that user in addition to the password being correct. When the\n" +" secure flag is set, the user *must* identify before he can be\n" +" recognized. If a specific True/False value is not given, it\n" +" inverts the current value.\n" +" " +msgstr "" +" []\n" +"\n" +" Imposta il flag \"secure\" per l'utente che invia il messaggio.\n" +" Richiede che la sua hostmask sia presente nell'elenco di quelle\n" +" per quell'utente e di una password corretta. Quando questo flag è\n" +" impostato, l'utente *deve* identificarsi prima di essere riconosciuto.\n" +" Se l'argomento True/False non è specificato, il valore corrente viene invertito.\n" +" " + +#: plugin.py:224 +msgid "Secure flag set to %s" +msgstr "Flag secure impostato a %s" + +#: plugin.py:232 +#, docstring +msgid "" +"\n" +"\n" +" Returns the username of the user specified by or if\n" +" the user is registered.\n" +" " +msgstr "" +"\n" +"\n" +" Se l'utente è registrato, restituisce il nome utente di quello specificato da o .\n" +" " + +#: plugin.py:241 +msgid "I haven't seen %s." +msgstr "Non ho mai visto %s." + +#: plugin.py:246 +msgid "I don't know who that is." +msgstr "Non so chi sia." + +#: plugin.py:252 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the hostmask of . If isn't given, return the\n" +" hostmask of the person giving the command.\n" +" " +msgstr "" +"[]\n" +"\n" +" Restituisce l'hostmask di . Se non è specificato,\n" +" riporta l'hostmask di chi ha dato il comando.\n" +" " + +#: plugin.py:264 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the hostmasks of the user specified by ; if \n" +" isn't specified, returns the hostmasks of the user calling the\n" +" command.\n" +" " +msgstr "" +"[]\n" +"\n" +" Restituisce l'hostmask dell'utente specificato da ; se \n" +" non è definito, riporta l'hostmask di chi ha dato il comando.\n" +" " + +#: plugin.py:276 +msgid "%s has no registered hostmasks." +msgstr "%s non ha hostmask registrate." + +#: plugin.py:283 +msgid "You may only retrieve your own hostmasks." +msgstr "Puoi recuperare solo le tue hostmask." + +#: plugin.py:299 +#, docstring +msgid "" +"[] [] []\n" +"\n" +" Adds the hostmask to the user specified by . The\n" +" may only be required if the user is not recognized by\n" +" hostmask. is also not required if an owner user is\n" +" giving the command on behalf of some other user. If is\n" +" not given, it defaults to your current hostmask. If is not\n" +" given, it defaults to your currently identified name. This message\n" +" must be sent to the bot privately (not on a channel) since it may\n" +" contain a password.\n" +" " +msgstr "" +"[] [] []\n" +"\n" +" Aggiunge all'utente specificato da . \n" +" è richiesta solo se l'utente non viene riconosciuto tramite l'hostmask\n" +" e può essere omessa se un owner sta dando il comando a nome di qualcun\n" +" altro. Se non è fornita utilizza quella attualmente in uso.\n" +" Se non è specificato utilizza quello attualmente identificato.\n" +" Questo messaggio va inviato al bot privatamente (non in canale) in\n" +" quanto può contenere una password.\n" +" " + +#: plugin.py:313 +msgid "hostmask" +msgstr "hostmask" + +#: plugin.py:314 +msgid "Make sure your hostmask includes a nick, then an exclamation point (!), then a user, then an at symbol (@), then a host. Feel free to use wildcards (* and ?, which work just like they do on the command line) in any of these parts." +msgstr "Assicurati che la tua hostmask includa un nick, un punto esclamativo, un utente, un at (@) e un host. Puoi usare wildcard (* e ?, che funzionano come da riga di comando) in qualsiasi punto." + +#: plugin.py:324 plugin.py:347 +msgid "That hostmask is already registered." +msgstr "Questa hostmask è già registrata." + +#: plugin.py:355 +#, docstring +msgid "" +" []\n" +"\n" +" Removes the hostmask from the record of the user\n" +" specified by . If the hostmask given is 'all' then all\n" +" hostmasks will be removed. The may only be required if\n" +" the user is not recognized by his hostmask. This message must be\n" +" sent to the bot privately (not on a channel) since it may contain a\n" +" password.\n" +" " +msgstr "" +" []\n" +"\n" +" Rimuove dalla lista dell'utente specificato da . Se\n" +" l'hostmask fornita è \"all\" verranno rimosse tutte. è richiesta\n" +" solo se l'utente non viene riconosciuto tramite l'hostmask. Questo messaggio\n" +" va inviato al bot privatamente (non in canale) in quanto può contenere una password.\n" +" " + +#: plugin.py:374 +msgid "All hostmasks removed." +msgstr "Tutte le hostmask sono state rimosse." + +#: plugin.py:378 +msgid "There was no such hostmask." +msgstr "Non c'è nessuna hostmask." + +#: plugin.py:387 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the capabilities of the user specified by ; if \n" +" isn't specified, returns the capabilities of the user calling the\n" +" command.\n" +" " +msgstr "" +"[]\n" +"\n" +" Restituisce le capacità dell'utente specificato da ; se \n" +" non è fornito riporta le capacità dell'utente che ha usato il comando.\n" +" " + +#: plugin.py:407 +#, docstring +msgid "" +" \n" +"\n" +" Identifies the user as . This command (and all other\n" +" commands that include a password) must be sent to the bot privately,\n" +" not in a channel.\n" +" " +msgstr "" +" \n" +"\n" +" Identifica l'utente come . Questo comando (e tutti quelli che\n" +" includono una password) devono essere inviati al bot privatamente, mai in canale.\n" +" " + +#: plugin.py:419 +msgid "Your secure flag is true and your hostmask doesn't match any of your known hostmasks." +msgstr "Il tuo flag secure è impostato a True e la tua hostmask non corrisponde a nessuna di quelle conosciute." + +#: plugin.py:429 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Un-identifies you. Note that this may not result in the desired\n" +" effect of causing the bot not to recognize you anymore, since you may\n" +" have added hostmasks to your user that can cause the bot to continue to\n" +" recognize you.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Ti de-identifica. Nota che questo potrebbe non sortire l'effetto desiderato,\n" +" il bot potrebbe continuare a riconoscerti in quanto sono state eventualmente\n" +" aggiunta altre hostmask per il tuo utente.\n" +" " + +#: plugin.py:438 +msgid "If you remain recognized after giving this command, you're being recognized by hostmask, rather than by password. You must remove whatever hostmask is causing you to be recognized in order not to be recognized." +msgstr "Se dopo aver utilizzato questo comando si è ancora riconosciuti, ciò avviene tramite l'hostmask piuttosto che la password. È necessario rimuovere qualsiasi hostmask che causa il riconoscimento." + +#: plugin.py:447 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the name of the user calling the command.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Restituisce il nome dell'utente che usa questo comando.\n" +" " + +#: plugin.py:455 +msgid "I don't recognize you." +msgstr "Non ti riconosco." + +#: plugin.py:460 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns some statistics on the user database.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta alcune statistiche a proposito del database degli utenti.\n" +" " + +#: plugin.py:478 +msgid "I have %s registered users with %s registered hostmasks; %n and %n." +msgstr "Ho %s utenti registrati con %s hostmask registrate; %n e %n." + diff --git a/src/version.py b/src/version.py index 6fce22821..2e655bf1f 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-22T01:34:30+0200)' +version = '0.83.4.1+limnoria (2011-07-22T01:36:07+0200)' From 789e0f135c3f8ffe9e76649033016b7189c88c8f Mon Sep 17 00:00:00 2001 From: skizzhg Date: Fri, 22 Jul 2011 02:02:11 +0200 Subject: [PATCH 137/244] Utilities: fix l10n-it. --- plugins/Utilities/locale/it.po | 2 +- src/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Utilities/locale/it.po b/plugins/Utilities/locale/it.po index f0d8330f6..e1a151e94 100644 --- a/plugins/Utilities/locale/it.po +++ b/plugins/Utilities/locale/it.po @@ -23,7 +23,7 @@ msgstr "" "non necessita argomenti\n" "\n" " Non fa niente. Utile per eseguire comandi in sequenza quando non ci si\n" -" cura del valore di non errore restituito.\n" +" cura del valore dello stato di uscita restituito.\n" " " #: plugin.py:59 diff --git a/src/version.py b/src/version.py index 2e655bf1f..667be77d1 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-22T01:36:07+0200)' +version = '0.83.4.1+limnoria (2011-07-22T02:02:11+0200)' From 4bb788b98bd1dc1e595fc07e0ea3796877085e57 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 22 Jul 2011 21:19:22 +0300 Subject: [PATCH 138/244] MoobotFacroids: added template for ln18n-fi. --- plugins/MoobotFactoids/locale/fi.po | 267 ++++++++++++++++++++++++++++ 1 file changed, 267 insertions(+) create mode 100644 plugins/MoobotFactoids/locale/fi.po diff --git a/plugins/MoobotFactoids/locale/fi.po b/plugins/MoobotFactoids/locale/fi.po new file mode 100644 index 000000000..edfed28fe --- /dev/null +++ b/plugins/MoobotFactoids/locale/fi.po @@ -0,0 +1,267 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-22 21:17+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:46 +msgid "" +"Determines whether\n" +" or not the factoid value will be shown when a listkeys search returns only\n" +" one factoid key." +msgstr "" + +#: config.py:50 +msgid "" +"Determines how many items are shown\n" +" when the 'most' command is called." +msgstr "" + +#: plugin.py:289 +msgid "" +"Add the help for \"@help MoobotFactoids\" here (assuming you don't implement a MoobotFactoids\n" +" command). This should describe *how* to use this plugin." +msgstr "" + +#: plugin.py:346 +msgid "%s is %s" +msgstr "" + +#: plugin.py:365 +msgid "Factoid %q is locked." +msgstr "" + +#: plugin.py:372 +msgid "Factoid %q not found." +msgstr "" + +#: plugin.py:382 +msgid "Missing an 'is' or '_is_'." +msgstr "" + +#: plugin.py:398 +msgid "Factoid %q already exists." +msgstr "" + +#: plugin.py:432 +msgid "%s, or %s" +msgstr "" + +#: plugin.py:453 +msgid "" +"[] \n" +"\n" +" Returns the literal factoid for the given factoid key. No parsing of\n" +" the factoid value is done as it is with normal retrieval. \n" +" is only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:466 +msgid "" +"[] \n" +"\n" +" Returns the various bits of info on the factoid for the given key.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" + +#: plugin.py:477 +#: plugin.py:517 +msgid "No such factoid: %q" +msgstr "" + +#: plugin.py:486 +msgid "Created by %s on %s." +msgstr "" + +#: plugin.py:492 +msgid " Last modified by %s on %s." +msgstr "" + +#: plugin.py:500 +msgid " Last requested by %s on %s, requested %n." +msgstr "" + +#: plugin.py:507 +msgid " Locked by %s on %s." +msgstr "" + +#: plugin.py:522 +msgid "Factoid %q is already locked." +msgstr "" + +#: plugin.py:525 +msgid "Factoid %q is not locked." +msgstr "" + +#: plugin.py:535 +msgid "Cannot %s someone else's factoid unless you are an admin." +msgstr "" + +#: plugin.py:547 +msgid "" +"[] \n" +"\n" +" Locks the factoid with the given factoid key. Requires that the user\n" +" be registered and have created the factoid originally. is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:558 +msgid "" +"[] \n" +"\n" +" Unlocks the factoid with the given factoid key. Requires that the\n" +" user be registered and have locked the factoid. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:569 +msgid "" +"[] {popular|authored|recent}\n" +"\n" +" Lists the most {popular|authored|recent} factoids. \"popular\" lists the\n" +" most frequently requested factoids. \"authored\" lists the author with\n" +" the most factoids. \"recent\" lists the most recently created factoids.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" + +#: plugin.py:591 +msgid "author" +msgstr "" + +#: plugin.py:593 +msgid "authors" +msgstr "" + +#: plugin.py:594 +msgid "Most prolific %s: %L" +msgstr "" + +#: plugin.py:596 +#: plugin.py:608 +msgid "There are no factoids in my database." +msgstr "" + +#: plugin.py:603 +msgid "latest factoid" +msgstr "" + +#: plugin.py:605 +msgid "latest factoids" +msgstr "" + +#: plugin.py:606 +msgid "%s: %L" +msgstr "" + +#: plugin.py:615 +msgid "requested factoid" +msgstr "" + +#: plugin.py:617 +msgid "requested factoids" +msgstr "" + +#: plugin.py:618 +msgid "Top %s: %L" +msgstr "" + +#: plugin.py:620 +msgid "No factoids have been requested from my database." +msgstr "" + +#: plugin.py:624 +msgid "" +"[] \n" +"\n" +" Lists the keys of the factoids with the given author. Note that if an\n" +" author has an integer name, you'll have to use that author's id to use\n" +" this function (so don't use integer usernames!). is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:637 +msgid "No factoids by %q found." +msgstr "" + +#: plugin.py:640 +msgid "Author search for %q (%i found): %L" +msgstr "" + +#: plugin.py:647 +msgid "" +"[] \n" +"\n" +" Lists the keys of the factoids whose key contains the provided text.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" + +#: plugin.py:655 +msgid "No keys matching %q found." +msgstr "" + +#: plugin.py:662 +msgid "Key search for %q (%i found): %L" +msgstr "" + +#: plugin.py:669 +msgid "" +"[] \n" +"\n" +" Lists the keys of the factoids whose value contains the provided text.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" + +#: plugin.py:677 +msgid "No values matching %q found." +msgstr "" + +#: plugin.py:680 +msgid "Value search for %q (%i found): %L" +msgstr "" + +#: plugin.py:687 +msgid "" +"[] \n" +"\n" +" Deletes the factoid with the given key. is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:700 +msgid "" +"[]\n" +"\n" +" Displays a random factoid (along with its key) from the database.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" + +#: plugin.py:708 +msgid "No factoids in the database." +msgstr "" + From 339e2622a1d50410ff90b2fb7a43dea03d0297f0 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 00:41:09 +0300 Subject: [PATCH 139/244] MoobotFactoids: ln18-n 44% translated. --- plugins/MoobotFactoids/locale/fi.po | 55 +++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/plugins/MoobotFactoids/locale/fi.po b/plugins/MoobotFactoids/locale/fi.po index edfed28fe..d626c3998 100644 --- a/plugins/MoobotFactoids/locale/fi.po +++ b/plugins/MoobotFactoids/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-22 21:17+0200\n" +"PO-Revision-Date: 2011-07-23 00:40+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -20,42 +20,49 @@ msgid "" " or not the factoid value will be shown when a listkeys search returns only\n" " one factoid key." msgstr "" +"Määrittää näytetöönkö\n" +" vaiko eikö factoidin arvo kun \"listkeys\" haku\n" +" palauttaa vain yhden factoidin avaimen." #: config.py:50 msgid "" "Determines how many items are shown\n" " when the 'most' command is called." msgstr "" +"Määrittää montako asiaa näytetään\n" +" kun 'most' komentoa kutsutaan." #: plugin.py:289 msgid "" "Add the help for \"@help MoobotFactoids\" here (assuming you don't implement a MoobotFactoids\n" " command). This should describe *how* to use this plugin." msgstr "" +"Lisää ohje \"@help MoobotFactoids\":lle tähän (olettaen ettet luo MoobotFactoids\n" +" komentoa). Tämän pitäisi kertoa *kuinka* tätä laajennusta käytetään." #: plugin.py:346 msgid "%s is %s" -msgstr "" +msgstr "%s on %s" #: plugin.py:365 msgid "Factoid %q is locked." -msgstr "" +msgstr "Factoidi %q on lukittu." #: plugin.py:372 msgid "Factoid %q not found." -msgstr "" +msgstr "Factoidia %q ei löytynyt." #: plugin.py:382 msgid "Missing an 'is' or '_is_'." -msgstr "" +msgstr "Puuttuva 'is' tai '_is_'." #: plugin.py:398 msgid "Factoid %q already exists." -msgstr "" +msgstr "Factoidi %q on jo olemassa." #: plugin.py:432 msgid "%s, or %s" -msgstr "" +msgstr "%s, tai %s" #: plugin.py:453 msgid "" @@ -66,6 +73,12 @@ msgid "" " is only necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Palauttaa kirjaimellisen factoidin annetulle factoidi avaimelle. Factoidin jäsentämistä\n" +" ei tehdä, koska se on normaalilla palautuksella. on vaadittu vain, jos viestiä ei lähetetä\n" +" kanavalla itsellään.\n" +" " #: plugin.py:466 msgid "" @@ -76,39 +89,45 @@ msgid "" " itself.\n" " " msgstr "" +"[] \n" +"\n" +" Palauttaa muutamia tiedonmurusia factoidista annetulle avaimelle.\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " #: plugin.py:477 #: plugin.py:517 msgid "No such factoid: %q" -msgstr "" +msgstr "Ei sellaista factoidia: %q" #: plugin.py:486 msgid "Created by %s on %s." -msgstr "" +msgstr "%s:än luoma kanavalla %s." #: plugin.py:492 msgid " Last modified by %s on %s." -msgstr "" +msgstr "Viimeeksi %s:än muokkaama kanavalla %s." #: plugin.py:500 msgid " Last requested by %s on %s, requested %n." -msgstr "" +msgstr "Viimeeksi pyytänyt %s kanavalla %s, pyytänyt %n." #: plugin.py:507 msgid " Locked by %s on %s." -msgstr "" +msgstr "%s:än lukitsema %s:llä." #: plugin.py:522 msgid "Factoid %q is already locked." -msgstr "" +msgstr "Factoidi %q on jo lukittu." #: plugin.py:525 msgid "Factoid %q is not locked." -msgstr "" +msgstr "Factoidi %q is not locked." #: plugin.py:535 msgid "Cannot %s someone else's factoid unless you are an admin." -msgstr "" +msgstr "Ei voi %s jonkun muun factoidia paitsi, jos olet admin." #: plugin.py:547 msgid "" @@ -119,6 +138,12 @@ msgid "" " only necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Lukitsee factoidin annetulla factoidi avaimella. Vaatii käyttäjän olevan rekisteröitynyt\n" +" ja että hän on alunperin luonut sen. on\n" +" vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:558 msgid "" From c44496f3c6ec508d02f95ce0b146084907b8ba57 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 11:46:43 +0300 Subject: [PATCH 140/244] MoobotFactoids: improved readme file from default. --- plugins/MoobotFactoids/README.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/MoobotFactoids/README.txt b/plugins/MoobotFactoids/README.txt index d60b47a97..fd36d8ad6 100644 --- a/plugins/MoobotFactoids/README.txt +++ b/plugins/MoobotFactoids/README.txt @@ -1 +1,8 @@ -Insert a description of your plugin here, with any notes, etc. about using it. +This plugin keeps factoids in your bot. + +To add factoid say +"@factoids something is something" And when you call @something the bot says +"something is something". + +If you want factoid to be in different format say (for example): +"@factoids Hi is Hello" And when you call @hi the bot says "Hello." From 7574faedd161841f8e725dc397b77108f19b1ee0 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 12:14:28 +0300 Subject: [PATCH 141/244] MoobotFactoids: added ln18n-fi. --- plugins/MoobotFactoids/locale/fi.po | 82 ++++++++++++++++++++++------- 1 file changed, 63 insertions(+), 19 deletions(-) diff --git a/plugins/MoobotFactoids/locale/fi.po b/plugins/MoobotFactoids/locale/fi.po index d626c3998..3f2edffc6 100644 --- a/plugins/MoobotFactoids/locale/fi.po +++ b/plugins/MoobotFactoids/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-23 00:40+0200\n" +"PO-Revision-Date: 2011-07-23 12:13+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -154,6 +154,12 @@ msgid "" " necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Avaa factoidin annetulla factoidi avaimella. Vaatii, että käyttäjä\n" +" on rekisteröitynyt ja lukinnut factoidin. on vaadittu\n" +" vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:569 msgid "" @@ -166,51 +172,59 @@ msgid "" " itself.\n" " " msgstr "" +"[] {popular|authored|recent}\n" +"\n" +" Luettelee {suosituimmat (\"popular\")|kirjoitetuimmat (\"authored\")|viimeisimmät (\"recent\")} factoidit. \"popular\" luettelee\n" +" useimmiten pyydetyt factoidit. \"authored\" luettelee kirjoittajat, joilla on eniten\n" +" factoideja. \"recent\" luettelee uusimmat kirjoitetut factoidit.\n" +" on vaadittu vain, jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " #: plugin.py:591 msgid "author" -msgstr "" +msgstr "kirjoittaja" #: plugin.py:593 msgid "authors" -msgstr "" +msgstr "kirjoittaja" #: plugin.py:594 msgid "Most prolific %s: %L" -msgstr "" +msgstr "Tuottoisimmat %s: %L" #: plugin.py:596 #: plugin.py:608 msgid "There are no factoids in my database." -msgstr "" +msgstr "Tietokannassani ei ole factoideja." #: plugin.py:603 msgid "latest factoid" -msgstr "" +msgstr "Viimeisin factoidi" #: plugin.py:605 msgid "latest factoids" -msgstr "" +msgstr "viimeisimmät factoidit" #: plugin.py:606 msgid "%s: %L" -msgstr "" +msgstr "%s: %L" #: plugin.py:615 msgid "requested factoid" -msgstr "" +msgstr "pyydetty factoidi" #: plugin.py:617 msgid "requested factoids" -msgstr "" +msgstr "pyydetyt factoidit" #: plugin.py:618 msgid "Top %s: %L" -msgstr "" +msgstr "Huippu %s: %L" #: plugin.py:620 msgid "No factoids have been requested from my database." -msgstr "" +msgstr "Factoideja ei ole pyydetty tietokannastani." #: plugin.py:624 msgid "" @@ -222,14 +236,21 @@ msgid "" " necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Luettelee kaikki annetun kirjailijan kirjoittamat factoidit. Huomaa, että\n" +" jos kirjoittajalla on kokonaisluku nimi, sinun täytyy käyttää kirjoittajan id:tä käyttääksesi\n" +" tätä toimintoa (joten älä käytä kokonaisluku käyttäjätunnuksia!). on vaadittu vain jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:637 msgid "No factoids by %q found." -msgstr "" +msgstr "%q:n kirjoittamia factoideja ei löytynyt." #: plugin.py:640 msgid "Author search for %q (%i found): %L" -msgstr "" +msgstr "Kirjoittaja haku %q:lle (%i löytynyt): %L" #: plugin.py:647 msgid "" @@ -240,14 +261,20 @@ msgid "" " itself.\n" " " msgstr "" +"[] \n" +"\n" +" Luettelee kaikki factoidit, joiden avain sisältää annetun tekstin.\n" +" on vaadittu vain, jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " #: plugin.py:655 msgid "No keys matching %q found." -msgstr "" +msgstr "Avaimia, jotka täsmäävät %q:un ei löytynyt." #: plugin.py:662 msgid "Key search for %q (%i found): %L" -msgstr "" +msgstr "Avain haku %q:lle (%i löytynyt): %L" #: plugin.py:669 msgid "" @@ -258,14 +285,20 @@ msgid "" " itself.\n" " " msgstr "" +"[] \n" +"\n" +" Luettelee factoidien avaimet, joiden arvo sisältää annetun tekstin.\n" +" on vaadittu vain, jos viestiä ei lähetetä\n" +" kanavalla itsellään.\n" +" " #: plugin.py:677 msgid "No values matching %q found." -msgstr "" +msgstr "%q:un täsmääviä avaimia ei löytynyt." #: plugin.py:680 msgid "Value search for %q (%i found): %L" -msgstr "" +msgstr "Arvo haku %q:lle (%i löytynyt): %L" #: plugin.py:687 msgid "" @@ -275,6 +308,11 @@ msgid "" " if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Poistaa factoidin annetulla avaimella. on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:700 msgid "" @@ -285,8 +323,14 @@ msgid "" " itself.\n" " " msgstr "" +"[]\n" +"\n" +" Näyttää satunnaisen factoidin (avaimensa kanssa) tietokannasta.\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " #: plugin.py:708 msgid "No factoids in the database." -msgstr "" +msgstr "Tietokannassa ei ole factoideja." From 0d2229ce16659455ca4bc0d4c5a7bcdac7859b39 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 13:55:10 +0300 Subject: [PATCH 142/244] MoobotFactoids: fixed ln10n-fi. --- plugins/MoobotFactoids/locale/fi.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/plugins/MoobotFactoids/locale/fi.po b/plugins/MoobotFactoids/locale/fi.po index 3f2edffc6..80c00f724 100644 --- a/plugins/MoobotFactoids/locale/fi.po +++ b/plugins/MoobotFactoids/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-23 12:13+0200\n" +"PO-Revision-Date: 2011-07-23 13:53+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -103,15 +103,15 @@ msgstr "Ei sellaista factoidia: %q" #: plugin.py:486 msgid "Created by %s on %s." -msgstr "%s:än luoma kanavalla %s." +msgstr "luonut %s kello %s." #: plugin.py:492 msgid " Last modified by %s on %s." -msgstr "Viimeeksi %s:än muokkaama kanavalla %s." +msgstr "Viimeeksi muokattu %s kello %s." #: plugin.py:500 msgid " Last requested by %s on %s, requested %n." -msgstr "Viimeeksi pyytänyt %s kanavalla %s, pyytänyt %n." +msgstr "Viimeeksi pyytänyt %s kello %s, pyytänyt %n." #: plugin.py:507 msgid " Locked by %s on %s." @@ -127,7 +127,7 @@ msgstr "Factoidi %q is not locked." #: plugin.py:535 msgid "Cannot %s someone else's factoid unless you are an admin." -msgstr "Ei voi %s jonkun muun factoidia paitsi, jos olet admin." +msgstr "Et voi %s jonkun muun factoidia paitsi, jos olet admin." #: plugin.py:547 msgid "" @@ -187,7 +187,7 @@ msgstr "kirjoittaja" #: plugin.py:593 msgid "authors" -msgstr "kirjoittaja" +msgstr "kirjoittajat" #: plugin.py:594 msgid "Most prolific %s: %L" @@ -200,7 +200,7 @@ msgstr "Tietokannassani ei ole factoideja." #: plugin.py:603 msgid "latest factoid" -msgstr "Viimeisin factoidi" +msgstr "viimeisin factoidi" #: plugin.py:605 msgid "latest factoids" @@ -220,7 +220,7 @@ msgstr "pyydetyt factoidit" #: plugin.py:618 msgid "Top %s: %L" -msgstr "Huippu %s: %L" +msgstr "Top %s: %L" #: plugin.py:620 msgid "No factoids have been requested from my database." From 2709fce166825040a2d5c5d0045df066c4306b08 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 15:56:03 +0300 Subject: [PATCH 143/244] Network: added ln10n-fi template. --- plugins/Network/locale/fi.po | 163 +++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 plugins/Network/locale/fi.po diff --git a/plugins/Network/locale/fi.po b/plugins/Network/locale/fi.po new file mode 100644 index 000000000..ffcc0ce40 --- /dev/null +++ b/plugins/Network/locale/fi.po @@ -0,0 +1,163 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-23 15:53+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:57 +msgid "" +"[--ssl] [] []\n" +"\n" +" Connects to another network (which will be represented by the name\n" +" provided in ) at . If port is not provided, it\n" +" defaults to 6667, the default port for IRC. If password is\n" +" provided, it will be sent to the server in a PASS command. If --ssl is\n" +" provided, an SSL connection will be attempted.\n" +" " +msgstr "" + +#: plugin.py:67 +msgid "I'm already connected to %s." +msgstr "" + +#: plugin.py:87 +msgid "A server must be provided if the network is not already registered." +msgstr "" + +#: plugin.py:95 +msgid "Connection to %s initiated." +msgstr "" + +#: plugin.py:102 +msgid "" +"[] []\n" +"\n" +" Disconnects from the network represented by the network .\n" +" If is given, quits the network with the given quit\n" +" message. is only necessary if the network is different\n" +" from the network the command is sent on.\n" +" " +msgstr "" + +#: plugin.py:114 +msgid "Disconnection to %s initiated." +msgstr "" + +#: plugin.py:120 +msgid "" +"[] []\n" +"\n" +" Disconnects and then reconnects to . If no network is given,\n" +" disconnects and then reconnects to the network the command was given\n" +" on. If no quit message is given, uses the configured one\n" +" (supybot.plugins.Owner.quitMsg) or the nick of the person giving the\n" +" command.\n" +" " +msgstr "" + +#: plugin.py:137 +msgid "" +" [ ...]\n" +"\n" +" Gives the bot (with its associated s) on .\n" +" " +msgstr "" + +#: plugin.py:210 +msgid "is an op on %L" +msgstr "" + +#: plugin.py:212 +msgid "is a halfop on %L" +msgstr "" + +#: plugin.py:214 +msgid "is voiced on %L" +msgstr "" + +#: plugin.py:217 +msgid "is also on %L" +msgstr "" + +#: plugin.py:219 +msgid "is on %L" +msgstr "" + +#: plugin.py:221 +msgid "isn't on any non-secret channels" +msgstr "" + +#: plugin.py:228 +#: plugin.py:229 +#: plugin.py:233 +msgid "" +msgstr "" + +#: plugin.py:240 +msgid " identified" +msgstr "" + +#: plugin.py:245 +msgid "%s (%s) has been%s on server %s since %s (idle for %s) and %s.%s" +msgstr "" + +#: plugin.py:258 +msgid "There is no %s on %s." +msgstr "" + +#: plugin.py:264 +msgid "" +"[] \n" +"\n" +" Returns the WHOIS response gives for . is\n" +" only necessary if the network is different than the network the command\n" +" is sent on.\n" +" " +msgstr "" + +#: plugin.py:280 +msgid "" +"takes no arguments\n" +"\n" +" Returns the networks to which the bot is currently connected.\n" +" " +msgstr "" + +#: plugin.py:293 +msgid "%.2f seconds." +msgstr "" + +#: plugin.py:297 +msgid "" +"[]\n" +"\n" +" Returns the current latency to . is only necessary\n" +" if the message isn't sent on the network to which this command is to\n" +" apply.\n" +" " +msgstr "" + +#: plugin.py:303 +msgid "Latency check (from %s)." +msgstr "" + +#: plugin.py:311 +msgid "" +"[]\n" +"\n" +" Returns the current network driver for . is only\n" +" necessary if the message isn't sent on the network to which this\n" +" command is to apply.\n" +" " +msgstr "" + From baae4eca908474219091711aa141a5517d13f758 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 17:08:57 +0300 Subject: [PATCH 144/244] Network: added ln10n-fi. --- plugins/Network/locale/fi.po | 83 ++++++++++++++++++++++++++++-------- 1 file changed, 66 insertions(+), 17 deletions(-) diff --git a/plugins/Network/locale/fi.po b/plugins/Network/locale/fi.po index ffcc0ce40..5d65b6eea 100644 --- a/plugins/Network/locale/fi.po +++ b/plugins/Network/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-23 15:53+0200\n" +"PO-Revision-Date: 2011-07-23 17:08+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -25,18 +25,26 @@ msgid "" " provided, an SSL connection will be attempted.\n" " " msgstr "" +"[--ssl] [] []\n" +"\n" +" Yhdistää toiseen verkkoon (joka näytetään nimellä, joka on annettu\n" +" ) . Jos portti ei ole annettu, se\n" +" on oletuksena 6667, oletusportti IRC:lle. Jos salasana on\n" +" annettu, se lähetetään palvelimelle PASS komennossa. Jos --ssl on\n" +" annettu, SSL yhteys muodostetaan.\n" +" " #: plugin.py:67 msgid "I'm already connected to %s." -msgstr "" +msgstr "Olen jo verkkoon %s." #: plugin.py:87 msgid "A server must be provided if the network is not already registered." -msgstr "" +msgstr "Palvelin täytyy antaa, mikäli verkko ei ole jo rekisteröity." #: plugin.py:95 msgid "Connection to %s initiated." -msgstr "" +msgstr "Yhdistäminen verkkoon %s aloitettu." #: plugin.py:102 msgid "" @@ -48,10 +56,17 @@ msgid "" " from the network the command is sent on.\n" " " msgstr "" +"[] []\n" +"\n" +" Katkaisee yhteyden verkkoon, jonka määrittää .\n" +" Jos on annettu, poistuu verkosta annetulla lopetus\n" +" viestillä. on vaadittu vain jos verkko on eri, kuin se, verkko josta\n" +" viesti on lähetetty.\n" +" " #: plugin.py:114 msgid "Disconnection to %s initiated." -msgstr "" +msgstr "Yhteyden katkaisu verkosta %s aloitettu." #: plugin.py:120 msgid "" @@ -64,6 +79,14 @@ msgid "" " command.\n" " " msgstr "" +"[] []\n" +"\n" +" Katkaisee yhteyden ja yhdistää uudelleen . Jos verkkoa ei ole annettu,\n" +" katkaisee yhteyden ja yhdistää uudelleen verkkoon, jossa komento annettiin.\n" +" Jos lopetus viestiä ei annettu, käyttää määritettyä lopetus viestiä\n" +" (supybot.plugins.Owner.quitMsg) tai henkilön joka antoi komennon\n" +" nimimerkkiä.\n" +" " #: plugin.py:137 msgid "" @@ -72,48 +95,52 @@ msgid "" " Gives the bot (with its associated s) on .\n" " " msgstr "" +" [ ...]\n" +"\n" +" Antaa botille (siihen liitetyillä ) .\n" +" " #: plugin.py:210 msgid "is an op on %L" -msgstr "" +msgstr "on kanavaoperaattori %L:llä" #: plugin.py:212 msgid "is a halfop on %L" -msgstr "" +msgstr "on puolioperaattori %L:llä." #: plugin.py:214 msgid "is voiced on %L" -msgstr "" +msgstr "on ääni %L:llä" #: plugin.py:217 msgid "is also on %L" -msgstr "" +msgstr "on myös %L:llä" #: plugin.py:219 msgid "is on %L" -msgstr "" +msgstr "on %L:llä." #: plugin.py:221 msgid "isn't on any non-secret channels" -msgstr "" +msgstr "Ei ole yhdelläkään ei-salaisella kanavalla." #: plugin.py:228 #: plugin.py:229 #: plugin.py:233 msgid "" -msgstr "" +msgstr "" #: plugin.py:240 msgid " identified" -msgstr "" +msgstr "tunnistautunut" #: plugin.py:245 msgid "%s (%s) has been%s on server %s since %s (idle for %s) and %s.%s" -msgstr "" +msgstr "%s (%s) on ollut %s palvelimella %s %s lähtien (idlannut %s) ja %s.%s" #: plugin.py:258 msgid "There is no %s on %s." -msgstr "" +msgstr "%s:ää ei ole verkossa %s." #: plugin.py:264 msgid "" @@ -124,6 +151,12 @@ msgid "" " is sent on.\n" " " msgstr "" +"[] \n" +"\n" +" Palauttaa WHOIS vastauksen, jonka antaa . on\n" +" vaadittu vain jos verkko on eri kuin se verkko, josta komento\n" +" lähetettiin.\n" +" " #: plugin.py:280 msgid "" @@ -132,10 +165,14 @@ msgid "" " Returns the networks to which the bot is currently connected.\n" " " msgstr "" +"ei ota parametrejä\n" +"\n" +" Palauttaa verkot, joihin botti on tällä hetkellä muodostanut yhteyden.\n" +" " #: plugin.py:293 msgid "%.2f seconds." -msgstr "" +msgstr "%.2f sekuntia." #: plugin.py:297 msgid "" @@ -146,10 +183,16 @@ msgid "" " apply.\n" " " msgstr "" +"[]\n" +"\n" +" Palauttaa nykyisen viiveen . on vaadittu vain jos\n" +" viestiä ei lähetetä verkossa, jolle tämä komento on tarkoitettu\n" +" vaikuttamaan.\n" +" " #: plugin.py:303 msgid "Latency check (from %s)." -msgstr "" +msgstr "Viiveen tarkistus (%s:ltä)." #: plugin.py:311 msgid "" @@ -160,4 +203,10 @@ msgid "" " command is to apply.\n" " " msgstr "" +"[]\n" +"\n" +" Palauttaa nykyisen verkkoajurin, joka on käytössä . on vaadittu\n" +" vain jos komentoa ei lähetetä verkossa, johon tämän komennon on tarkoitus\n" +" vaikuttaa.\n" +" " From 5ad79a61c06feaa2378aea4fbee997a3d2602e38 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 17:28:52 +0300 Subject: [PATCH 145/244] News: added ln10n-fi template. --- plugins/Network/locale/fi.po | 2 +- plugins/News/locale/fi.po | 103 +++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 plugins/News/locale/fi.po diff --git a/plugins/Network/locale/fi.po b/plugins/Network/locale/fi.po index 5d65b6eea..2810b4a96 100644 --- a/plugins/Network/locale/fi.po +++ b/plugins/Network/locale/fi.po @@ -1,6 +1,6 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. +# Mika Suomalainen , 2011. # msgid "" msgstr "" diff --git a/plugins/News/locale/fi.po b/plugins/News/locale/fi.po new file mode 100644 index 000000000..cc97c75d6 --- /dev/null +++ b/plugins/News/locale/fi.po @@ -0,0 +1,103 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-23 17:28+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:57 +msgid "%s (Subject: %q, added by %s on %s)" +msgstr "" + +#: plugin.py:61 +msgid "%s (Subject: %q, added by %s on %s, expires at %s)" +msgstr "" + +#: plugin.py:120 +msgid "" +"[] : \n" +"\n" +" Adds a given news item of to a channel with the given .\n" +" If isn't 0, that news item will expire seconds from\n" +" now. is only necessary if the message isn't sent in the\n" +" channel itself.\n" +" " +msgstr "" + +#: plugin.py:132 +msgid "(News item #%i added)" +msgstr "" + +#: plugin.py:137 +msgid "" +"[] []\n" +"\n" +" Display the news items for in the format of '(#id) subject'.\n" +" If is given, retrieve only that news item; otherwise retrieve all\n" +" news items. is only necessary if the message isn't sent in\n" +" the channel itself.\n" +" " +msgstr "" + +#: plugin.py:148 +msgid "News for %s: %s" +msgstr "" + +#: plugin.py:151 +msgid "No news for %s." +msgstr "" + +#: plugin.py:157 +#: plugin.py:171 +#: plugin.py:187 +#: plugin.py:203 +msgid "news item id" +msgstr "" + +#: plugin.py:162 +msgid "" +"[] \n" +"\n" +" Removes the news item with from . is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:176 +msgid "" +"[] \n" +"\n" +" Changes the news item with from according to the\n" +" regular expression . should be of the form\n" +" s/text/replacement/flags. is only necessary if the message\n" +" isn't sent on the channel itself.\n" +" " +msgstr "" + +#: plugin.py:192 +msgid "" +"[] []\n" +"\n" +" Returns the old news item for with . If no number is\n" +" given, returns all the old news items in reverse order. is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:208 +msgid "Old news for %s: %s" +msgstr "" + +#: plugin.py:211 +msgid "No old news for %s." +msgstr "" + From becf24f4f649d14035d05363754db35136197ca7 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 17:30:58 +0300 Subject: [PATCH 146/244] News: added ln10n-fi template. --- plugins/News/locale/fi.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/News/locale/fi.po b/plugins/News/locale/fi.po index cc97c75d6..498d337a4 100644 --- a/plugins/News/locale/fi.po +++ b/plugins/News/locale/fi.po @@ -1,6 +1,6 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. +# Mika Suomalainen , 2011. # msgid "" msgstr "" From b4de7c4d94efa91728f3592b62e5ecb74653b24f Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 18:01:28 +0300 Subject: [PATCH 147/244] News: added l10n-fi. --- plugins/News/locale/fi.po | 50 ++++++++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 9 deletions(-) diff --git a/plugins/News/locale/fi.po b/plugins/News/locale/fi.po index 498d337a4..492fbd174 100644 --- a/plugins/News/locale/fi.po +++ b/plugins/News/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-23 17:28+0200\n" +"PO-Revision-Date: 2011-07-23 18:00+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,11 +16,11 @@ msgstr "" #: plugin.py:57 msgid "%s (Subject: %q, added by %s on %s)" -msgstr "" +msgstr "%s (Aihe: %q, lisännyt %s kanavalla %s)" #: plugin.py:61 msgid "%s (Subject: %q, added by %s on %s, expires at %s)" -msgstr "" +msgstr "%s (Aihe: %q, lisännyt %s kanavalla %s, vanhenee %s)" #: plugin.py:120 msgid "" @@ -32,10 +32,17 @@ msgid "" " channel itself.\n" " " msgstr "" +"[] : \n" +"\n" +" Lisää annetun uutisaiheen, kanavalle annetulla .\n" +" Jos ei ole 0, se sekunteja tästä\n" +" lähtien. on vaadittu vain jos viestiä ei lähetetä\n" +" kanavalla itsellään.\n" +" " #: plugin.py:132 msgid "(News item #%i added)" -msgstr "" +msgstr "(Uutisaihe #%i lisätty)" #: plugin.py:137 msgid "" @@ -47,21 +54,28 @@ msgid "" " the channel itself.\n" " " msgstr "" +"[] []\n" +"\n" +" Näyttää uutisaiheet muodossa '(#id) otsikko'.\n" +" Jos on annettu, vain se uutisaihe haetaan; muutoin hakee kaikki\n" +" uutisaiheet. on vaadittu vain, jos viestiä ei lähetetä\n" +" kanavalla itsellään.\n" +" " #: plugin.py:148 msgid "News for %s: %s" -msgstr "" +msgstr "Uutisia %s::lle %s" #: plugin.py:151 msgid "No news for %s." -msgstr "" +msgstr "Ei uutisia %s:lle." #: plugin.py:157 #: plugin.py:171 #: plugin.py:187 #: plugin.py:203 msgid "news item id" -msgstr "" +msgstr "uutisaihe id" #: plugin.py:162 msgid "" @@ -71,6 +85,11 @@ msgid "" " necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Poistaa uutisaiheen . on vaadittu\n" +" vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:176 msgid "" @@ -82,6 +101,13 @@ msgid "" " isn't sent on the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Vaihtaa uutisaiheen \n" +" mukaan. pitäisi olla muotoa \n" +" s/teksti/korvaus/liput. on vaadittu vain jos viestiä ei lähetetä\n" +" kanavalla itsellään.\n" +" " #: plugin.py:192 msgid "" @@ -92,12 +118,18 @@ msgid "" " only necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] []\n" +"\n" +" Palauttaa vanhan uutisaiheen . Jos numeroa ei ole\n" +" annettu, palauttaa kaikki uutisaiheet käänteisessä järjestyksessä. on\n" +" vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:208 msgid "Old news for %s: %s" -msgstr "" +msgstr "Vanhoja uutisia %s:lle %s" #: plugin.py:211 msgid "No old news for %s." -msgstr "" +msgstr "Ei vanhoja uutisia %s:lle." From 0dee5879270365c7c0248e66750a6bc403915c2b Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 18:33:12 +0300 Subject: [PATCH 148/244] NickCapture: added l10n-fi. --- plugins/NickCapture/locale/fi.po | 46 ++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 plugins/NickCapture/locale/fi.po diff --git a/plugins/NickCapture/locale/fi.po b/plugins/NickCapture/locale/fi.po new file mode 100644 index 000000000..af9589528 --- /dev/null +++ b/plugins/NickCapture/locale/fi.po @@ -0,0 +1,46 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-23 18:31+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:47 +msgid "" +"Determines whether the bot will check\n" +" occasionally if its preferred nick is in use via the ISON command." +msgstr "" +"Määrittää yrittääkö botti tarkistaa\n" +" silloin tällöin onko sen haluama nimimerkki käytössä ISON komennolla." + +#: config.py:50 +msgid "" +"Determines how often (in seconds) the bot\n" +" will check whether its nick ISON." +msgstr "" +"Määrittää kuinka usein (sekunteina) botti\n" +" tarkistaa nimimerkkinsä ISON komennolla." + +#: plugin.py:40 +msgid "" +"This module constantly tries to take whatever nick is configured as\n" +" supybot.nick. Just make sure that's set appropriately, and thus plugin\n" +" will do the rest." +msgstr "" +"Tämä moduuli yrittää jatkuvasti ottaa sen nimimerkin, joka on määritetty\n" +" asetusarvossa supybot.nick. Tee vain varmaksi, että se on määritetty kunnolla\n" +" ja tämä lisäosa hoitaa loput." + +#: plugin.py:89 +msgid "This is returned by the ISON command." +msgstr "Tämä on ISON komennon palauttama." + From 23ba4a10ad97912b3d8e5a548406e12717316f45 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 21:28:47 +0300 Subject: [PATCH 149/244] NickoMeter: added l10n-fi. --- plugins/Nickometer/locale/fi.po | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 plugins/Nickometer/locale/fi.po diff --git a/plugins/Nickometer/locale/fi.po b/plugins/Nickometer/locale/fi.po new file mode 100644 index 000000000..9851cfe75 --- /dev/null +++ b/plugins/Nickometer/locale/fi.po @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-23 21:26+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:84 +msgid "" +"[]\n" +"\n" +" Tells you how lame said nick is. If is not given, uses the\n" +" nick of the person giving the command.\n" +" " +msgstr "" +"[]\n" +"\n" +" Kertoo sinulle kuinka laimea sanottu nimimerkki on. Jos ei ole annettu, käyttää\n" +" komennon antaneen henkilön nimimerkkiä.\n" +" " + +#: plugin.py:226 +msgid "The \"lame nick-o-meter\" reading for \"%s\" is %s%%." +msgstr "\"Laimea nimimerkki-maatti\" lukema \"%s\":lle on %s%%." + From f381f5b0238c89737b509d3ac8c2be6b3c38d44b Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 21:48:11 +0300 Subject: [PATCH 150/244] Note: added l10n-fi. --- plugins/Note/locale/fi.po | 116 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 plugins/Note/locale/fi.po diff --git a/plugins/Note/locale/fi.po b/plugins/Note/locale/fi.po new file mode 100644 index 000000000..eb635bf85 --- /dev/null +++ b/plugins/Note/locale/fi.po @@ -0,0 +1,116 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-23 21:45+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:181 +msgid "" +",[,[...]] \n" +"\n" +" Sends a new note to the user specified. Multiple recipients may be\n" +" specified by separating their names by commas.\n" +" " +msgstr "" +",[,[...]] \n" +"\n" +" Lähettää uuden muistiinpanon määritetylle käyttäjälle. Monia vastaanottajia voidaan\n" +" määrittää erottamalla nimet pilkuilla.\n" +" " + +#: plugin.py:197 +msgid "" +" \n" +"\n" +" Sends a note in reply to .\n" +" " +msgstr "" +" \n" +"\n" +" Lähettää muistiinpanon vastaukseksi .\n" +" " + +#: plugin.py:221 +msgid "" +"\n" +"\n" +" Unsends the note with the id given. You must be the\n" +" author of the note, and it must be unread.\n" +" " +msgstr "" +"\n" +"\n" +" Kumoaa muistiinpanon lähetyksen. Sinun täytyy olla\n" +" muistiinpanon tekijä, ja sen täytyy olla lukematon.\n" +" " + +#: plugin.py:253 +msgid "" +"\n" +"\n" +" Retrieves a single note by its unique note id. Use the 'note list'\n" +" command to see what unread notes you have.\n" +" " +msgstr "" +"\n" +"\n" +" Hakee muistiinpanon sen ainutlaatuisella muistiinpano id:llä. Käytä 'note list'\n" +" komentoa nähdäksesi mitä lukemattomia muistiinpanoja sinulla on.\n" +" " + +#: plugin.py:283 +msgid "" +"[--{regexp} ] [--sent] []\n" +"\n" +" Searches your received notes for ones matching . If --regexp is\n" +" given, its associated value is taken as a regexp and matched against\n" +" the notes. If --sent is specified, only search sent notes.\n" +" " +msgstr "" +"[--{regexp} ] [--sent] []\n" +"\n" +" Etsii vastaanotetuista muistiinpanojasi niitä muistiinpanoja, jotka täsmäävät . Jos --regexp on\n" +" annettu, sen liitetty arvo on otettu säännöllisestä lausekkeesta ja täsmätty muistiinpanoihin.\n" +" the notes. Jos --sent on määritetty, hakee vain lähetetyistä muistiinpanoista .\n" +" " + +#: plugin.py:322 +msgid "" +"[--{old,sent}] [--{from,to} ]\n" +"\n" +" Retrieves the ids of all your unread notes. If --old is given, list\n" +" read notes. If --sent is given, list notes that you have sent. If\n" +" --from is specified, only lists notes sent to you from . If\n" +" --to is specified, only lists notes sent by you to .\n" +" " +msgstr "" +"[--{old,sent}] [--{from,to} ]\n" +"\n" +" Hakee kaikki lukemattomat muistiinpanosi. Jos --old on annettu, luettelee\n" +" luetut muistiinpanot. Jos --sent on annettu, luettelee muistiinpanot, jotka olet lähettänyt. Jos\n" +" --from on määritetty, luettelee vain muistiinpanot, jotka on lähettänyt sinulle. Jos\n" +" --to on määritetty, luettelee vain muistiinpanot, jotka ovat lähettänyt .\n" +" " + +#: plugin.py:363 +msgid "" +"takes no arguments\n" +"\n" +" Retrieves your next unread note, if any.\n" +" " +msgstr "" +"ei ota parametrejä\n" +"\n" +" Hakee lukemattomat muistiinpanosi, jos yhtään.\n" +" " + From 8060839c1abcaa03ad3c2dbfce79b7986513b662 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 21:51:29 +0300 Subject: [PATCH 151/244] Owner: added template for l10n-fi but Owner translations will not work. --- plugins/Owner/locale/fi.po | 169 +++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 plugins/Owner/locale/fi.po diff --git a/plugins/Owner/locale/fi.po b/plugins/Owner/locale/fi.po new file mode 100644 index 000000000..90fe7a784 --- /dev/null +++ b/plugins/Owner/locale/fi.po @@ -0,0 +1,169 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-23 21:49+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:273 +msgid "" +"\n" +"\n" +" Logs to the global Supybot log at critical priority. Useful for\n" +" marking logfiles for later searching.\n" +" " +msgstr "" + +#: plugin.py:283 +msgid "" +"\n" +"\n" +" Sends to all channels the bot is currently on and not\n" +" lobotomized in.\n" +" " +msgstr "" + +#: plugin.py:298 +msgid "" +"[--remove] []\n" +"\n" +" Sets the default plugin for to . If --remove is\n" +" given, removes the current default plugin for . If no plugin\n" +" is given, returns the current default plugin set for . See\n" +" also, supybot.commands.defaultPlugins.importantPlugins.\n" +" " +msgstr "" + +#: plugin.py:336 +msgid "" +"\n" +"\n" +" Sends the raw string given to the server.\n" +" " +msgstr "" + +#: plugin.py:350 +msgid "" +"[]\n" +"\n" +" Exits the bot with the QUIT message . If is not given,\n" +" the default quit message (supybot.plugins.Owner.quitMsg) will be used.\n" +" If there is no default quitMsg set, your nick will be used.\n" +" " +msgstr "" + +#: plugin.py:366 +msgid "" +"takes no arguments\n" +"\n" +" Runs all the periodic flushers in world.flushers. This includes\n" +" flushing all logs and all configuration changes to disk.\n" +" " +msgstr "" + +#: plugin.py:376 +msgid "" +"[]\n" +"\n" +" Runs the standard upkeep stuff (flushes and gc.collects()). If given\n" +" a level, runs that level of upkeep (currently, the only supported\n" +" level is \"high\", which causes the bot to flush a lot of caches as well\n" +" as do normal upkeep stuff.\n" +" " +msgstr "" + +#: plugin.py:415 +msgid "" +"[--deprecated] \n" +"\n" +" Loads the plugin from any of the directories in\n" +" conf.supybot.directories.plugins; usually this includes the main\n" +" installed directory and 'plugins' in the current directory.\n" +" --deprecated is necessary if you wish to load deprecated plugins.\n" +" " +msgstr "" + +#: plugin.py:450 +msgid "" +"\n" +"\n" +" Unloads and subsequently reloads the plugin by name; use the 'list'\n" +" command to see a list of the currently loaded plugins.\n" +" " +msgstr "" + +#: plugin.py:479 +msgid "" +"\n" +"\n" +" Unloads the callback by name; use the 'list' command to see a list\n" +" of the currently loaded callbacks. Obviously, the Owner plugin can't\n" +" be unloaded.\n" +" " +msgstr "" + +#: plugin.py:503 +msgid "" +"{add|remove} \n" +"\n" +" Adds or removes (according to the first argument) from the\n" +" default capabilities given to users (the configuration variable\n" +" supybot.capabilities stores these).\n" +" " +msgstr "" + +#: plugin.py:528 +msgid "" +"[] \n" +"\n" +" Disables the command for all users (including the owners).\n" +" If is given, only disables the from . If\n" +" you want to disable a command for most users but not for yourself, set\n" +" a default capability of -plugin.command or -command (if you want to\n" +" disable the command in all plugins).\n" +" " +msgstr "" + +#: plugin.py:555 +msgid "" +"[] \n" +"\n" +" Enables the command for all users. If \n" +" if given, only enables the from . This command is\n" +" the inverse of disable.\n" +" " +msgstr "" + +#: plugin.py:574 +msgid "" +" \n" +"\n" +" Renames in to the .\n" +" " +msgstr "" + +#: plugin.py:591 +msgid "" +"\n" +"\n" +" Removes all renames in . The plugin will be reloaded after\n" +" this command is run.\n" +" " +msgstr "" + +#: plugin.py:604 +msgid "" +"takes no argument\n" +"\n" +" Reloads the locale of the bot." +msgstr "" + From 769f45a094bf827dc9aa7cc9e8fd1a29e6800c8f Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 23 Jul 2011 23:02:54 +0300 Subject: [PATCH 152/244] Plugin: l10n-fi: 38%. --- plugins/Plugin/locale/fi.po | 252 ++++++++++++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 plugins/Plugin/locale/fi.po diff --git a/plugins/Plugin/locale/fi.po b/plugins/Plugin/locale/fi.po new file mode 100644 index 000000000..85e23e8e5 --- /dev/null +++ b/plugins/Plugin/locale/fi.po @@ -0,0 +1,252 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-23 23:00+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:42 +msgid "" +"This plugin exists to help users manage their plugins. Use 'plugin\n" +" list' to list the loaded plugins; use 'plugin help' to get the description\n" +" of a plugin; use the 'plugin' command itself to determine what plugin a\n" +" command exists in." +msgstr "" +"Tämä lisäosa on olemassa auttaakseen ihmisiä hallitsemaan lisäosiaan. Käytä komentoa 'plugin\n" +" list' nähdäksesi listan ladatuista lisäosista; käytä 'plugin help' komentoa saadaksesi kuvauksen\n" +" lisäosasta; käytä 'plugin' komentoa itseään määrittääksesi mitkä komennot lisäosassa\n" +" on olemassa." + +#: plugin.py:48 +msgid "" +"\n" +"\n" +" Returns a useful description of how to use , if the plugin has\n" +" one.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa hyödyllistä tietoa, kuinka käytetään, jos lisäosalla on\n" +" sellainen.\n" +" " + +#: plugin.py:57 +msgid "That plugin is loaded, but has no plugin help." +msgstr "Tuo lisäosa on ladattu, mutta sillä ei ole \"plugin help\" ohjetta." + +#: plugin.py:62 +msgid "" +"takes no arguments\n" +"\n" +" Returns a list of the currently loaded plugins.\n" +" " +msgstr "" +"ei ota parametrejä\n" +"\n" +" Palauttaa listan tällä hetkellä ladatuista lisäosista.\n" +" " + +#: plugin.py:73 +msgid "" +"\n" +"\n" +" Returns the name of the plugin that would be used to call .\n" +" \n" +" If it is not uniquely determined, returns list of all plugins that\n" +" contain .\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa lisäosan nimen, jota voisi käyttää kutsumaan .\n" +" \n" +" Jos se ei ole ainutlaatuisesti määritetty, palauttaa listan kaikista lisäosista, jotka\n" +" sisältävät .\n" +" " + +#: plugin.py:91 +msgid "plugins" +msgstr "lisäosat" + +#: plugin.py:93 +msgid "plugin" +msgstr "lisäosa" + +#: plugin.py:94 +msgid "The %q command is available in the %L %s." +msgstr "Komento %q on saatavilla %L %s." + +#: plugin.py:97 +msgid "There is no command %q." +msgstr "%q komentoa %q ei ole." + +#: plugin.py:113 +msgid "" +"\n" +"\n" +" Returns the names of all plugins that contain .\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa kaikkien lisäosien nimet, jotka sisältävät .\n" +" " + +#: plugin.py:135 +msgid "" +"\n" +"\n" +" Returns the author of . This is the person you should talk to\n" +" if you have ideas, suggestions, or other comments about a given plugin.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa kirjoittajan. Tämä on henkilö, jolle sinun pitäisi puhua\n" +" jos sinulla on ideaoita, ehdotuksia, tai muita kommentteja annetusta lisäosasta.\n" +" " + +#: plugin.py:141 +msgid "That plugin does not seem to be loaded." +msgstr "Tuo lisäosa ei vaikuta olevan ladattu." + +#: plugin.py:147 +msgid "That plugin doesn't have an author that claims it." +msgstr "Tuolla lisäosalla ei ole tekijää, joka ilmoittaa sen omakseen." + +#: plugin.py:152 +msgid "" +" []\n" +"\n" +" Replies with a list of people who made contributions to a given plugin.\n" +" If is specified, that person's specific contributions will\n" +" be listed. Note: The is the part inside of the parentheses\n" +" in the people listing.\n" +" " +msgstr "" +" []\n" +"\n" +" Vastaa listalla ihmisistä, jotka ovat osallistuneet annetun lisäosan kehittämiseen.\n" +" Jos on annettu, juuri tuon henkilön osallistuminen\n" +" luetellaan. Huomaa: on se sulkeissa oleva osa\n" +" henkilöluetteloinnissa..\n" +" " + +#: plugin.py:160 +msgid "" +"\n" +" Take an Authors object, and return only the name and nick values\n" +" in the format 'First Last (nick)'.\n" +" " +msgstr "" + +#: plugin.py:166 +msgid "" +"\n" +" Take a list of long names and turn it into :\n" +" shortname[, shortname and shortname].\n" +" " +msgstr "" + +#: plugin.py:173 +msgid "" +"\n" +" Sort the list of 'long names' based on the number of contributions\n" +" associated with each.\n" +" " +msgstr "" + +#: plugin.py:183 +msgid "" +"\n" +" Build the list of author + contributors (if any) for the requested\n" +" plugin.\n" +" " +msgstr "" + +#: plugin.py:187 +msgid "The %s plugin" +msgstr "" + +#: plugin.py:188 +msgid "has not been claimed by an author" +msgstr "" + +#: plugin.py:189 +msgid "and" +msgstr "" + +#: plugin.py:190 +msgid "has no contributors listed." +msgstr "" + +#: plugin.py:195 +msgid "was written by %s" +msgstr "" + +#: plugin.py:206 +msgid "%s %h contributed to it." +msgstr "" + +#: plugin.py:211 +msgid "has no additional contributors listed." +msgstr "" + +#: plugin.py:213 +msgid "but" +msgstr "" + +#: plugin.py:216 +msgid "" +"\n" +" Build the list of contributions (if any) for the requested person\n" +" for the requested plugin\n" +" " +msgstr "" + +#: plugin.py:230 +msgid "The nick specified (%s) is not a registered contributor." +msgstr "" + +#: plugin.py:236 +msgid "The %s plugin does not have '%s' listed as a contributor." +msgstr "" + +#: plugin.py:244 +msgid "command" +msgstr "" + +#: plugin.py:247 +msgid "the %L %s" +msgstr "" + +#: plugin.py:249 +msgid "the %L" +msgstr "" + +#: plugin.py:252 +msgid "%s wrote the %s plugin and also contributed %L." +msgstr "" + +#: plugin.py:255 +msgid "%s contributed %L to the %s plugin." +msgstr "" + +#: plugin.py:258 +msgid "%s wrote the %s plugin" +msgstr "" + +#: plugin.py:261 +msgid "%s has no listed contributions for the %s plugin." +msgstr "" + From 21be09ed21ee4ffe565952a323c576628d17dbce Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 24 Jul 2011 12:24:50 +0300 Subject: [PATCH 153/244] Plugin: added l10n-fi. --- plugins/Plugin/locale/fi.po | 58 +++++++++++++++++++++++++------------ 1 file changed, 40 insertions(+), 18 deletions(-) mode change 100644 => 100755 plugins/Plugin/locale/fi.po diff --git a/plugins/Plugin/locale/fi.po b/plugins/Plugin/locale/fi.po old mode 100644 new mode 100755 index 85e23e8e5..2234191ae --- a/plugins/Plugin/locale/fi.po +++ b/plugins/Plugin/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-23 23:00+0200\n" +"PO-Revision-Date: 2011-07-24 12:23+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -149,14 +149,23 @@ msgid "" " in the format 'First Last (nick)'.\n" " " msgstr "" +"\n" +" Ota kirjoittajan objekti, ja palauta vain nimi ja nimimerkki arvot\n" +" muodossa'Etu- Sukunimi (nimimerkki)'.\n" +" " #: plugin.py:166 +#, fuzzy msgid "" "\n" " Take a list of long names and turn it into :\n" " shortname[, shortname and shortname].\n" " " msgstr "" +"\n" +" Ottaa listan pitkistä nimistä ja muuttaa sen :\n" +" lyhyeksi nimeksi[, lyhyt nimi ja lyhyt nimi].\n" +" " #: plugin.py:173 msgid "" @@ -165,6 +174,10 @@ msgid "" " associated with each.\n" " " msgstr "" +"\n" +" Lajittelee listan 'pitkistä nimistä' perustuen osallistumisen määrän\n" +" liitettynä toisiinsa.\n" +" " #: plugin.py:183 msgid "" @@ -173,38 +186,42 @@ msgid "" " plugin.\n" " " msgstr "" +"\n" +" Rakentaa listan tekijöistä + osallistujista (jos yhtään) pyydetylle\n" +" lisäosalle.\n" +" " #: plugin.py:187 msgid "The %s plugin" -msgstr "" +msgstr "%s lisäosa" #: plugin.py:188 msgid "has not been claimed by an author" -msgstr "" +msgstr "ei ole kirjoittajan omakseen väittämä" #: plugin.py:189 msgid "and" -msgstr "" +msgstr "ja" #: plugin.py:190 msgid "has no contributors listed." -msgstr "" +msgstr "ei ole lueteltuja osallistumisia." #: plugin.py:195 msgid "was written by %s" -msgstr "" +msgstr "kirjoittanut %s" #: plugin.py:206 msgid "%s %h contributed to it." -msgstr "" +msgstr "%s %h osallistuivat siihen." #: plugin.py:211 msgid "has no additional contributors listed." -msgstr "" +msgstr "ei ole vaihtoehtoisia osallistujia lueteltuna." #: plugin.py:213 msgid "but" -msgstr "" +msgstr "mutta" #: plugin.py:216 msgid "" @@ -213,40 +230,45 @@ msgid "" " for the requested plugin\n" " " msgstr "" +"\n" +" Rakentaa listan osallistumisista (jos yhtään) pyydetylle henkilölle\n" +" pyydetystä lisäosasta.\n" +" " #: plugin.py:230 msgid "The nick specified (%s) is not a registered contributor." -msgstr "" +msgstr "Määritetty nimimerkki (%s) ei ole rekisteröitynyt osallistuja." #: plugin.py:236 msgid "The %s plugin does not have '%s' listed as a contributor." -msgstr "" +msgstr "Lisäosalla %s ei ole '%s':ää lueteltuna osallistujaksi." #: plugin.py:244 msgid "command" -msgstr "" +msgstr "komento" #: plugin.py:247 msgid "the %L %s" -msgstr "" +msgstr "%L %s" #: plugin.py:249 msgid "the %L" -msgstr "" +msgstr "%L" #: plugin.py:252 msgid "%s wrote the %s plugin and also contributed %L." -msgstr "" +msgstr "%s kirjoitti lisäosan %s ja osallistui myös %L:ään." #: plugin.py:255 +#, fuzzy msgid "%s contributed %L to the %s plugin." -msgstr "" +msgstr "%s osallistui %L:stä %s lisäosaan." #: plugin.py:258 msgid "%s wrote the %s plugin" -msgstr "" +msgstr "%s kirjoitti lisäosan %s" #: plugin.py:261 msgid "%s has no listed contributions for the %s plugin." -msgstr "" +msgstr "%s:llä ei ole lueteltuja osallistujia lisäosaan %s." From 5888e023e194a49f6563317771ebd34fa37d368e Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 24 Jul 2011 15:37:14 +0300 Subject: [PATCH 154/244] Praise: added l10n-fi. --- plugins/Praise/locale/fi.po | 70 +++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 plugins/Praise/locale/fi.po diff --git a/plugins/Praise/locale/fi.po b/plugins/Praise/locale/fi.po new file mode 100644 index 000000000..55843a095 --- /dev/null +++ b/plugins/Praise/locale/fi.po @@ -0,0 +1,70 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-24 15:36+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:49 +msgid "" +"Determines whether the bot will show the ids of\n" +" a praise when the praise is given." +msgstr "" +"Määrittää näyttääkö botti ylistysten id:t, kun\n" +" ylistys annetaan." + +#: plugin.py:39 +msgid "" +"Praise is a plugin for ... well, praising things. Feel free to add\n" +" your own flavor to it by customizing what praises it gives. Use \"praise\n" +" add \" to add new ones, making sure to include \"$who\" in where\n" +" you want to insert the thing being praised.\n" +" " +msgstr "" +"Praise on lisäosa ... no, ylistämään asioita. Lisää vapaasti\n" +" omaa suosiotasi muokkaamalla mitä ylistyksiä se antaa. Käytä komentoa \"praise\n" +" add \" lisätäksesi uusia ylistyksiä, varmistaen, että sisällytät \"$who\"n mihin\n" +" haluat laittaa ylistettävän asian.\n" +" " + +#: plugin.py:53 +msgid "Praises must contain $who." +msgstr "Ylistyksien täytyy sisältää $who." + +#: plugin.py:57 +msgid "" +"[] [] [for ]\n" +"\n" +" Praises (for , if given). If is given, uses\n" +" that specific praise. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] [] [for ]\n" +"\n" +" Ylistää (, jos annettu). Jos on annettu, käyttää\n" +" juuri sitä tiettyä ylistystä. on vaadittu vain jos viestiä ei lähetetä\n" +" kanavalla itsellään.\n" +" " + +#: plugin.py:73 +msgid "There is no praise with id #%i." +msgstr "Ylistystä id:llä #%i ei löydy." + +#: plugin.py:78 +msgid "There are no praises in my database for %s." +msgstr "Minun tietokannassani ei ole ylistyksiä %s:lle." + +#: plugin.py:86 +msgid " for " +msgstr "varten" + From 0a0db60779c79516a5512c9badd7012e4433be6d Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 24 Jul 2011 15:46:41 +0300 Subject: [PATCH 155/244] Protector: added l10n-fi. --- plugins/Protector/locale/fi.po | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 plugins/Protector/locale/fi.po diff --git a/plugins/Protector/locale/fi.po b/plugins/Protector/locale/fi.po new file mode 100644 index 000000000..0f0f622a7 --- /dev/null +++ b/plugins/Protector/locale/fi.po @@ -0,0 +1,36 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-24 15:44+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:47 +msgid "" +"Determines whether this plugin is enabled in a\n" +" given channel." +msgstr "" +"Määrittää onko tämä lisäosa käytössä\n" +" annetulla kanavalla." + +#: config.py:54 +msgid "" +"Determines what nicks the bot will consider to\n" +" be immune from enforcement. These nicks will not even have their actions\n" +" watched by this plugin. In general, only the ChanServ for this network\n" +" will be in this list." +msgstr "" +"Määrittää nimimerkit, jotka botti ajattelee\n" +" immuuneiksi tästä pakotuksesta. Näiden nimimerkkien toiminnot jäävät\n" +" tämän lisäosan valvonnan ulkopuolisiksi. Yleisesti, vain tämän verkon ChanServ tulee olemaan\n" +" tässä listassa." + From 1032fd4f34c6546c507a738ae502f05806cd548c Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 24 Jul 2011 16:05:28 +0300 Subject: [PATCH 156/244] Quote: added l10n-fi. --- plugins/Protector/locale/fi.po | 3 +-- plugins/Quote/locale/fi.po | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 plugins/Quote/locale/fi.po diff --git a/plugins/Protector/locale/fi.po b/plugins/Protector/locale/fi.po index 0f0f622a7..dc9d2c663 100644 --- a/plugins/Protector/locale/fi.po +++ b/plugins/Protector/locale/fi.po @@ -1,7 +1,6 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. -# +# Mika Suomalainen , 2011. msgid "" msgstr "" "Project-Id-Version: \n" diff --git a/plugins/Quote/locale/fi.po b/plugins/Quote/locale/fi.po new file mode 100644 index 000000000..fa6855f65 --- /dev/null +++ b/plugins/Quote/locale/fi.po @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-24 16:04+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:38 +msgid "" +"[]\n" +"\n" +" Returns a random quote from . is only necessary if\n" +" the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Palauttaa satunnaisen lainauksen . on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:47 +msgid "I have no quotes in my database for %s." +msgstr "Minun tietokannassani ei ole lainauksia kanavalla %s." + From 1df6b2ab58c44dff9275983fbe28cbea986270b8 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 24 Jul 2011 16:16:22 +0300 Subject: [PATCH 157/244] Owner: added warning about not working translations to fi.po. Owner plugin can't be translated. --- plugins/Owner/locale/fi.po | 2 ++ 1 file changed, 2 insertions(+) mode change 100644 => 100755 plugins/Owner/locale/fi.po diff --git a/plugins/Owner/locale/fi.po b/plugins/Owner/locale/fi.po old mode 100644 new mode 100755 index 90fe7a784..5c5be35e5 --- a/plugins/Owner/locale/fi.po +++ b/plugins/Owner/locale/fi.po @@ -1,6 +1,8 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION # FIRST AUTHOR , YEAR. +# WARNING: Translations of Owner plugin will not work, because it's loaded directly by supybot +# and translations are more like a hack to it. # msgid "" msgstr "" From 04e026ff0fd0818d58afbc98ac9e56ff68f4a522 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 24 Jul 2011 17:14:52 +0300 Subject: [PATCH 158/244] Ctcp: fixed l10n-fi. --- plugins/Ctcp/locale/fi.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) mode change 100644 => 100755 plugins/Ctcp/locale/fi.po diff --git a/plugins/Ctcp/locale/fi.po b/plugins/Ctcp/locale/fi.po old mode 100644 new mode 100755 index 24e8ba344..6e452ce9e --- a/plugins/Ctcp/locale/fi.po +++ b/plugins/Ctcp/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-16 22:53+0200\n" +"PO-Revision-Date: 2011-07-24 17:14+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "Language: \n" @@ -59,7 +59,7 @@ msgstr "" " Lähettää CTCP VERSION , palauttaen \n" " palaavat versioketjut. Se odottaa 10 sekuntia ennen kuin palauttaa\n" " versiot, jotka vastaanotettiin tuolloin. Jos --nicks on annettu, nimimerkit\n" -" liitetään versioketjuihin; muutoin vain versio-\n" -" ketjut annetaan.\n" +" liitetään versioketjuihin; muutoin vain versioketjut\n" +" annetaan.\n" " " From fbae63f7aa4b11f37fb7f6a29ff9d2627cbdcd87 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 24 Jul 2011 17:50:02 +0300 Subject: [PATCH 159/244] Plugin: fixed or added typo in l10n-fi. --- plugins/Plugin/locale/fi.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Plugin/locale/fi.po b/plugins/Plugin/locale/fi.po index 2234191ae..b58a76ff4 100755 --- a/plugins/Plugin/locale/fi.po +++ b/plugins/Plugin/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-24 12:23+0200\n" +"PO-Revision-Date: 2011-07-24 17:49+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -193,7 +193,7 @@ msgstr "" #: plugin.py:187 msgid "The %s plugin" -msgstr "%s lisäosa" +msgstr "%s lisäosassa" #: plugin.py:188 msgid "has not been claimed by an author" From f1651a74d16bf13505f7107c0d342939c45b8283 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 24 Jul 2011 17:53:49 +0300 Subject: [PATCH 160/244] Plugin: fixed just created new typo and probably fixed that typo which previous commit should have fixed. --- plugins/Plugin/locale/fi.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/Plugin/locale/fi.po b/plugins/Plugin/locale/fi.po index b58a76ff4..d5cc1f848 100755 --- a/plugins/Plugin/locale/fi.po +++ b/plugins/Plugin/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-24 17:49+0200\n" +"PO-Revision-Date: 2011-07-24 17:52+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -80,7 +80,7 @@ msgstr "lisäosat" #: plugin.py:93 msgid "plugin" -msgstr "lisäosa" +msgstr "lisäosassa" #: plugin.py:94 msgid "The %q command is available in the %L %s." @@ -151,7 +151,7 @@ msgid "" msgstr "" "\n" " Ota kirjoittajan objekti, ja palauta vain nimi ja nimimerkki arvot\n" -" muodossa'Etu- Sukunimi (nimimerkki)'.\n" +" muodossa 'Etu- Sukunimi (nimimerkki)'.\n" " " #: plugin.py:166 @@ -193,7 +193,7 @@ msgstr "" #: plugin.py:187 msgid "The %s plugin" -msgstr "%s lisäosassa" +msgstr "%s lisäosa" #: plugin.py:188 msgid "has not been claimed by an author" From 1fe0ec04916180466a59e8129611b351ff931dd4 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 24 Jul 2011 17:56:29 +0300 Subject: [PATCH 161/244] Plugin: fix l10n-fi. --- plugins/Plugin/locale/fi.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Plugin/locale/fi.po b/plugins/Plugin/locale/fi.po index d5cc1f848..4bb0e10aa 100755 --- a/plugins/Plugin/locale/fi.po +++ b/plugins/Plugin/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-24 17:52+0200\n" +"PO-Revision-Date: 2011-07-24 17:55+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -76,7 +76,7 @@ msgstr "" #: plugin.py:91 msgid "plugins" -msgstr "lisäosat" +msgstr "lisäosissa" #: plugin.py:93 msgid "plugin" From 29bd40bd53d60e984bdfb6707f9b74d57b4c10cd Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 24 Jul 2011 20:39:36 +0300 Subject: [PATCH 162/244] MoobotFactoids: fixed issue #110 at ProgVal/Limnoria. --- plugins/MoobotFactoids/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 plugins/MoobotFactoids/plugin.py diff --git a/plugins/MoobotFactoids/plugin.py b/plugins/MoobotFactoids/plugin.py old mode 100644 new mode 100755 index 8212c8306..8729d6785 --- a/plugins/MoobotFactoids/plugin.py +++ b/plugins/MoobotFactoids/plugin.py @@ -283,7 +283,7 @@ class SqliteMoobotDB(object): results = cursor.fetchall() return results -MoobotDB = plugins.DB('MoobotFactoids', {'sqlite': SqliteMoobotDB}) +MoobotDB = plugins.DB('MoobotFactoids', {'sqlite3': SqliteMoobotDB}) class MoobotFactoids(callbacks.Plugin): """Add the help for "@help MoobotFactoids" here (assuming you don't implement a MoobotFactoids From 9a6581130f4806360f0c48ee7ccba23009b0972a Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Tue, 26 Jul 2011 19:56:35 +0300 Subject: [PATCH 163/244] MoobotFactoids: fixed mistakes and added ACTION to README. --- plugins/MoobotFactoids/README.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/MoobotFactoids/README.txt b/plugins/MoobotFactoids/README.txt index fd36d8ad6..1ed9ff1da 100644 --- a/plugins/MoobotFactoids/README.txt +++ b/plugins/MoobotFactoids/README.txt @@ -1,8 +1,11 @@ This plugin keeps factoids in your bot. To add factoid say -"@factoids something is something" And when you call @something the bot says +"@something is something" And when you call @something the bot says "something is something". If you want factoid to be in different format say (for example): -"@factoids Hi is Hello" And when you call @hi the bot says "Hello." +"@Hi is Hello" And when you call @hi the bot says "Hello." + +If you want the bot to use /mes with Factoids, that is possible too. +"@test is tests." and everytime when someone calls for "test" the bot answers *bot tests. From c71d301cc79feb2e513bf5b1916963add3cc088c Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 27 Jul 2011 17:51:14 +0300 Subject: [PATCH 164/244] QuoteGrabs: l10n-fi 60%. --- plugins/QuoteGrabs/locale/fi.po | 187 ++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100755 plugins/QuoteGrabs/locale/fi.po diff --git a/plugins/QuoteGrabs/locale/fi.po b/plugins/QuoteGrabs/locale/fi.po new file mode 100755 index 000000000..b3fa2346d --- /dev/null +++ b/plugins/QuoteGrabs/locale/fi.po @@ -0,0 +1,187 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-27 17:49+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:49 +msgid "" +"Determines whether the bot will randomly grab\n" +" possibly-suitable quotes on occasion. The suitability of a given message\n" +" is determined by ..." +msgstr "" +"Määrittää kaappaako botti automaattisesti mahdollisesti sopivia lainauksia silloin tällöin.\n" +" Viestin sopivuuden määrittää ...\n" + +#: config.py:54 +msgid "" +"Determines about how many seconds, on\n" +" average, should elapse between random grabs. This is only an average\n" +" value; grabs can happen from any time after half this time until never,\n" +" although that's unlikely to occur." +msgstr "" +"Määrittää kuinka monta sekuntia keskiarvona,\n" +" pitäisi kulua kaappausten välissä. Tämä on vain keskiarvo;\n" +" kaappaukset voivat tapahtua milloin tahansa, kun puolet tästä ajasta on kulunut ikuisuuteen asti, mutta\n" +" sitä tuskin tapahtuu." + +#: config.py:59 +msgid "" +"Determines the minimum\n" +" number of words in a message for it to be considered for random\n" +" grabbing." +msgstr "" +"Määrittää minimimäärän sanoja\n" +" viestissä, joka sen täytyy ylittää tullakseen harkituksi satunnaiseen lainauksen ottoon.\n" + +#: config.py:63 +msgid "" +"Determines the\n" +" minimum number of characters in a message for it to be considered for\n" +" random grabbing." +msgstr "" +"Määrittää\n" +" minimimäärän merkkejä ennen kuin sitä harkitaan sopivaksi\n" +" satunnaiselle kaappaamiselle." + +#: plugin.py:66 +msgid "%s (Said by: %s; grabbed by %s at %t)" +msgstr "%s (Sanonut: %s; kaapannut %s kello %t)" + +#: plugin.py:226 +msgid "Add the help for \"@help QuoteGrabs\" here." +msgstr "Lisää ohje \"@help QuoteGrabs\"ille tähän." + +#: plugin.py:265 +msgid "" +"[] \n" +"\n" +" Grabs a quote from by for the quotegrabs table.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Kaappaa lainauksen, jonka on sanonut lainaus kaappaus tietokantaan.\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:278 +msgid "You can't quote grab yourself." +msgstr "Et voi kaapata lainausta itseltäsi." + +#: plugin.py:285 +msgid "I couldn't find a proper message to grab." +msgstr "En voinut löytää kelvollista viestiä kaapattavaksi." + +#: plugin.py:290 +msgid "" +"[] \n" +"\n" +" Removes the grab (the last by default) on .\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Poistaa kaappauksen (oletuksena viimeinen) .\n" +" on vaadittu vain, jos viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:301 +msgid "Nothing to ungrab." +msgstr "Ei mitään kaappausta poistettavaksi." + +#: plugin.py:303 +msgid "Invalid grab number." +msgstr "Epäkelvollinen kaappauksen numero." + +#: plugin.py:308 +msgid "" +"[] \n" +"\n" +" Returns 's latest quote grab in . is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Palauttaa viimeisimmän lainauksen kaappauksen . on\n" +" vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:316 +msgid "I couldn't find a matching quotegrab for %s." +msgstr "En voinut löytää täsmäävää lainaus kaappausta %s:lle." + +#: plugin.py:322 +msgid "" +"[] \n" +"\n" +" Returns a list of shortened quotes that have been grabbed for \n" +" as well as the id of each quote. These ids can be used to get the\n" +" full quote. is only necessary if the message isn't sent in\n" +" the channel itself.\n" +" " +msgstr "" + +#: plugin.py:339 +msgid "I couldn't find any quotegrabs for %s." +msgstr "" + +#: plugin.py:345 +msgid "" +"[] []\n" +"\n" +" Returns a randomly grabbed quote, optionally choosing only from those\n" +" quotes grabbed for . is only necessary if the message\n" +" isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:355 +msgid "Couldn't get a random quote for that nick." +msgstr "" + +#: plugin.py:357 +msgid "Couldn't get a random quote. Are there any grabbed quotes in the database?" +msgstr "" + +#: plugin.py:363 +msgid "" +"[] \n" +"\n" +" Return the quotegrab with the given . is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:371 +msgid "No quotegrab for id %s" +msgstr "" + +#: plugin.py:377 +msgid "" +"[] \n" +"\n" +" Searches for in a quote. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:392 +msgid "No quotegrabs matching %s" +msgstr "" + From ef70602031e2dfd747a65fd1610ca0c369bfcd22 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 29 Jul 2011 19:42:52 +0300 Subject: [PATCH 165/244] QuoteGrabs: added l10n-fi. --- plugins/QuoteGrabs/locale/fi.po | 35 +++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/plugins/QuoteGrabs/locale/fi.po b/plugins/QuoteGrabs/locale/fi.po index b3fa2346d..cdb869455 100755 --- a/plugins/QuoteGrabs/locale/fi.po +++ b/plugins/QuoteGrabs/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-27 17:49+0200\n" +"PO-Revision-Date: 2011-07-29 19:38+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -136,10 +136,17 @@ msgid "" " the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Palauttaa listan lyhennetyistä lainauksista, jotka on kaapattu ,\n" +" kuten myös jokaisen lainauksen id:een. Näitä id:eitä voidaan käyttää\n" +" koko lainauksen saamiseen. on vaadittu vain, jos viestiä ei lähetetä\n" +" kanavalla itsellään.\n" +" " #: plugin.py:339 msgid "I couldn't find any quotegrabs for %s." -msgstr "" +msgstr "En voinut löytää yhtään kaapattuja lainauksia %s:ltä." #: plugin.py:345 msgid "" @@ -150,14 +157,20 @@ msgid "" " isn't sent in the channel itself.\n" " " msgstr "" +"[] []\n" +"\n" +" Palauttaa satunnaisen lainatun kaappauksen, vaihtoehtoisesti valiten vain\n" +" lainauksista, jotka on kaapattu . on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:355 msgid "Couldn't get a random quote for that nick." -msgstr "" +msgstr "Satunnaista lainausta tuolta nimimerkiltä ei voitu noutaa." #: plugin.py:357 msgid "Couldn't get a random quote. Are there any grabbed quotes in the database?" -msgstr "" +msgstr "Satunnaista lainausta ei voitu noutaa. Onko tietokannassa yhtään kaapattuja lainauksia?" #: plugin.py:363 msgid "" @@ -167,10 +180,15 @@ msgid "" " if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Palauttaa kaapatun lainauksen annetulla . on vaadittu vain\n" +" jos viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:371 msgid "No quotegrab for id %s" -msgstr "" +msgstr "Ei kaapattuja lainauksia %s:lle." #: plugin.py:377 msgid "" @@ -180,8 +198,13 @@ msgid "" " message isn't sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +" Etsii lainauksesta. on vaadittu vain, jos viestiä\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:392 msgid "No quotegrabs matching %s" -msgstr "" +msgstr "Ei %s:ään täsmääviä lainauksia" From 5ee21e59a276e7171eac25611605783f2d5f46ab Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 29 Jul 2011 19:47:44 +0300 Subject: [PATCH 166/244] Relay: started l10n-fi. --- plugins/Relay/locale/fi.po | 213 +++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 plugins/Relay/locale/fi.po diff --git a/plugins/Relay/locale/fi.po b/plugins/Relay/locale/fi.po new file mode 100644 index 000000000..b21dbc845 --- /dev/null +++ b/plugins/Relay/locale/fi.po @@ -0,0 +1,213 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-29 19:47+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:39 +msgid "Would you like to relay between any channels?" +msgstr "Haluasitko botin välittävän joidenkin kanavien välillä?" + +#: config.py:40 +msgid "What channels? Separated them by spaces." +msgstr "" + +#: config.py:42 +msgid "Would you like to use color to distinguish between nicks?" +msgstr "" + +#: config.py:59 +msgid "" +"Determines whether the bot will color relayed\n" +" PRIVMSGs so as to make the messages easier to read." +msgstr "" + +#: config.py:62 +msgid "" +"Determines whether the bot will synchronize\n" +" topics between networks in the channels it relays." +msgstr "" + +#: config.py:65 +msgid "" +"Determines whether the bot will relay the\n" +" hostmask of the person joining or parting the channel when he or she joins\n" +" or parts." +msgstr "" + +#: config.py:69 +msgid "" +"Determines whether the bot will include the\n" +" network in relayed PRIVMSGs; if you're only relaying between two networks,\n" +" it's somewhat redundant, and you may wish to save the space." +msgstr "" + +#: config.py:73 +msgid "" +"Determines whether the bot will detect other\n" +" bots relaying and respond by kickbanning them." +msgstr "" + +#: config.py:76 +msgid "" +"Determines which channels the bot\n" +" will relay in." +msgstr "" + +#: config.py:79 +msgid "" +"Determines whether the bot\n" +" will always join the channel(s) it relays for on all networks the bot is\n" +" connected to." +msgstr "" + +#: config.py:83 +msgid "" +"Determines what hostmasks will not be relayed on a\n" +" channel." +msgstr "" + +#: config.py:86 +msgid "" +"Determines whether the bot will used NOTICEs\n" +" rather than PRIVMSGs for non-PRIVMSG relay messages (i.e., joins, parts,\n" +" nicks, quits, modes, etc.)" +msgstr "" + +#: plugin.py:99 +msgid "" +"[]\n" +"\n" +" Starts relaying between the channel on all networks. If on a\n" +" network the bot isn't in , he'll join. This commands is\n" +" required even if the bot is in the channel on both networks; he won't\n" +" relay between those channels unless he's told to join both\n" +" channels. If is not given, starts relaying on the channel\n" +" the message was sent in.\n" +" " +msgstr "" + +#: plugin.py:118 +msgid "" +"\n" +"\n" +" Ceases relaying between the channel on all networks. The bot\n" +" will part from the channel on all networks in which it is on the\n" +" channel.\n" +" " +msgstr "" + +#: plugin.py:133 +msgid "" +"[]\n" +"\n" +" Returns the nicks of the people in the channel on the various networks\n" +" the bot is connected to. is only necessary if the message\n" +" isn't sent on the channel itself.\n" +" " +msgstr "" + +#: plugin.py:223 +msgid "is an op on %L" +msgstr "" + +#: plugin.py:225 +msgid "is a halfop on %L" +msgstr "" + +#: plugin.py:227 +msgid "is voiced on %L" +msgstr "" + +#: plugin.py:230 +msgid "is also on %L" +msgstr "" + +#: plugin.py:232 +msgid "is on %L" +msgstr "" + +#: plugin.py:234 +msgid "isn't on any non-secret channels" +msgstr "" + +#: plugin.py:241 +#: plugin.py:242 +#: plugin.py:246 +msgid "" +msgstr "" + +#: plugin.py:248 +msgid " %s is away: %s." +msgstr "" + +#: plugin.py:253 +msgid " identified" +msgstr "" + +#: plugin.py:258 +msgid "%s (%s) has been%s on server %s since %s (idle for %s) and %s.%s" +msgstr "" + +#: plugin.py:273 +msgid "There is no %s on %s." +msgstr "" + +#: plugin.py:342 +msgid "You seem to be relaying, punk." +msgstr "" + +#: plugin.py:395 +msgid "%s%s has joined on %s" +msgstr "" + +#: plugin.py:410 +msgid "%s%s has left on %s (%s)" +msgstr "" + +#: plugin.py:413 +msgid "%s%s has left on %s" +msgstr "" + +#: plugin.py:423 +msgid "mode change by %s on %s: %s" +msgstr "" + +#: plugin.py:435 +msgid "%s was kicked by %s on %s (%s)" +msgstr "" + +#: plugin.py:438 +msgid "%s was kicked by %s on %s" +msgstr "" + +#: plugin.py:447 +msgid "nick change by %s to %s on %s" +msgstr "" + +#: plugin.py:477 +msgid "topic change by %s on %s: %s" +msgstr "" + +#: plugin.py:486 +msgid "%s has quit %s (%s)" +msgstr "" + +#: plugin.py:488 +msgid "%s has quit %s." +msgstr "" + +#: plugin.py:498 +msgid "disconnected from %s: %s" +msgstr "" + From 574ed639bd2fbebce1a1ef99dc22a6d8bf82099b Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 29 Jul 2011 19:57:36 +0300 Subject: [PATCH 167/244] Relay: l10n 18%. --- plugins/Relay/locale/fi.po | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/plugins/Relay/locale/fi.po b/plugins/Relay/locale/fi.po index b21dbc845..35cecd38f 100644 --- a/plugins/Relay/locale/fi.po +++ b/plugins/Relay/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-29 19:47+0200\n" +"PO-Revision-Date: 2011-07-29 19:56+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -20,23 +20,27 @@ msgstr "Haluasitko botin välittävän joidenkin kanavien välillä?" #: config.py:40 msgid "What channels? Separated them by spaces." -msgstr "" +msgstr "Minkä kanavien? Erota ne välilyönnillä." #: config.py:42 msgid "Would you like to use color to distinguish between nicks?" -msgstr "" +msgstr "Haluaisitko botin käyttävän värejä erottamaan nimimerkit toisistaan?" #: config.py:59 msgid "" "Determines whether the bot will color relayed\n" " PRIVMSGs so as to make the messages easier to read." msgstr "" +"Määrittää värjääkö botti välitetyt\n" +" PRIVMSG:eet, jotta viestit olisivat helpommin luettavia." #: config.py:62 msgid "" "Determines whether the bot will synchronize\n" " topics between networks in the channels it relays." msgstr "" +"Määrittää synkronoiko botti\n" +" aiheet kanavilla, joita se välittää kaikkiin verkkoihin." #: config.py:65 msgid "" @@ -44,6 +48,8 @@ msgid "" " hostmask of the person joining or parting the channel when he or she joins\n" " or parts." msgstr "" +"Määrittää välittääkö botti\n" +" liittyvän tai poistuvan henkilön hostmaskin, kun hän liittyy tai poistuu.\n" #: config.py:69 msgid "" @@ -51,6 +57,9 @@ msgid "" " network in relayed PRIVMSGs; if you're only relaying between two networks,\n" " it's somewhat redundant, and you may wish to save the space." msgstr "" +"Määrittää sisällyttääkö botti\n" +" verkon välitetyissä PRIVMSG:issä; jos välität vain kahta verkkoa,\n" +" se on aika tarpeeton, ja saatat tahtoa säästää tilaa." #: config.py:73 msgid "" From fe8594c2ce4b89bf96953c57688abe67d7dc1fb7 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 30 Jul 2011 02:03:51 +0300 Subject: [PATCH 168/244] Channel: fixed l10n-fi in Alias. --- plugins/Channel/locale/fi.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Channel/locale/fi.po b/plugins/Channel/locale/fi.po index 516f13d9d..3106891b1 100644 --- a/plugins/Channel/locale/fi.po +++ b/plugins/Channel/locale/fi.po @@ -815,7 +815,7 @@ msgstr "Hälytys kaikille kanavan %s operaattoreille: %s" #: plugin.py:848 msgid " (from %s)" -msgstr "(%s:ltä)" +msgstr "(lähettänyt %s)" #: plugin.py:856 msgid "" From 11be78dda5b5950789250a00f633a7175dcf4a3b Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 30 Jul 2011 12:55:00 +0300 Subject: [PATCH 169/244] Relay: l10n-fi: 31%. --- plugins/Relay/locale/fi.po | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/plugins/Relay/locale/fi.po b/plugins/Relay/locale/fi.po index 35cecd38f..4624a19ef 100644 --- a/plugins/Relay/locale/fi.po +++ b/plugins/Relay/locale/fi.po @@ -1,12 +1,12 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. +# Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-29 19:56+0200\n" +"PO-Revision-Date: 2011-07-30 12:53+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -66,12 +66,16 @@ msgid "" "Determines whether the bot will detect other\n" " bots relaying and respond by kickbanning them." msgstr "" +"Määrittää havaitseeko botti toiset\n" +" välittävät botit ja vastaa potkimalla ne ja antamalla niille porttikiellon." #: config.py:76 msgid "" "Determines which channels the bot\n" " will relay in." msgstr "" +"Määrittää mitä kanavia botti\n" +" välittää." #: config.py:79 msgid "" @@ -79,12 +83,17 @@ msgid "" " will always join the channel(s) it relays for on all networks the bot is\n" " connected to." msgstr "" +"Määrittää liittyykö botti aina\n" +" kanavalle( tai kanaville), joita se välittää, kaikissa verkoissa, joihin\n" +" botti on yhdistänyt." #: config.py:83 msgid "" "Determines what hostmasks will not be relayed on a\n" " channel." msgstr "" +"Määrittää mitä hostmaskeja ei välitetä\n" +" kanavalla." #: config.py:86 msgid "" @@ -92,6 +101,9 @@ msgid "" " rather than PRIVMSGs for non-PRIVMSG relay messages (i.e., joins, parts,\n" " nicks, quits, modes, etc.)" msgstr "" +"Määrittää käyttääkö botti huomautuksia (NOTICE)\n" +" mielummin kuin PRIVMSG:ssiä muissa kuin PRIVMSG välitysviesteissä (esim. liittymiset, poistumiset\n" +" nimimerkit, lopetukset, tilat, jne.)" #: plugin.py:99 msgid "" From dcdc171c85deb0417650ece439f3697826b3d1a4 Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Sat, 30 Jul 2011 14:57:23 +0200 Subject: [PATCH 170/244] Channel: Added partial l10n-hu. --- plugins/Channel/locale/hu.po | 604 +++++++++++++++++++++++++++++++++++ 1 file changed, 604 insertions(+) create mode 100644 plugins/Channel/locale/hu.po diff --git a/plugins/Channel/locale/hu.po b/plugins/Channel/locale/hu.po new file mode 100644 index 000000000..f5c68bd8d --- /dev/null +++ b/plugins/Channel/locale/hu.po @@ -0,0 +1,604 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria Channel\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-23 22:50+0100\n" +"Last-Translator: nyuszika7h \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:48 +msgid "" +"Determines whether the bot will always try to\n" +" rejoin a channel whenever it's kicked from the channel." +msgstr "Meghatározza, hogy a bot mindig megpróbáljon-e visszatérni egy csatornára, ha kirúgják onnan." + +#: plugin.py:69 +msgid "" +"[] [ ...]\n" +"\n" +" Sets the mode in to , sending the arguments given.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +" módját -ra állítja, elküldve a kapott paramétereket. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + +#: plugin.py:76 +msgid "change the mode" +msgstr "megváltoztatni a módot" + +#: plugin.py:80 +msgid "" +"[] []\n" +"\n" +" Sets the channel limit to . If is 0, or isn't given,\n" +" removes the channel limit. is only necessary if the message\n" +" isn't sent in the channel itself.\n" +" " +msgstr "" +"[] []\n" +"\n" +"A csatorna korlátját -ra állítja. Ha 0 vagy nem meghatározott, eltávolítja a csatorna korlátját. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + +#: plugin.py:90 +msgid "change the limit" +msgstr "megváltoztatni a korlátot" + +#: plugin.py:95 +msgid "" +"[]\n" +"\n" +" Sets +m on , making it so only ops and voiced users can\n" +" send messages to the channel. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:102 +msgid "moderate the channel" +msgstr "moderálni a csatornát" + +#: plugin.py:106 +msgid "" +"[]\n" +"\n" +" Sets -m on , making it so everyone can\n" +" send messages to the channel. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +"-t -m-re állítja, hogy mindenki küldhessen üzeneteket a csatornára. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + +#: plugin.py:114 +msgid "unmoderate the channel" +msgstr "" + +#: plugin.py:118 +msgid "" +"[] []\n" +"\n" +" Sets the keyword in to . If is not given, removes\n" +" the keyword requirement to join . is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "[] [] kulcsát -ra állítja. Ha nem meghatározott, eltávolíta a kulcsot -ról. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + +#: plugin.py:130 +msgid "change the keyword" +msgstr "megváltoztatni a kulcsot" + +#: plugin.py:135 +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will give all the s\n" +" you provide ops. If you don't provide any s, this will op you.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez operátor státuszt ad minden -nek, amit megadtál. Ha nem adsz meg -et, ez neked ad operátor státuszt. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + +#: plugin.py:147 +msgid "op someone" +msgstr "operátor státuszt adni valakinek" + +#: plugin.py:151 +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,halfop capability, this will give all the\n" +" s you provide halfops. If you don't provide any s, this\n" +" will give you halfops. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +"Ha rendelkezel a #csatorna,halfop képességgel, ez fél-operátor státuszt ad minden -nek, amit megadtál. Ha nem adsz meg -et, ez neked ad fél-operátor státuszt. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + +#: plugin.py:163 +msgid "halfop someone" +msgstr "fél-operátor státuszt adni valakinek" + +#: plugin.py:168 +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,voice capability, this will voice all the\n" +" s you provide. If you don't provide any s, this will\n" +" voice you. is only necessary if the message isn't sent in the\n" +" channel itself.\n" +" " +msgstr "" + +#: plugin.py:190 +msgid "voice someone" +msgstr "" + +#: plugin.py:195 +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will remove operator\n" +" privileges from all the nicks given. If no nicks are given, removes\n" +" operator privileges from the person sending the message.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez eltávolítja az operátor státuszt minden megadott névről. Ha nincs név megadva, rólad távolítja el az operátor státuszt. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + +#: plugin.py:202 +msgid "I cowardly refuse to deop myself. If you really want me deopped, tell me to op you and then deop me yourself." +msgstr "" + +#: plugin.py:210 +msgid "deop someone" +msgstr "" + +#: plugin.py:215 +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will remove half-operator\n" +" privileges from all the nicks given. If no nicks are given, removes\n" +" half-operator privileges from the person sending the message.\n" +" " +msgstr "" + +#: plugin.py:222 +msgid "I cowardly refuse to dehalfop myself. If you really want me dehalfopped, tell me to op you and then dehalfop me yourself." +msgstr "" + +#: plugin.py:230 +msgid "dehalfop someone" +msgstr "" + +#: plugin.py:235 +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will remove voice from all\n" +" the nicks given. If no nicks are given, removes voice from the person\n" +" sending the message.\n" +" " +msgstr "" + +#: plugin.py:242 +msgid "I cowardly refuse to devoice myself. If you really want me devoiced, tell me to op you and then devoice me yourself." +msgstr "" + +#: plugin.py:255 +msgid "" +"[]\n" +"\n" +" If you have the #channel,op capability, this will cause the bot to\n" +" \"cycle\", or PART and then JOIN the channel. is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:268 +msgid "" +"[] [, , ...] []\n" +"\n" +" Kicks (s) from for . If isn't given,\n" +" uses the nick of the person making the command as the reason.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" + +#: plugin.py:276 +msgid "I cowardly refuse to kick myself." +msgstr "" + +#: plugin.py:281 +msgid "The reason you gave is longer than the allowed length for a KICK reason on this server." +msgstr "" + +#: plugin.py:286 +msgid "kick someone" +msgstr "" + +#: plugin.py:292 +msgid "" +"[] [--{exact,nick,user,host}] [] []\n" +"\n" +" If you have the #channel,op capability, this will kickban for\n" +" as many seconds as you specify, or else (if you specify 0 seconds or\n" +" don't specify a number of seconds) it will ban the person indefinitely.\n" +" --exact bans only the exact hostmask; --nick bans just the nick;\n" +" --user bans just the user, and --host bans just the host. You can\n" +" combine these options as you choose. is a reason to give for\n" +" the kick.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" + +#: plugin.py:311 +msgid "I cowardly refuse to kickban myself." +msgstr "" + +#: plugin.py:318 +msgid "I haven't seen %s." +msgstr "" + +#: plugin.py:326 +msgid "I cowardly refuse to ban myself." +msgstr "" + +#: plugin.py:352 +msgid "%s has %s too, you can't ban him/her/it." +msgstr "" + +#: plugin.py:364 +msgid "kick or ban someone" +msgstr "" + +#: plugin.py:371 +msgid "" +"[] []\n" +"\n" +" Unbans on . If is not given, unbans\n" +" any hostmask currently banned on that matches your current\n" +" hostmask. Especially useful for unbanning yourself when you get\n" +" unexpectedly (or accidentally) banned from the channel. is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:388 +msgid "All bans on %s matching %s have been removed." +msgstr "" + +#: plugin.py:392 +msgid "No bans matching %s were found on %s." +msgstr "" + +#: plugin.py:395 +msgid "unban someone" +msgstr "" + +#: plugin.py:400 +msgid "" +"[] \n" +"\n" +" If you have the #channel,op capability, this will invite \n" +" to join . is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:409 +msgid "invite someone" +msgstr "" + +#: plugin.py:428 +msgid "%s is already in %s." +msgstr "" + +#: plugin.py:435 +msgid "There is no %s on this network." +msgstr "" + +#: plugin.py:447 +msgid "" +"[]\n" +"\n" +" If you have the #channel,op capability, this will \"lobotomize\" the\n" +" bot, making it silent and unanswering to all requests made in the\n" +" channel. is only necessary if the message isn't sent in\n" +" the channel itself.\n" +" " +msgstr "" + +#: plugin.py:462 +msgid "" +"[]\n" +"\n" +" If you have the #channel,op capability, this will unlobotomize the\n" +" bot, making it respond to requests made in the channel again.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" + +#: plugin.py:477 +msgid "" +"takes no arguments\n" +"\n" +" Returns the channels in which this bot is lobotomized.\n" +" " +msgstr "" + +#: plugin.py:492 +msgid "I'm currently lobotomized in %L." +msgstr "" + +#: plugin.py:495 +msgid "I'm not currently lobotomized in any channels that you're in." +msgstr "" + +#: plugin.py:502 +msgid "" +"[] []\n" +"\n" +" If you have the #channel,op capability, this will effect a\n" +" persistent ban from interacting with the bot on the given\n" +" (or the current hostmask associated with . Other\n" +" plugins may enforce this ban by actually banning users with\n" +" matching hostmasks when they join. is an optional\n" +" argument specifying when (in \"seconds from now\") the ban should\n" +" expire; if none is given, the ban will never automatically expire.\n" +" is only necessary if the message isn't sent in the\n" +" channel itself.\n" +" " +msgstr "" + +#: plugin.py:522 +msgid "" +"[] \n" +"\n" +" If you have the #channel,op capability, this will remove the\n" +" persistent ban on . is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:534 +msgid "There are no persistent bans for that hostmask." +msgstr "" + +#: plugin.py:539 +msgid "" +"[]\n" +"\n" +" If you have the #channel,op capability, this will show you the\n" +" current persistent bans on #channel.\n" +" " +msgstr "" + +#: plugin.py:549 +msgid "%q (expires %t)" +msgstr "" + +#: plugin.py:552 +msgid "%q (never expires)" +msgstr "" + +#: plugin.py:556 +msgid "There are no persistent bans on %s." +msgstr "" + +#: plugin.py:563 +msgid "" +"[] []\n" +"\n" +" If you have the #channel,op capability, this will set a persistent\n" +" ignore on or the hostmask currently\n" +" associated with . is an optional argument\n" +" specifying when (in \"seconds from now\") the ignore will expire; if\n" +" it isn't given, the ignore will never automatically expire.\n" +" is only necessary if the message isn't sent in the\n" +" channel itself.\n" +" " +msgstr "" + +#: plugin.py:581 +msgid "" +"[] \n" +"\n" +" If you have the #channel,op capability, this will remove the\n" +" persistent ignore on in the channel. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:593 +msgid "There are no ignores for that hostmask." +msgstr "" + +#: plugin.py:598 +msgid "" +"[]\n" +"\n" +" Lists the hostmasks that the bot is ignoring on the given channel.\n" +" is only necessary if the message isn't sent in the\n" +" channel itself.\n" +" " +msgstr "" + +#: plugin.py:607 +msgid "I'm not currently ignoring any hostmasks in %q" +msgstr "" + +#: plugin.py:618 +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will give the user\n" +" (or the user to whom maps)\n" +" the capability in the channel. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:634 +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will take from the\n" +" user currently identified as (or the user to whom \n" +" maps) the capability in the channel. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:653 +msgid "That user didn't have the %L %s." +msgstr "" + +#: plugin.py:662 +msgid "" +"[] {True|False}\n" +"\n" +" If you have the #channel,op capability, this will set the default\n" +" response to non-power-related (that is, not {op, halfop, voice}\n" +" capabilities to be the value you give. is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:680 +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will add the channel\n" +" capability for all users in the channel. is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:695 +msgid "" +"[] [ ...]\n" +"\n" +" If you have the #channel,op capability, this will unset the channel\n" +" capability so each user's specific capability or the\n" +" channel default capability will take precedence. is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:711 +msgid "capability" +msgstr "" + +#: plugin.py:714 +msgid "I do not know about the %L %s." +msgstr "" + +#: plugin.py:721 +msgid "" +"[]\n" +"\n" +" Returns the capabilities present on the . is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:733 +msgid "" +"[] [] []\n" +"\n" +" If you have the #channel,op capability, this will disable the \n" +" in . If is provided, will be disabled only\n" +" for that plugin. If only is provided, all commands in the\n" +" given plugin will be disabled. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:749 +#: plugin.py:788 +msgid "The %s plugin does not have a command called %s." +msgstr "" + +#: plugin.py:756 +#: plugin.py:795 +msgid "No plugin or command named %s could be found." +msgstr "" + +#: plugin.py:772 +msgid "" +"[] [] []\n" +"\n" +" If you have the #channel,op capability, this will enable the \n" +" in if it has been disabled. If is provided,\n" +" will be enabled only for that plugin. If only is\n" +" provided, all commands in the given plugin will be enabled. \n" +" is only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:809 +msgid "%s was not disabled." +msgstr "" + +#: plugin.py:818 +msgid "" +"[] [--count]\n" +"\n" +" Returns the nicks in . is only necessary if the\n" +" message isn't sent in the channel itself. Returns only the number of\n" +" nicks if --count option is provided.\n" +" " +msgstr "" + +#: plugin.py:830 +msgid "You don't have access to that information." +msgstr "" + +#: plugin.py:843 +msgid "" +"Internal message for notifying all the #channel,ops in a channel of\n" +" a given situation." +msgstr "" + +#: plugin.py:846 +msgid "Alert to all %s ops: %s" +msgstr "" + +#: plugin.py:848 +msgid " (from %s)" +msgstr "" + +#: plugin.py:856 +msgid "" +"[] \n" +"\n" +" Sends to all the users in who have the ,op\n" +" capability.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +"Ha rendelkezel a #csatorna,halfop képességgel, ez fél-operátor státuszt ad minden -nek, amit megadsz. Ha nem adsz meg -et, ez neked ad fél-operátor státuszt. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + From 6f9a2ede05624b4e46b3c298ffbf1766fad1ec65 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 30 Jul 2011 16:47:34 +0300 Subject: [PATCH 171/244] Relay: l10n-fi: 36% --- plugins/Relay/locale/fi.po | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/plugins/Relay/locale/fi.po b/plugins/Relay/locale/fi.po index 4624a19ef..e099f42b6 100644 --- a/plugins/Relay/locale/fi.po +++ b/plugins/Relay/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-30 12:53+0200\n" +"PO-Revision-Date: 2011-07-30 16:46+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -117,6 +117,15 @@ msgid "" " the message was sent in.\n" " " msgstr "" +"[]\n" +"\n" +" Alkaa välittämään kaikissa verkoissa. Jos botti ei ole\n" +" jossain verkossa, se liittyy. Tämä komento on vaadittu, jopa jos\n" +" botti on kanavalla molemmissa verkoissa; se ei välitä\n" +" noiden kanavien välillä, ennen kuin se on käsketty liittymään molemmille\n" +" kanaville. Jos ei ole annettu, botti alkaa välittämään kanavaa, jolla\n" +" viesti lähetettiin.\n" +" " #: plugin.py:118 msgid "" @@ -127,6 +136,12 @@ msgid "" " channel.\n" " " msgstr "" +"\n" +"\n" +" Pysäyttää välittämisen kaikissa verkoissa. Botti\n" +" poistuu kanavalta kaikissa verkoissa, joilla se on\n" +" kanavalla.\n" +" " #: plugin.py:133 msgid "" From 38811294ddefed41cb3901177bc4e887ad29a984 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 30 Jul 2011 17:05:32 +0300 Subject: [PATCH 172/244] Relay: added l10n-fi. --- plugins/Relay/locale/fi.po | 54 +++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/plugins/Relay/locale/fi.po b/plugins/Relay/locale/fi.po index e099f42b6..5628d4793 100644 --- a/plugins/Relay/locale/fi.po +++ b/plugins/Relay/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-30 16:46+0200\n" +"PO-Revision-Date: 2011-07-30 17:05+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -152,98 +152,104 @@ msgid "" " isn't sent on the channel itself.\n" " " msgstr "" +"[]\n" +"\n" +" Palauttaa kanavalla olevien ihmisten nimimerkit niissä verkoissa,\n" +" joihin botti on yhdistänyt. on vaadittu vain. jos viestiä\n" +" ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:223 msgid "is an op on %L" -msgstr "" +msgstr "on operaattori kanavalla %L" #: plugin.py:225 msgid "is a halfop on %L" -msgstr "" +msgstr "on puolioperaattori kanavalla %L" #: plugin.py:227 msgid "is voiced on %L" -msgstr "" +msgstr "omaa äänen kanavalla %L" #: plugin.py:230 msgid "is also on %L" -msgstr "" +msgstr "on myös kanavilla %L" #: plugin.py:232 msgid "is on %L" -msgstr "" +msgstr "on myös kanavalla %L" #: plugin.py:234 msgid "isn't on any non-secret channels" -msgstr "" +msgstr "ei ole yhdelläkään ei salaisella kanavalla" #: plugin.py:241 #: plugin.py:242 #: plugin.py:246 msgid "" -msgstr "" +msgstr "" #: plugin.py:248 msgid " %s is away: %s." -msgstr "" +msgstr " %s on poissa: %s." #: plugin.py:253 msgid " identified" -msgstr "" +msgstr "tunnistautunut" #: plugin.py:258 msgid "%s (%s) has been%s on server %s since %s (idle for %s) and %s.%s" -msgstr "" +msgstr "%s (%s) on ollut %s palvelimella %s %s lähtien (idlannut %s) ja %s.%s" #: plugin.py:273 msgid "There is no %s on %s." -msgstr "" +msgstr "verkossa %s ei ole %s:ää." #: plugin.py:342 msgid "You seem to be relaying, punk." -msgstr "" +msgstr "Sinä näytät välittävän, punkki." #: plugin.py:395 msgid "%s%s has joined on %s" -msgstr "" +msgstr "%s%s on liittynyt verkossa %s" #: plugin.py:410 msgid "%s%s has left on %s (%s)" -msgstr "" +msgstr "%s%s on lähtenyt verkossa %s (%s)" #: plugin.py:413 msgid "%s%s has left on %s" -msgstr "" +msgstr "%s%s on lähtenyt verkossa %s" #: plugin.py:423 msgid "mode change by %s on %s: %s" -msgstr "" +msgstr "tilan muutos %s verkossa %s: %s" #: plugin.py:435 msgid "%s was kicked by %s on %s (%s)" -msgstr "" +msgstr "%s potkittiin, potkija %s verkossa %s (%s)" #: plugin.py:438 msgid "%s was kicked by %s on %s" -msgstr "" +msgstr "%s potkittiin, potkija %s verkossa %s" #: plugin.py:447 msgid "nick change by %s to %s on %s" -msgstr "" +msgstr "nimimerkin vaihto %s %s:ksi verkossa %s" #: plugin.py:477 msgid "topic change by %s on %s: %s" -msgstr "" +msgstr "aiheen vaihto, vaihtanut %s %s: %s:ksi." #: plugin.py:486 msgid "%s has quit %s (%s)" -msgstr "" +msgstr "%s on lopettanut %s verkossa (%s)" #: plugin.py:488 msgid "%s has quit %s." -msgstr "" +msgstr "%on lopettanut %s." #: plugin.py:498 msgid "disconnected from %s: %s" -msgstr "" +msgstr "yhteys katkaistu verkosta %s: %s" From ae323e1dfeb9b9916c1a12d3d19896b0953e4d87 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 30 Jul 2011 17:22:57 +0300 Subject: [PATCH 173/244] Reply: added l10n-fi. --- plugins/Reply/locale/fi.po | 96 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 plugins/Reply/locale/fi.po diff --git a/plugins/Reply/locale/fi.po b/plugins/Reply/locale/fi.po new file mode 100644 index 000000000..3b806853e --- /dev/null +++ b/plugins/Reply/locale/fi.po @@ -0,0 +1,96 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-30 17:22+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:37 +msgid "" +"This plugins contains a few commands that construct various types of\n" +" replies. Some bot owners would be wise to not load this plugin because it\n" +" can be easily abused.\n" +" " +msgstr "" +"Tämä lisäosa sisältää muutamia erilaisia vastauksia.\n" +" Joidenkin botin omistajien ei olisi viisasta ladata tätä lisäosaa, korka\n" +" sitä voidaan väärinkäyttää hyvin helposti.\n" +" " + +#: plugin.py:43 +msgid "" +"\n" +"\n" +" Replies with in private. Use nested commands to your benefit\n" +" here.\n" +" " +msgstr "" +"\n" +"\n" +" Vastaa yksityisviestissä. Käytä sisäkkäisiä komentoja eduksesi\n" +" tässä.\n" +" " + +#: plugin.py:53 +msgid "" +"\n" +"\n" +" Replies with as an action. use nested commands to your benefit\n" +" here.\n" +" " +msgstr "" +"\n" +"\n" +" Vastaa toimintoja. Käytä sisäkkäisiä komentoja eduksesi\n" +" tässä.\n" +" " + +#: plugin.py:66 +msgid "" +"\n" +"\n" +" Replies with in a notice. Use nested commands to your benefit\n" +" here. If you want a private notice, nest the private command.\n" +" " +msgstr "" +"\n" +"\n" +" Vastaa huomautuksena. Käytä sisäkkäisiä komentoja eduksesi\n" +" tässä. Jos haluat yksityisen huomautuksen, sisällytä komento \"private\".\n" +" " + +#: plugin.py:76 +msgid "" +"\n" +"\n" +" Replies with . Equivalent to the alias, 'echo $nick: $1'.\n" +" " +msgstr "" +"\n" +"\n" +" Vastaa . Vastaava aliakseen, 'echo $nick: $1'.\n" +" " + +#: plugin.py:85 +msgid "" +" [ ...]\n" +"\n" +" Replies with each of its arguments in separate replies, depending\n" +" the configuration of supybot.reply.oneToOne.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Vastaa jokaisen parametrin eri vastauksessa, riippuen\n" +" asetuksesta supybot.reply.oneToOne.\n" +" " + From d36bdcd209b0b4a6ebefbf36714679792ba0dc2b Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 30 Jul 2011 17:27:07 +0300 Subject: [PATCH 174/244] RSS: l10n-fi: 0%. --- plugins/RSS/locale/fi.po | 165 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 plugins/RSS/locale/fi.po diff --git a/plugins/RSS/locale/fi.po b/plugins/RSS/locale/fi.po new file mode 100644 index 000000000..ee60bb71d --- /dev/null +++ b/plugins/RSS/locale/fi.po @@ -0,0 +1,165 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-30 17:25+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:50 +msgid "" +"Determines whether the bot will bold the title of the feed when\n" +" it announces new news." +msgstr "" + +#: config.py:53 +msgid "" +"Determines what string is\n" +" used to separate headlines in new feeds." +msgstr "" + +#: config.py:56 +msgid "" +"Determines what\n" +" prefix is prepended (if any) to the new news item announcements made in the\n" +" channel." +msgstr "" + +#: config.py:60 +msgid "" +"Determines which RSS feeds\n" +" should be announced in the channel; valid input is a list of strings\n" +" (either registered RSS feeds or RSS feed URLs) separated by spaces." +msgstr "" + +#: config.py:64 +msgid "" +"Indicates how many seconds the bot will\n" +" wait between retrieving RSS feeds; requests made within this period will\n" +" return cached results." +msgstr "" + +#: config.py:68 +msgid "" +"Determines what feeds should be accessible as\n" +" commands." +msgstr "" + +#: config.py:71 +msgid "" +"Determines whether the bot will list the link\n" +" along with the title of the feed when the rss command is called.\n" +" supybot.plugins.RSS.announce.showLinks affects whether links will be\n" +" listed when a feed is automatically announced." +msgstr "" + +#: config.py:84 +msgid "" +"Determines whether the bot will list the link\n" +" along with the title of the feed when a feed is automatically\n" +" announced." +msgstr "" + +#: plugin.py:62 +msgid "" +"This plugin is useful both for announcing updates to RSS feeds in a\n" +" channel, and for retrieving the headlines of RSS feeds via command. Use\n" +" the \"add\" command to add feeds to this plugin, and use the \"announce\"\n" +" command to determine what feeds should be announced in a given channel." +msgstr "" + +#: plugin.py:316 +msgid "" +" \n" +"\n" +" Adds a command to this plugin that will look up the RSS feed at the\n" +" given URL.\n" +" " +msgstr "" + +#: plugin.py:327 +msgid "" +"\n" +"\n" +" Removes the command for looking up RSS feeds at from\n" +" this plugin.\n" +" " +msgstr "" + +#: plugin.py:333 +msgid "That's not a valid RSS feed command name." +msgstr "" + +#: plugin.py:344 +msgid "" +"[]\n" +"\n" +" Returns the list of feeds announced in . is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:351 +msgid "I am currently not announcing any feeds." +msgstr "" + +#: plugin.py:356 +msgid "" +"[] [ ...]\n" +"\n" +" Adds the list of feeds to the current list of announced feeds in\n" +" . Valid feeds include the names of registered feeds as\n" +" well as URLs for RSS feeds. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:374 +msgid "" +"[] [ ...]\n" +"\n" +" Removes the list of feeds from the current list of announced feeds\n" +" in . Valid feeds include the names of registered feeds as\n" +" well as URLs for RSS feeds. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:392 +msgid "" +" []\n" +"\n" +" Gets the title components of the given RSS feed.\n" +" If is given, return only that many headlines.\n" +" " +msgstr "" + +#: plugin.py:405 +msgid "Couldn't get RSS feed." +msgstr "" + +#: plugin.py:420 +msgid "" +"\n" +"\n" +" Returns information from the given RSS feed, namely the title,\n" +" URL, description, and last update date, if available.\n" +" " +msgstr "" + +#: plugin.py:433 +msgid "I couldn't retrieve that RSS feed." +msgstr "" + +#: plugin.py:446 +msgid "Title: %s; URL: %u; Description: %s; Last updated: %s." +msgstr "" + From 69e02b187f7563059b32bf55b11a46437518363c Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Sat, 30 Jul 2011 19:37:19 +0200 Subject: [PATCH 175/244] Channel: Update l10n-hu. --- plugins/Channel/locale/hu.po | 161 ++++++++++++++++++++++++++--------- 1 file changed, 120 insertions(+), 41 deletions(-) diff --git a/plugins/Channel/locale/hu.po b/plugins/Channel/locale/hu.po index f5c68bd8d..ab2e40400 100644 --- a/plugins/Channel/locale/hu.po +++ b/plugins/Channel/locale/hu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Limnoria Channel\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-23 22:50+0100\n" +"PO-Revision-Date: 2011-07-30 19:36+0100\n" "Last-Translator: nyuszika7h \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -63,6 +63,9 @@ msgid "" " message isn't sent in the channel itself.\n" " " msgstr "" +"[]\n" +"\n" +"-t +m-re állítja, hogy csak operátorok és hanggal rendelkező felhasználók küldhessenek üzeneteket a csatornára. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:102 msgid "moderate the channel" @@ -83,7 +86,7 @@ msgstr "" #: plugin.py:114 msgid "unmoderate the channel" -msgstr "" +msgstr "kikapcsolni a moderálást a csatornán" #: plugin.py:118 msgid "" @@ -145,10 +148,13 @@ msgid "" " channel itself.\n" " " msgstr "" +"[] []\n" +"\n" +"Ha rendelkezel a #csatorna,voice képességgel, ez hangot ad minden megadott -nek. Ha nem adsz meg -et, ez neked ad hangot. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:190 msgid "voice someone" -msgstr "" +msgstr "hangot adni valakinek" #: plugin.py:195 msgid "" @@ -165,11 +171,11 @@ msgstr "" #: plugin.py:202 msgid "I cowardly refuse to deop myself. If you really want me deopped, tell me to op you and then deop me yourself." -msgstr "" +msgstr "Gyáván megtagadom, hogy eltávolítsam magamról az operátor státuszt. Ha el akarod távolítani rólam az operátor státuszt, mondd, hogy adjak operátor státuszt neked, és távolítsd el rólam." #: plugin.py:210 msgid "deop someone" -msgstr "" +msgstr "eltávolítani az operátor státuszt valakiről" #: plugin.py:215 msgid "" @@ -180,14 +186,17 @@ msgid "" " half-operator privileges from the person sending the message.\n" " " msgstr "" +"[] [ ...]\n" +"\n" +"Ha rendelkezel a #csatorna,halfop képességgel, ez eltávolítja a fél-operátor státuszt minden -ről, amit megadtál. Ha nincs név megadva, ez rólad távolítja el a fél-operátor státuszt. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:222 msgid "I cowardly refuse to dehalfop myself. If you really want me dehalfopped, tell me to op you and then dehalfop me yourself." -msgstr "" +msgstr "Gyáván megtagadom, hogy eltávolítsam magamról a fél-operátor státuszt. Ha el akarod távolítani rólam az operátor státuszt, mondd, hogy adjak operátor státuszt neked, és távolítsd el rólam a fél-operátor státuszt." #: plugin.py:230 msgid "dehalfop someone" -msgstr "" +msgstr "eltávolítani a fél-operátor státuszt valakiről" #: plugin.py:235 msgid "" @@ -198,10 +207,13 @@ msgid "" " sending the message.\n" " " msgstr "" +"[] [ ...]\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez eltávolítja a hangot minden -ről, amit megadtál. Ha nincs név megadva, ez rólad távolítja el a hangot.. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:242 msgid "I cowardly refuse to devoice myself. If you really want me devoiced, tell me to op you and then devoice me yourself." -msgstr "" +msgstr "Gyáván megtagadom, hogy eltávolítsam magamról a hangot. Ha el akarod távolítani rólam a hangot, mondd, hogy adjak operátor státuszt neked, és távolítsd el rólam a hangot." #: plugin.py:255 msgid "" @@ -212,6 +224,9 @@ msgid "" " if the message isn't sent in the channel itself.\n" " " msgstr "" +"[]\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ennek hatására a bot kilép majd visszalép a csaotnára. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:268 msgid "" @@ -223,18 +238,20 @@ msgid "" " itself.\n" " " msgstr "" +"[] [, , ...] []\n" +"Kirúgja (ek)-et -ról -ért. Ha nincs megadva, a parancsot használó ember nevét használja okként. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:276 msgid "I cowardly refuse to kick myself." -msgstr "" +msgstr "Gváván megtagadom, hogy kirúgjam magam." #: plugin.py:281 msgid "The reason you gave is longer than the allowed length for a KICK reason on this server." -msgstr "" +msgstr "A megadott ok hosszabb a KICK parancs megengedett hosszúságánál ezen a szerveren." #: plugin.py:286 msgid "kick someone" -msgstr "" +msgstr "kirúgni valakit" #: plugin.py:292 msgid "" @@ -251,26 +268,29 @@ msgid "" " itself.\n" " " msgstr "" +"[] [--{exact,nick,user,host}] [] []\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez kirúgja és kitiltja -et a megadott időre, vagy (ha 0 másodpercet adsz meg vagy nem adsz meg másodpercet) a végtelenségig tiltja a megadott embert. --exact csak a pontos hosztot tiltja ki; --nick csak a nevet tiltja ki; --user csak a felhasználót tiltja ki, és --host csak a hosztot tiltja ki. Kombinálhatod az opciókat ahogy szeretnéd. egy ok a kirúgáshoz." #: plugin.py:311 msgid "I cowardly refuse to kickban myself." -msgstr "" +msgstr "Gyáván megtagadom, hogy kirúgjam és kitiltsam magam." #: plugin.py:318 msgid "I haven't seen %s." -msgstr "" +msgstr "Nem láttam %s-t." #: plugin.py:326 msgid "I cowardly refuse to ban myself." -msgstr "" +msgstr "Gyáván megtagadom, hogy kitiltsam magam." #: plugin.py:352 msgid "%s has %s too, you can't ban him/her/it." -msgstr "" +msgstr "%s-nek is van %s, nem tilthatod ki őt." #: plugin.py:364 msgid "kick or ban someone" -msgstr "" +msgstr "kirúgni vagy kitiltani valakit" #: plugin.py:371 msgid "" @@ -283,18 +303,21 @@ msgid "" " only necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] []\n" +"\n" +"Eltávolítja a tiltást -ról -ban. Ha nincs megadva, az összes tiltást eltávolítja -ról, ami illeszkedik rád. Főleg akkor hasznos, hogy eltávolítsd a tiltást magadról, ha váratlanul (vagy véletlenül) ki lettél tiltva a csatornáról. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:388 msgid "All bans on %s matching %s have been removed." -msgstr "" +msgstr "Minden tiltás %s-ban, ami illeszkedik %s-ra el lett távolítva." #: plugin.py:392 msgid "No bans matching %s were found on %s." -msgstr "" +msgstr "Nem található %s-ra illeszkedő tiltás %s-ban." #: plugin.py:395 msgid "unban someone" -msgstr "" +msgstr "eltávolítani a tiltást valakiről" #: plugin.py:400 msgid "" @@ -305,18 +328,21 @@ msgid "" " sent in the channel itself.\n" " " msgstr "" +"[ \n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, meghívja -et -ra. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:409 msgid "invite someone" -msgstr "" +msgstr "meghívni valakit" #: plugin.py:428 msgid "%s is already in %s." -msgstr "" +msgstr "%s már %s-ban van." #: plugin.py:435 msgid "There is no %s on this network." -msgstr "" +msgstr "Nincs %s ezen a hálózaton." #: plugin.py:447 msgid "" @@ -328,6 +354,9 @@ msgid "" " the channel itself.\n" " " msgstr "" +"[]\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez \"némítja\" a botot, ezzel némáva teszi azt és nem fog válaszolni a csatornában végrehajtott kérésekre. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:462 msgid "" @@ -339,6 +368,9 @@ msgid "" " itself.\n" " " msgstr "" +"[\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez megszünteti a bot némítását, így az újra válaszol a csatornában vérgehajtott kérésekre. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:477 msgid "" @@ -347,14 +379,17 @@ msgid "" " Returns the channels in which this bot is lobotomized.\n" " " msgstr "" +"paraméter nélküli\n" +"\n" +"Kiírja a csatornákat, ahol a bot némítva van." #: plugin.py:492 msgid "I'm currently lobotomized in %L." -msgstr "" +msgstr "Jelenleg némítva vagyok %L-ban." #: plugin.py:495 msgid "I'm not currently lobotomized in any channels that you're in." -msgstr "" +msgstr "Jelenleg nem vagyok némítva egy csatornában sem, ahol vagy." #: plugin.py:502 msgid "" @@ -371,6 +406,9 @@ msgid "" " channel itself.\n" " " msgstr "" +"[] []\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez megtiltja -nak (vagy jelenlegi hosztjának), hogy a botot használja a csatornában. Más bővítmények kényszeríthetik a tiltást azzal, hogy kitiltják a felhasználókat, akikre illeszkedik a hoszt amikor belépnek. egy nem kötelező paaméter, meghatározza, hogy mikor (hány \"másodperc múlva\") járjon le a tiltás; ha nincs megadva, a tiltás soha nem fog automatikusan lejárni. csak akkor szükséges, ha az üzenet nem a csaotnában van elküldve." #: plugin.py:522 msgid "" @@ -381,10 +419,13 @@ msgid "" " message isn't sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez eltávolítja a tiltást -ról. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:534 msgid "There are no persistent bans for that hostmask." -msgstr "" +msgstr "Nincsenek tiltások erre a hosztra." #: plugin.py:539 msgid "" @@ -394,18 +435,21 @@ msgid "" " current persistent bans on #channel.\n" " " msgstr "" +"[]\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez megmutatja neked a jelenlegi tiltásokat -n." #: plugin.py:549 msgid "%q (expires %t)" -msgstr "" +msgstr "%q (lejár %t)" #: plugin.py:552 msgid "%q (never expires)" -msgstr "" +msgstr "%q (soha nem jár le)" #: plugin.py:556 msgid "There are no persistent bans on %s." -msgstr "" +msgstr "Nincsenek tiltások %s-on." #: plugin.py:563 msgid "" @@ -420,6 +464,9 @@ msgid "" " channel itself.\n" " " msgstr "" +"[] []\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez mellőzi -ot vagy jelenlegi hosztját. egy nem kötelező paraméter, meghatározza, hogy mikor (hány \"másodperc múlva\" járjon le a mellőzés; ha nincs megadva, a mellőzés soha nem fog automatikusan lejárni. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:581 msgid "" @@ -430,10 +477,13 @@ msgid "" " necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] \n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez eltávolítja a mellőzést -ról a csatornában. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:593 msgid "There are no ignores for that hostmask." -msgstr "" +msgstr "Nincsenek mellőzések erre a hosztra." #: plugin.py:598 msgid "" @@ -444,10 +494,13 @@ msgid "" " channel itself.\n" " " msgstr "" +"[\n" +"\n" +"Kiírja a hosztokat, amelyeket a bot mellőz a megadott csatornában. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:607 msgid "I'm not currently ignoring any hostmasks in %q" -msgstr "" +msgstr "Nem mellőzők egy hosztot sem %q-ban." #: plugin.py:618 msgid "" @@ -459,7 +512,9 @@ msgid "" " necessary if the message isn't sent in the channel itself.\n" " " msgstr "" - +"[] [ ...]\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez felhasználónak (vagy felhasználójának) a képességet a csatornában. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:634 msgid "" "[] [ ...]\n" @@ -470,10 +525,13 @@ msgid "" " necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] [ ...]\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez eltávolítja a jelenleg -ként bejelentkezett felhasználóról (vagy a felhasználóról, akire illeszkedik) a képességet a csatornában. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:653 msgid "That user didn't have the %L %s." -msgstr "" +msgstr "A felhasználónak nem volt a(z) %L %s." #: plugin.py:662 msgid "" @@ -485,6 +543,9 @@ msgid "" " if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] {True|False}\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez az alapértelmezett választ a nem erővel kapcsolatos (vagyis nem {op, halfop, voice}) képességeket a megadott értékre állítja. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:680 msgid "" @@ -495,6 +556,9 @@ msgid "" " only necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] [ ...]\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez hozzáadja -et a csatorna képességeihez. csak akkor szükséges, ha az üzenet nem, a csatornában van elküldve." #: plugin.py:695 msgid "" @@ -506,14 +570,17 @@ msgid "" " necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] [ ...]\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez eltávolítja a csatorna képességét, így a felhasználók saját képességei vagy a csatorna alapértelmezett képességei lesznek előnyben. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:711 msgid "capability" -msgstr "" +msgstr "képesség" #: plugin.py:714 msgid "I do not know about the %L %s." -msgstr "" +msgstr "Nem tudok a %L %s-ról." #: plugin.py:721 msgid "" @@ -523,6 +590,9 @@ msgid "" " only necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[]\n" +"\n" +"Kiírja képességeit. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:733 msgid "" @@ -535,16 +605,19 @@ msgid "" " message isn't sent in the channel itself.\n" " " msgstr "" +"[] [] [\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez letiltja -ot -ban. Ha meg van adva, csak a megadott bővítményben lesz letiltva. Ha csak van megadva, minden parancs le lesz tiltva a megadott bővítményben. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." #: plugin.py:749 #: plugin.py:788 msgid "The %s plugin does not have a command called %s." -msgstr "" +msgstr "A %s bővítménynek nincs %s nevű parancsa." #: plugin.py:756 #: plugin.py:795 msgid "No plugin or command named %s could be found." -msgstr "" +msgstr "Nem található bővítmény vagy parancs %s néven." #: plugin.py:772 msgid "" @@ -557,10 +630,13 @@ msgid "" " is only necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[] [] []\n" +"\n" +"Ha rendelkezel a #csatorna,op képességgel, ez engedélyezi -ot -ban ha le lett tiltva. Ha meg van adva, csak a megadott bővítményben lesz engedélyezve." #: plugin.py:809 msgid "%s was not disabled." -msgstr "" +msgstr "%s nem volt letiltva." #: plugin.py:818 msgid "" @@ -571,24 +647,27 @@ msgid "" " nicks if --count option is provided.\n" " " msgstr "" +"[] [--count]\n" +"\n" +"Kiírja a neveket -ban. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve. Ha a --count opció meg van adva, csak a nevek számát írja ki." #: plugin.py:830 msgid "You don't have access to that information." -msgstr "" +msgstr "Nincs hozzáférésed ehhez az információhoz." #: plugin.py:843 msgid "" "Internal message for notifying all the #channel,ops in a channel of\n" " a given situation." -msgstr "" +msgstr "Belső üzenet #csatorna,op-ok értesítésére egy adott szituációban." #: plugin.py:846 msgid "Alert to all %s ops: %s" -msgstr "" +msgstr "Riasztás minden %s operátornak: %s" #: plugin.py:848 msgid " (from %s)" -msgstr "" +msgstr "(%s-tól)" #: plugin.py:856 msgid "" From 5913c2668b7fda8bec644b42dc412fdbe0eaf93b Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Sat, 30 Jul 2011 21:51:26 +0200 Subject: [PATCH 176/244] Reply: Add l10n-hu. --- plugins/Reply/locale/hu.po | 90 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 plugins/Reply/locale/hu.po diff --git a/plugins/Reply/locale/hu.po b/plugins/Reply/locale/hu.po new file mode 100644 index 000000000..8c3373349 --- /dev/null +++ b/plugins/Reply/locale/hu.po @@ -0,0 +1,90 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria Reply\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-30 21:49+0100\n" +"Last-Translator: nyuszika7h \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + + +#: plugin.py:37 +#, docstring +msgid "" +"This plugins contains a few commands that construct various types of\n" +" replies. Some bot owners would be wise to not load this plugin because it\n" +" can be easily abused.\n" +" " +msgstr "" +"Ez a bővítmény néhány parancsot tartalmaz, amelyek különféle típusú válaszokat gyárt. Néhány bot tulajdonos bölcs lenne nem betölteni ezt a bővítményt, mert könnyen vissza lehet élni vele." + +#: plugin.py:43 +#, docstring +msgid "" +"\n" +"\n" +" Replies with in private. Use nested commands to your benefit\n" +" here.\n" +" " +msgstr "" +"\n" +"\n" +"Privát üzenetben válaszol -gel. Itt az előnyödre használhatpd a beágyazott parancsokat." + +#: plugin.py:53 +#, docstring +msgid "" +"\n" +"\n" +" Replies with as an action. use nested commands to your benefit\n" +" here.\n" +" " +msgstr "" +"\n" +"\n" +"Egy tevékenységként válaszol -gel. Itt az előnyödre használhatod a beágyazott parancsokat." + +#: plugin.py:66 +#, docstring +msgid "" +"\n" +"\n" +" Replies with in a notice. Use nested commands to your benefit\n" +" here. If you want a private notice, nest the private command.\n" +" " +msgstr "" +"\n" +"\n" +"Egy közleményben válaszol -gel. Itt az előnyödre használhatod a beágyazott parancsokat. Ha egy privát közleményt szeretnál, ágyazd be a private parancsot." + +#: plugin.py:76 +#, docstring +msgid "" +"\n" +"\n" +" Replies with . Equivalent to the alias, 'echo $nick: $1'.\n" +" " +msgstr "" +"\n" +"\n" +"Válaszol -gel. Ugyanaz, mint az álnév, 'echo $nick: $1'." + +#: plugin.py:85 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Replies with each of its arguments in separate replies, depending\n" +" the configuration of supybot.reply.oneToOne.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +"Az összes paraméterével külön üzenetben válaszol, a supybot.reply.oneToOne konfigurációjától függően." From d62f12b6c06634d2cc31b04052826a0c13c038ef Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Sat, 30 Jul 2011 22:17:07 +0200 Subject: [PATCH 177/244] Config: Add l10n-hu. --- plugins/Config/locale/hu.po | 166 ++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 plugins/Config/locale/hu.po diff --git a/plugins/Config/locale/hu.po b/plugins/Config/locale/hu.po new file mode 100644 index 000000000..7099090b0 --- /dev/null +++ b/plugins/Config/locale/hu.po @@ -0,0 +1,166 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria Config\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-30 22:16+0100\n" +"Last-Translator: nyuszika7h \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + + +#: plugin.py:103 +msgid "configuration variable" +msgstr "konfigurációs változó" + +#: plugin.py:109 +msgid "settable configuration variable" +msgstr "beállítható konfigurációs változó" + +#: plugin.py:136 +#, docstring +msgid "" +"\n" +"\n" +" Returns the configuration variables available under the given\n" +" configuration . If a variable has values under it, it is\n" +" preceded by an '@' sign. If a variable is a 'ChannelValue', that is,\n" +" it can be separately configured for each channel using the 'channel'\n" +" command in this plugin, it is preceded by an '#' sign.\n" +" " +msgstr "" +"\n" +"\n" +"Kiírja a megadott konfigurációs alatt elérhető konfigurációs változókat. Ha egy változó alatt vannak értékek, megelőzi egy '@' jel. Ha egy változó egy 'ChannelValue', tehát külön konfigurálható mindegyik csatornához a 'channel' parancs használatával ebben a bővítményben, megelőzi egy '#' jel." + +#: plugin.py:148 +msgid "There don't seem to be any values in %s." +msgstr "Nincs semmilyen érték %s-ban." + +#: plugin.py:154 +#, docstring +msgid "" +"\n" +"\n" +" Searches for in the current configuration variables.\n" +" " +msgstr "" +"\n" +"\n" +"-ra keres az aktuális konfigurációs változók között." + + +#: plugin.py:167 +msgid "There were no matching configuration variables." +msgstr "Nincsenek illeszkedő konfigurációs változók." + +#: plugin.py:174 +msgid "Global: %s; %s: %s" +msgstr "Globális: %s; %s: %s" + +#: plugin.py:185 +msgid "That registry variable has no value. Use the list command in this plugin to see what variables are available in this group." +msgstr "Ennek az adatbázis-bejegyzésnek nincs értéke. Használd a list parancsot ebben a bővítményben, hogy lásd, milyen változók érhetők el ebben a csoportban." + +#: plugin.py:200 +#, docstring +msgid "" +"[] []\n" +"\n" +" If is given, sets the channel configuration variable for \n" +" to for . Otherwise, returns the current channel\n" +" configuration value of . is only necessary if the\n" +" message isn't sent in the channel itself." +msgstr "" +"[] [<érték>]\n" +"\n" +"Ha <érték> meg van adva, a csatorna konfigurációs változóját <érték>-re állítja -ban. Egyébként kiírja a jelenlegi csatorna konfigurációs változáját. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + +#: plugin.py:207 +msgid "That configuration variable is not a channel-specific configuration variable." +msgstr "Ez a konfigurációs változó nem egy csatorna-függő konfigurációs változó." + +#: plugin.py:220 +#, docstring +msgid "" +" []\n" +"\n" +" If is given, sets the value of to . Otherwise,\n" +" returns the current value of . You may omit the leading\n" +" \"supybot.\" in the name if you so choose.\n" +" " +msgstr "" +" [<érték>]\n" +"\n" +"Ha <érték> meg van adva, értékét <érték>-re állítja. Egyébként kiírja jelenlegi értékét. Kihagyhatod a megelőző \"supybot.\"-ot a névből, ha úgy szeretnéd." + +#: plugin.py:234 +#, docstring +msgid "" +"\n" +"\n" +" Returns the description of the configuration variable .\n" +" " +msgstr "" +"\n" +"\n" +"Kiírja a konfigurációs változó leírását." + +#: plugin.py:242 +msgid " (Current value: %s)" +msgstr " (Jelenlegi érték: %s)" + +#: plugin.py:245 +msgid "That configuration group exists, but seems to have no help. Try \"config list %s\" to see if it has any children values." +msgstr "Ez a konfigurációs csoport létezik, de úgy tűnik, nincs segítsége. Próbáld meg a \"config list %s\"-t, hogy lásd, vannak-e gyerek értékei." + +#: plugin.py:249 +msgid "%s has no help." +msgstr "%s-nak nincs segítsége." + +#: plugin.py:254 +#, docstring +msgid "" +"\n" +"\n" +" Returns the default value of the configuration variable .\n" +" " +msgstr "" +"\n" +"\n" +"Kiírja a konfigurációs változó alapértelmezett értékét." + +#: plugin.py:264 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Reloads the various configuration files (user database, channel\n" +" database, registry, etc.).\n" +" " +msgstr "" +"paraméter nélküli\n" +"\n" +"Újratölti a különféle konfigurációs fájlokat (felhasználó-adatbázis, csatorna-adatbázis, beállításjegyzék stb.)." + +#: plugin.py:275 +#, docstring +msgid "" +"\n" +"\n" +" Exports the public variables of your configuration to .\n" +" If you want to show someone your configuration file, but you don't\n" +" want that person to be able to see things like passwords, etc., this\n" +" command will export a \"sanitized\" configuration file suitable for\n" +" showing publicly.\n" +" " +msgstr "" +"\n" +"\n" +"Exportálja a konfigurációd publikus változóit -be. Ha meg szeretnéd mutatni valakinek a konfigurációs fájlodat, de nem szeretnéd, hogy az az ember láthassa az olyan dolgokat mint jelszavak stb., ez a parancs egy \"higiénikus\" konfigurációs fájlt exportál, ami megfelelő nyilvános megmutatásra." From c9f48d8555b4bae65031b595d9af79677b7ce6b5 Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Sat, 30 Jul 2011 23:30:37 +0200 Subject: [PATCH 178/244] Misc: Added partial l10n-hu. --- plugins/Misc/locale/hu.po | 265 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 plugins/Misc/locale/hu.po diff --git a/plugins/Misc/locale/hu.po b/plugins/Misc/locale/hu.po new file mode 100644 index 000000000..bf90c826e --- /dev/null +++ b/plugins/Misc/locale/hu.po @@ -0,0 +1,265 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria Misc\n" +"POT-Creation-Date: 2011-07-10 18:59+CEST\n" +"PO-Revision-Date: 2011-07-30 23:29+CEST\n" +"Last-Translator: nyuszika7h \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + + +#: config.py:45 +msgid "" +"Determines whether the bot will list private\n" +" plugins with the list command if given the --private switch. If this is\n" +" disabled, non-owner users should be unable to see what private plugins\n" +" are loaded." +msgstr "" +"Meghatározza, hogy a bot listázza-e a privát bővítményeket a list paranccsal, ha a --private kapcsoló meg van adva. Ha ez le van tiltva, a tulajdonoson kívül más felhasználók nem láthatják, hogy milyen privát bővítmények vannak betöltve." + + +#: config.py:50 +msgid "" +"Determines the format string for\n" +" timestamps in the Misc.last command. Refer to the Python documentation\n" +" for the time module to see what formats are accepted. If you set this\n" +" variable to the empty string, the timestamp will not be shown." +msgstr "" +"Meghatározza az időbélyegek formátumát a Misc.last parancsban. Hivatkozz a Python dokumentációra a time modulhoz, hogy lásd, milyen formátumok fogadhatók el. Ha üres karakterláncra állítód ezt a változót, az időbélyegző nem lesz megjelenítve." + +#: config.py:57 +msgid "" +"Determines whether or not\n" +" the timestamp will be included in the output of last when it is part of a\n" +" nested command" +msgstr "" +"Meghatározza, hogy a last kimenete tartalmazza-e az időbélyegzőt, ha az egy beágyazott parancs része." + +#: config.py:61 +msgid "" +"Determines whether or not the\n" +" nick will be included in the output of last when it is part of a nested\n" +" command" +msgstr "" +"Meghatározza, hogy a last kimenete tartalmazza-e a nevet, ha az egy beágyazott parancs része." + +#: plugin.py:81 +msgid "You've given me %s invalid commands within the last minute; I'm now ignoring you for %s." +msgstr "%s érvénytelen parancsot adtál nekem az utolsó percben; most mellőzlek %s-ig." + +#: plugin.py:93 +msgid "The %q plugin is loaded, but there is no command named %q in it. Try \"list %s\" to see the commands in the %q plugin." +msgstr "A %q bővítmény be van töltve, de nincs benne parancs %q névvel. Próbáld meg a \"list %s\"-t, hogy lásd a parancsokat a %q bővítményben." + +#: plugin.py:119 +#, docstring +msgid "" +"[--private] []\n" +"\n" +" Lists the commands available in the given plugin. If no plugin is\n" +" given, lists the public plugins available. If --private is given,\n" +" lists the private plugins.\n" +" " +msgstr "" +"[--private] []\n" +"\n" +"Kiírja az elérhető parancsokat a megadott bővítményben. Ha nincs megadva bővítmény, kiírja az elérhető publikus bővítményeket. Ha --private meg van adva, kiírja a privát bővítményeket." + +#: plugin.py:144 +msgid "There are no private plugins." +msgstr "Nincsenek privát bővítmények." + +#: plugin.py:146 +msgid "There are no public plugins." +msgstr "Nincsenek publikus bővítmények." + +#: plugin.py:153 +msgid "That plugin exists, but has no commands. This probably means that it has some configuration variables that can be changed in order to modify its behavior. Try \"config list supybot.plugins.%s\" to see what configuration variables it has." +msgstr "Ez a bővítmény létezik, de nincsenek parancsai. Ez valószínűleg azt jelenti, hogy van néhány konfigurációs változója, ami megváltoztatható, hogy módosítsd a viselkedését. Próbáld meg a \"config list supybot.plugins.%s\"-t, hogy lásd, milyen konfigurációs változói vannak." + +#: plugin.py:164 +#, docstring +msgid "" +"\n" +"\n" +" Searches for in the commands currently offered by the bot,\n" +" returning a list of the commands containing that string.\n" +" " +msgstr "" +"\n" +"\n" +"-ra keres a parancsokban, amelyeket a bot kínál, és kiírja a parancsokat, amelyek tartalmazzák a karakterláncot." + +#: plugin.py:183 +msgid "No appropriate commands were found." +msgstr "Nem található megfelelő parancs." + +#: plugin.py:188 +#, docstring +msgid "" +"[] []\n" +"\n" +" This command gives a useful description of what does.\n" +" is only necessary if the command is in more than one plugin.\n" +" " +msgstr "" +"[] []\n" +"\n" +"Ez a parancs egy hasznos leírást ad arról, hogy mit csinál . csak akkor szükséges, ha a parancs egynél több bővítményben van." + +#: plugin.py:198 +msgid "That command exists in the %L plugins. Please specify exactly which plugin command you want help with." +msgstr "Ez a parancs a(z) %L bővítményekben létezik. Kérlek pontosan határozd meg, hogy melyik bővítmény parancsának akarod látni a segítségét." + +#: plugin.py:205 +msgid "There is no command %q." +msgstr "Nincs %q parancs." + +#: plugin.py:211 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns the version of the current bot.\n" +" " +msgstr "" +"paraméter nélküli\n" +"\n" +"Kiírja a bot verzióját." + +#: plugin.py:225 +msgid "The newest versions available online are %s." +msgstr "A legújabb elérhető verziók az interneten: %s." + +#: plugin.py:226 +msgid "%s (in %s)" +msgstr "%s (%s-ban)" + +#: plugin.py:230 +msgid "I couldn't fetch the newest version from the Limnoria repository." +msgstr "Nem tudtam lekérdezni a legújabb verziót a Limnoria gyűjteményből." + +#: plugin.py:232 +msgid "The current (running) version of this Supybot is %s. %s" +msgstr "Az aktuális (futó) verziója ennek a Supybot-nak %s. %s" + +#: plugin.py:239 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Returns a URL saying where to get Supybot.\n" +" " +msgstr "" +"paraméter nélküli" +"\n" +"Kiír egy linket, ami megmondja, honnan lehet a Supybot-ot megszerezni." + +#: plugin.py:243 +msgid "My source is at https://github.com/ProgVal/Limnoria" +msgstr "A forrásom https://github.com/ProgVal/Limnoria -ban van." + +#: plugin.py:248 +#, docstring +msgid "" +"[]\n" +"\n" +" If the last command was truncated due to IRC message length\n" +" limitations, returns the next chunk of the result of the last command.\n" +" If is given, it takes the continuation of the last command from\n" +" instead of the person sending this message.\n" +" " +msgstr "" +"[]\n" +"\n" +"Ha a legutóbbi parancs le volt rövidítve az IRC üzenethosszúság-korlátai miatt, kiírja a következő részét az utolsó parancs eredményének. Ha meg van adva, utolsó parancsának a folytatását írja ki." + +#: plugin.py:262 +msgid "%s has no public mores." +msgstr "%s-nek nincsenek publikus folytatásai." + +#: plugin.py:265 +msgid "Sorry, I can't find any mores for %s" +msgstr "Sajnálom, nem találok folytatásokat %s-hoz." + +#: plugin.py:272 +msgid "more message" +msgstr "eggyel több üzenet" + +#: plugin.py:274 +msgid "more messages" +msgstr "több üzenet" + +#: plugin.py:278 +msgid "You haven't asked me a command; perhaps you want to see someone else's more. To do so, call this command with that person's nick." +msgstr "Nem adtál nekem parancsot; talán valaki más folyatását szeretnéd látni. Ha ezt szeretnéd tenni, hívd meg ezt a parancsot az adott ember nevével." + +#: plugin.py:282 +msgid "That's all, there is no more." +msgstr "Ez minden, nincs több." + +#: plugin.py:292 +#, docstring +msgid "" +"[--{from,in,on,with,without,regexp} ] [--nolimit]\n" +"\n" +" Returns the last message matching the given criteria. --from requires\n" +" a nick from whom the message came; --in requires a channel the message\n" +" was sent to; --on requires a network the message was sent on; --with\n" +" requires some string that had to be in the message; --regexp requires\n" +" a regular expression the message must match; --nolimit returns all\n" +" the messages that can be found. By default, the channel this command is\n" +" given in is searched.\n" +" " +msgstr "" + +#: plugin.py:386 +msgid "I couldn't find a message matching that criteria in my history of %s messages." +msgstr "" + +#: plugin.py:401 +#, docstring +msgid "" +" \n" +"\n" +" Tells the whatever is. Use nested commands to your\n" +" benefit here.\n" +" " +msgstr "" + +#: plugin.py:409 +msgid "Dude, just give the command. No need for the tell." +msgstr "" + +#: plugin.py:414 +msgid "You just told me, why should I tell myself?" +msgstr "" + +#: plugin.py:419 +msgid "I haven't seen %s, I'll let you do the telling." +msgstr "" + +#: plugin.py:424 +msgid "%s wants me to tell you: %s" +msgstr "" + +#: plugin.py:430 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Checks to see if the bot is alive.\n" +" " +msgstr "" + +#: plugin.py:434 +msgid "pong" +msgstr "" + From 09479e96ebc57922e02490bca259355b8054a616 Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Sat, 30 Jul 2011 23:41:36 +0200 Subject: [PATCH 179/244] Misc: Update l10n-hu. --- plugins/Misc/locale/hu.po | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/plugins/Misc/locale/hu.po b/plugins/Misc/locale/hu.po index bf90c826e..c22d33b36 100644 --- a/plugins/Misc/locale/hu.po +++ b/plugins/Misc/locale/hu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Limnoria Misc\n" "POT-Creation-Date: 2011-07-10 18:59+CEST\n" -"PO-Revision-Date: 2011-07-30 23:29+CEST\n" +"PO-Revision-Date: 2011-07-30 23:41+CEST\n" "Last-Translator: nyuszika7h \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -219,10 +219,12 @@ msgid "" " given in is searched.\n" " " msgstr "" +"[--{from,in,on,with,without,regexp} <érték>] [--nolimit]\n" +"Kiírja a legutolsó üzenetet, amire illeszkedik a megadott kritérium. --from kér egy nevet, akitől az üzenet jött; --in kér egy csatornát, ahová az üzenet lett küldve; --on kér egy hálózatpt, amelyen az üzenet lett küldve; --with kér egy karakterlánc aminek az üzenetben kellett lennie; --regexp kér egy szabályos kifejezést, amelyre az üzenetnek illeszkednie kell; --nolimit kiírja az összes talált üzenetet. Alapértelmezésben abban a csatornában keres, ahol ez a parancs végre lett hajtva." #: plugin.py:386 msgid "I couldn't find a message matching that criteria in my history of %s messages." -msgstr "" +msgstr "Nem találtam a kritériumra illeszkedő üzenetet a(z) %s üzenetes előzményeimben." #: plugin.py:401 #, docstring @@ -233,22 +235,24 @@ msgid "" " benefit here.\n" " " msgstr "" +" " +"Megmondja -nek szöveget. Itt az előnyödre használhatod a beágyazott parancsokat." #: plugin.py:409 msgid "Dude, just give the command. No need for the tell." -msgstr "" +msgstr "Haver, csak add meg a parancsot. Nem kell mondani." #: plugin.py:414 msgid "You just told me, why should I tell myself?" -msgstr "" +msgstr "Most mondtad el nekem, miért mondjam el magamnak?" #: plugin.py:419 msgid "I haven't seen %s, I'll let you do the telling." -msgstr "" +msgstr "Nem láttam %s-t, rád hagyom a mondást." #: plugin.py:424 msgid "%s wants me to tell you: %s" -msgstr "" +msgstr "%s szeretné, hogy megmondjam neked: %s" #: plugin.py:430 #, docstring @@ -258,8 +262,10 @@ msgid "" " Checks to see if the bot is alive.\n" " " msgstr "" +"paraméter nélküli\n" +"\n" +"Ellenőrzi, hogy a bot él-e." #: plugin.py:434 msgid "pong" -msgstr "" - +msgstr "pong" From 6e3bdccf171d016242431cf8c0e5be3443803266 Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Sun, 31 Jul 2011 00:13:59 +0200 Subject: [PATCH 180/244] RSS: Add l10n-hu. --- plugins/RSS/locale/hu.po | 204 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 plugins/RSS/locale/hu.po diff --git a/plugins/RSS/locale/hu.po b/plugins/RSS/locale/hu.po new file mode 100644 index 000000000..d435f295f --- /dev/null +++ b/plugins/RSS/locale/hu.po @@ -0,0 +1,204 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria RSS\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-30 23:47+CEST\n" +"Last-Translator: nyuszika7h \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + + +#: config.py:50 +msgid "" +"Determines whether the bot will bold the title of the feed when\n" +" it announces new news." +msgstr "" +"Meghatározza, hogy a bot félkövér betűvel írja-e ki a hírcsatorna címét, amikor bejelenti az új híreket." + +#: config.py:53 +msgid "" +"Determines what string is\n" +" used to separate headlines in new feeds." +msgstr "" +"Meghatározza, hogy milyen karakterlánc használt a főcímek elválasztására az új hírcsatornákban." + +#: config.py:56 +msgid "" +"Determines what\n" +" prefix is prepended (if any) to the new news item announcements made in the\n" +" channel." +msgstr "" +"Meghatározza, hogy milyen előtag (ha van ilyen) legyen a csatornában bejelentett új hírek előtt." + +#: config.py:60 +msgid "" +"Determines which RSS feeds\n" +" should be announced in the channel; valid input is a list of strings\n" +" (either registered RSS feeds or RSS feed URLs) separated by spaces." +msgstr "" +"Meghatározza, hogy melyik RSS hírcsatornák legyenek bejelentve a csatornában; az érvényes bemenet: karakterláncok (regisztrált RSS hírcsatornák vagy RSS hírcsatorna hivatkozások) szóközzel elválasztott listája." + +#: config.py:64 +msgid "" +"Indicates how many seconds the bot will\n" +" wait between retrieving RSS feeds; requests made within this period will\n" +" return cached results." +msgstr "" +"Azt jelzi, hány másodpercet vár a bot az RSS hírcsatornák letöltése között; az ebben az időszakban végrehajtott kérések gyorsítótárazott eredményeket adnak vissza." + +#: config.py:68 +msgid "" +"Determines what feeds should be accessible as\n" +" commands." +msgstr "" +"Meghatározza, hogy melyik hírcsatornák legyenek elérhetők parancsokként." + +#: config.py:71 +msgid "" +"Determines whether the bot will list the hivatkozás\n" +" along with the title of the feed when the rss command is called.\n" +" supybot.plugins.RSS.announce.showhivatkozáss affects whether links will be\n" +" listed when a feed is automatically announced." +msgstr "" +"Meghatározza, hogy a bot kiírja-e a hírcsatorna hivatkozását a címmel együtt az rss command meghívásakor. A supybot.plugins.RSS.announce.showLinks befolyásolja, hogy a linkek ki legyenek-e írva, amikor egy hírcsatorna automatikusan be van jelentve." + +#: config.py:84 +msgid "" +"Determines whether the bot will list the hivatkozás\n" +" along with the title of the feed when a feed is automatically\n" +" announced." +msgstr "" +"Meghatározza, hogy a bot kiírja-e a hírcsatorna hivatkozását a címmel együtt amikor egy hírcsatorna automatikusan be van jelentve." + +#: plugin.py:62 +#, docstring +msgid "" +"This plugin is useful both for announcing updates to RSS feeds in a\n" +" channel, and for retrieving the headlines of RSS feeds via command. Use\n" +" the \"add\" command to add feeds to this plugin, and use the \"announce\"\n" +" command to determine what feeds should be announced in a given channel." +msgstr "" +"Ez a bővítmény hasznos mind az RSS hírcsatornák frissítéseinek bejelentésére egy csatornában, és az RSS hírcsatornák főhivatkozásainek letöltésére egy parancssal. Használd az \"add\" parancsot hírcsatornák hozzáadásához, és használd az \"announce\" parancsot, hogy meghatározd, milyen hírcsatornák legyenek bejelentve a megadott csatornában." + +#: plugin.py:316 +#, docstring +msgid "" +" \n" +"\n" +" Adds a command to this plugin that will look up the RSS feed at the\n" +" given URL.\n" +" " +msgstr "" +" \n" +"\n" +"Hozzáad egy parancsot ehhez a bővítményhez, amely le fogja kérdezni az RSS hírcsatornát a megadott hivatkozáson." + +#: plugin.py:327 +#, docstring +msgid "" +"\n" +"\n" +" Removes the command for looking up RSS feeds at from\n" +" this plugin.\n" +" " +msgstr "" +"\n" +"\n" +"Eltávolítja a RSS hírcsatornáinak lekérdezéséhez a bővítményből." + +#: plugin.py:333 +msgid "That's not a valid RSS feed command name." +msgstr "Ez nem egy érvényes RSS hírcsatorna parancsnév." + +#: plugin.py:344 +#, docstring +msgid "" +"[]\n" +"\n" +" Returns the list of feeds announced in . is\n" +" only necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +"Kiírja a -n bejelentett hírcsatornákat. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + +#: plugin.py:351 +msgid "I am currently not announcing any feeds." +msgstr "Jelenleg nem jelentek be semmilyen hírcsatornát." + +#: plugin.py:356 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" Adds the list of feeds to the current list of announced feeds in\n" +" . Valid feeds include the names of registered feeds as\n" +" well as URLs for RSS feeds. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +"Hozzáadja a hírcsatornák listáját a bejelentett hírcsatornák listájához -ban. Érvényes hírcsatornák közé tartoznak a regisztrált hírcsatornák nevei és az RSS hírcsatornák hivatkozásai. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + +#: plugin.py:374 +#, docstring +msgid "" +"[] [ ...]\n" +"\n" +" Removes the list of feeds from the current list of announced feeds\n" +" in . Valid feeds include the names of registered feeds as\n" +" well as URLs for RSS feeds. is only necessary if the\n" +" message isn't sent in the channel itself.\n" +" " +msgstr "" +"[] [ ...]\n" +"\n" +"Eltávolítja a hírcsatornák listáját a jelenleg bejelentett hírcsatornák listájából -ban. Érvényes hírcsatornák közé tartoznak a regisztrált hírcsatornák nevei és az RSS hírcsatornák hivatkozásai. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + +#: plugin.py:392 +#, docstring +msgid "" +" []\n" +"\n" +" Gets the title components of the given RSS feed.\n" +" If is given, return only that many headlines.\n" +" " +msgstr "" +" []\n" +"\n" +"Lekérdezi a főcímeket a megadott RSS hírcsatornából. Ha meg van adva, csak annyi főcímet ír ki." + +#: plugin.py:405 +msgid "Couldn't get RSS feed." +msgstr "Nem sikerült elérni az RSS hírcsatornát." + +#: plugin.py:420 +#, docstring +msgid "" +"\n" +"\n" +" Returns information from the given RSS feed, namely the title,\n" +" URL, description, and last update date, if available.\n" +" " +msgstr "" +"\n" +"\n" +"Információt ír ki a megadott RSS hírcsatornáról, név szerint a címet, a hivatkozást, a leírást és a legutóbbi frissítés idejét, ha elérhető." + +#: plugin.py:433 +msgid "I couldn't retrieve that RSS feed." +msgstr "Nem tudtam lekérdezni a megadott RSS hírcsatornát." + +#: plugin.py:446 +msgid "Title: %s; URL: %u; Description: %s; Last updated: %s." +msgstr "Cím: %s; Hivatkozás: %u; Leírás: %s; Legutóbbi frissítés: %s." + From 1694f7bdcaafa58fe6c657b4899eafd53ef5ab85 Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Sun, 31 Jul 2011 12:12:32 +0200 Subject: [PATCH 181/244] Ctcp: Add l10n-hu. --- plugins/Ctcp/locale/hu.po | 66 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 plugins/Ctcp/locale/hu.po diff --git a/plugins/Ctcp/locale/hu.po b/plugins/Ctcp/locale/hu.po new file mode 100644 index 000000000..0f50286d7 --- /dev/null +++ b/plugins/Ctcp/locale/hu.po @@ -0,0 +1,66 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria Ctcp\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-31 12:12+CEST\n" +"Last-Translator: nyuszika7h \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + + +#: plugin.py:77 +#, docstring +msgid "\001PING ?(.*)\001" +msgstr "\001PING ?(.*)\001" + +#: plugin.py:86 +#, docstring +msgid "\001VERSION\001" +msgstr "\001VERSON\001" + +#: plugin.py:91 +#, docstring +msgid "\001USERINFO\001" +msgstr "\001USERINFO\001" + +#: plugin.py:96 +#, docstring +msgid "\001TIME\001" +msgstr "\001TIME\001" + +#: plugin.py:101 +#, docstring +msgid "\001FINGER\001" +msgstr "\001FINGER\001" + +#: plugin.py:104 +msgid "Supybot, the best Python IRC bot in existence!" +msgstr "Supybot, a legjobb létező Python IRC bot!" + +#: plugin.py:107 +#, docstring +msgid "\001SOURCE\001" +msgstr "\001SOURCE\001" + +#: plugin.py:123 +#, docstring +msgid "" +"[] [--nicks]\n" +"\n" +" Sends a CTCP VERSION to , returning the various\n" +" version strings returned. It waits for 10 seconds before returning\n" +" the versions received at that point. If --nicks is given, nicks are\n" +" associated with the version strings; otherwise, only the version\n" +" strings are given.\n" +" " +msgstr "" +"[ [--nicks]\n" +"\n" +"Küld egy CTCP VERSION-t -ra, kiírva a különféle kapott verziókat. 10 másodpercig vár a kapott verziók kiírása előtt. Ha --nicks meg van adva, a nevek össze vannak kapcsolva a verziókkal; egyébként csak a verziók vannak kiírva." From f8da51ca282fd94855b50b3cb7acae865f839185 Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Sun, 31 Jul 2011 12:46:21 +0200 Subject: [PATCH 182/244] Owner: Add l10n-hu. --- plugins/Owner/locale/hu.po | 233 +++++++++++++++++++++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 plugins/Owner/locale/hu.po diff --git a/plugins/Owner/locale/hu.po b/plugins/Owner/locale/hu.po new file mode 100644 index 000000000..76689a721 --- /dev/null +++ b/plugins/Owner/locale/hu.po @@ -0,0 +1,233 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria Owner\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-31 12:45+CEST\n" +"Last-Translator: nyuszika7h \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + + +#: plugin.py:273 +#, docstring +msgid "" +"\n" +"\n" +" Logs to the global Supybot log at critical priority. Useful for\n" +" marking logfiles for later searching.\n" +" " +msgstr "" +"\n" +"\n" +"Naplózza -et a globális Supybot naplóba kritikus prioritással. Hasznos a naplófájlok megjelölésére későbbi kereséshez." + +#: plugin.py:283 +#, docstring +msgid "" +"\n" +"\n" +" Sends to all channels the bot is currently on and not\n" +" lobotomized in.\n" +" " +msgstr "" +"\n" +"\n" +"Elküldi -et minden csatornára, ahol a bot van és nincs némítva." + +#: plugin.py:298 +#, docstring +msgid "" +"[--remove] []\n" +"\n" +" Sets the default plugin for to . If --remove is\n" +" given, removes the current default plugin for . If no plugin\n" +" is given, returns the current default plugin set for . See\n" +" also, supybot.commands.defaultPlugins.importantPlugins.\n" +" " +msgstr "" +"[--remove] []" +"\n" +" alapértelmezett bővítményét -re állítja. Ha --remove meg van adva, eltávolítja jelenlegi alapértelmezett bővítményét. Ha nincs bővítmény megadva, kiírja jelenlegi alapértelmezett bővítményét. Lásd még, supybot.commands.defaultPlugins.importantPlugins." + +#: plugin.py:336 +#, docstring +msgid "" +"\n" +"\n" +" Sends the raw string given to the server.\n" +" " +msgstr "" +"\n" +"\n" +"Elküldi a megadott nyers karakterláncot a szervernek." + +#: plugin.py:350 +#, docstring +msgid "" +"[]\n" +"\n" +" Exits the bot with the QUIT message . If is not given,\n" +" the default quit message (supybot.plugins.Owner.quitMsg) will be used.\n" +" If there is no default quitMsg set, your nick will be used.\n" +" " +msgstr "" +"[]\n" +"\n" +"Kilép a botból kilépési üzenettel. Ha nincs meg adva, az alapértelmezett kilépési üzenet (supybot.plugins.Owner.quitMsg) lesz használva. Ha nincs alapértelmezett kilépési üzenet beállítva, a neved lesz használva." + +#: plugin.py:366 +#, docstring +msgid "" +"takes no arguments\n" +"\n" +" Runs all the periodic flushers in world.flushers. This includes\n" +" flushing all logs and all configuration changes to disk.\n" +" " +msgstr "" +"paraméter nélküli\n" +"\n" +"Futtatja az összes időszakos öblítőket world.flushers-ban. Ez magában foglalja az összes naplófájl és konfigurációs fájl mentését a lemezre." + +#: plugin.py:376 +#, docstring +msgid "" +"[]\n" +"\n" +" Runs the standard upkeep stuff (flushes and gc.collects()). If given\n" +" a level, runs that level of upkeep (currently, the only supported\n" +" level is \"high\", which causes the bot to flush a lot of caches as well\n" +" as do normal upkeep stuff.\n" +" " +msgstr "" +"[]\n" +"\n" +"Futtatja a szabványos karbantartási dolgokat (öblítés és gc.collects()). Ha meg van adva egy szint, a megadott szintű karbantartást futtatja (jelenleg, az egyetlen témogatott szint a \"high\", amellyel a bot öblít nagyon sok gyorsítótárat és megcsinálja a normális karbantartási dolgokat." + +#: plugin.py:415 +#, docstring +msgid "" +"[--deprecated] \n" +"\n" +" Loads the plugin from any of the directories in\n" +" conf.supybot.directories.plugins; usually this includes the main\n" +" installed directory and 'plugins' in the current directory.\n" +" --deprecated is necessary if you wish to load deprecated plugins.\n" +" " +msgstr "" +"[--deprecated] \n" +"\n" +"Betölti a bővítményt a supybot.directories.plugins könyvtárai közül bármelyikből; általában ebbe beletarzozik a fő telepítési könyvtár és egy 'plugins' a jelenlegi könyvtárban. --deprecated akkor szükséges, ha elavult bővítményeket szeretnél betölteni." + +#: plugin.py:450 +#, docstring +msgid "" +"\n" +"\n" +" Unloads and subsequently reloads the plugin by name; use the 'list'\n" +" command to see a list of the currently loaded plugins.\n" +" " +msgstr "" +"\n" +"\n" +"Kirakja és aztán újratölti a megadott bővítményt név szerint; használd a 'list' parancsot, hogy lásd a jelenleg betöltött bővítményeket." + +#: plugin.py:479 +#, docstring +msgid "" +"\n" +"\n" +" Unloads the callback by name; use the 'list' command to see a list\n" +" of the currently loaded callbacks. Obviously, the Owner plugin can't\n" +" be unloaded.\n" +" " +msgstr "" +"\n" +"\n" +"Kirakja a megadott bővítményt név szerint; használd a 'list' parancsot, hogy lásd a jelenleg betöltött bővítményeket. Nyilvánvalóan az Owner bővítményt nem lehet kirakni." + +#: plugin.py:503 +#, docstring +msgid "" +"{add|remove} \n" +"\n" +" Adds or removes (according to the first argument) from the\n" +" default capabilities given to users (the configuration variable\n" +" supybot.capabilities stores these).\n" +" " +msgstr "" +"{add|remove} \n" +"\n" +"Hozzáadja vagy eltávolítja (az első paraméter szerint) -et a felhasználóknak adott alapértelmezett képességekhez/-ből (a supybot.capabilities konfigurációs változó tárolja ezeket)." + +#: plugin.py:528 +#, docstring +msgid "" +"[] \n" +"\n" +" Disables the command for all users (including the owners).\n" +" If is given, only disables the from . If\n" +" you want to disable a command for most users but not for yourself, set\n" +" a default capability of -plugin.command or -command (if you want to\n" +" disable the command in all plugins).\n" +" " +msgstr "" +"[] \n" +"\n" +"Letiltja parancsot minden felhasználónak (a tulajdonosokat is beleértve). Ha meg van adva, csak -ben tiltja le -ot. Ha le szeretnél tiltani egy parancsot a legtöbb felhasználónak de nem magadnak, állíts be egy -bővítmény.parancs vagy -parancs alapértelmezett képességet (ha minden bővítményben le szeretnéd tiltani a parancsot)." + +#: plugin.py:555 +#, docstring +msgid "" +"[] \n" +"\n" +" Enables the command for all users. If \n" +" if given, only enables the from . This command is\n" +" the inverse of disable.\n" +" " +msgstr "" +"[] \n" +"\n" +"Engedélyezi parancsot minden felhasználónak. Ha meg van adva, csak -ben engedélyezi -ot. Ez a parancs a fordítottja a disable-nek." + +#: plugin.py:574 +#, docstring +msgid "" +" \n" +"\n" +" Renames in to the .\n" +" " +msgstr "" +" <új név>\n" +"\n" +"Átnevezi -ot -ben az <új név>-re." + +#: plugin.py:591 +#, docstring +msgid "" +"\n" +"\n" +" Removes all renames in . The plugin will be reloaded after\n" +" this command is run.\n" +" " +msgstr "" +"\n" +"\n" +"Eltávolítja az összes átnevezést -ben. A bővítmény újra lesz töltve miután ez a parancs lefutott." + +#: plugin.py:604 +#, docstring +msgid "" +"takes no argument\n" +"\n" +" Reloads the locale of the bot." +msgstr "" +"paraméter nélküli\n" +"\n" +"Újratölti a bot nyelvét." From 4a9fab533dfdd1908e9439dfc243f0564361c0c6 Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Sun, 31 Jul 2011 17:42:16 +0200 Subject: [PATCH 183/244] Math: Added partial l10n-hu. --- plugins/Math/locale/hu.po | 145 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 plugins/Math/locale/hu.po diff --git a/plugins/Math/locale/hu.po b/plugins/Math/locale/hu.po new file mode 100644 index 000000000..f7a781bd4 --- /dev/null +++ b/plugins/Math/locale/hu.po @@ -0,0 +1,145 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria Math\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-31 13:03+CEST\n" +"Last-Translator: nyuszika7h \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + + +#: plugin.py:52 +#, docstring +msgid "" +" [] \n" +"\n" +" Converts from base to base .\n" +" If is left out, it converts to decimal.\n" +" " +msgstr "" +" [] \n" +"\n" +"Konvertálja -ot alapról alapra. Ha nincs megadva, decimálisra konvertál." + +#: plugin.py:63 +msgid "Invalid for base %s: %s" +msgstr "Érvénytelen %s alaphoz: %s" + +#: plugin.py:69 +#, docstring +msgid "Convert a decimal number to another base; returns a string." +msgstr "Konvertál egy decimális számot egy másik alapra; kiír egy karakterláncot." + +#: plugin.py:90 +#, docstring +msgid "" +"Convert a number from any base, 2 through 36, to any other\n" +" base, 2 through 36. Returns a string." +msgstr "" +"Konvertál egy számot bármilyen alapról 2 és 36 között bármilyen másik bázisra 2 és 36 között. Kiír egy karakterláncot." + +#: plugin.py:157 +#, docstring +msgid "" +"\n" +"\n" +" Returns the value of the evaluated . The syntax is\n" +" Python syntax; the type of arithmetic is floating point. Floating\n" +" point arithmetic is used in order to prevent a user from being able to\n" +" crash to the bot with something like '10**10**10**10'. One consequence\n" +" is that large values such as '10**24' might not be exact.\n" +" " +msgstr "" +"\n" +"\n" +"Kiírja a kiértékelt értékét. A szintaxis Python szintaxis; a számtan típusa lebegőpontos. Lebegőpontos számtan használt azért, hogy megakadályozzuk a felhasználókat, hogy képesek legyenek előidézni a bot összeomlással valami olyannal, mint '10**10**10**10'. Egy következmény, hogy nagy értékek, mint a '10**24' lehet, hogy nem lesznek pontosak." + +#: plugin.py:166 plugin.py:220 +msgid "There's really no reason why you should have underscores or brackets in your mathematical expression. Please remove them." +msgstr "Tényleg nincs semmi ok, hogy miért legyenek aláhúzások vagy zárójelek a matamatikai kifejezésedben. Kérlek távolítsd el őket." + +#: plugin.py:172 plugin.py:228 +msgid "You can't use lambda in this command." +msgstr "Nem használhatsz lambdát ebben a parancsban." + +#: plugin.py:202 plugin.py:236 +msgid "The answer exceeded %s or so." +msgstr "A válasz meghaladta %s-t." + +#: plugin.py:204 plugin.py:238 +msgid "Something in there wasn't a valid number." +msgstr "Valami itt nem egy érvényes szám." + +#: plugin.py:206 plugin.py:240 +msgid "%s is not a defined function." +msgstr "%s nincs meghatározva függvényként." + +#: plugin.py:213 +#, docstring +msgid "" +"\n" +"\n" +" This is the same as the calc command except that it allows integer\n" +" math, and can thus cause the bot to suck up CPU. Hence it requires\n" +" the 'trusted' capability to use.\n" +" " +msgstr "" +"\n" +"\n" +"Ez ugyanaz, mint a calc parancs, kivéve, hogy engedélyez egész számos matematikát, és előidézheti, hogy a bot felszívjon sok CPU-t. Ezért a 'trusted' képesség szükséges a használatához." + +#: plugin.py:250 +#, docstring +msgid "" +"\n" +"\n" +" Returns the value of an RPN expression.\n" +" " +msgstr "" +"\n" +"\n" +"Kiírja egy RPN kifejezés értékét." + +#: plugin.py:275 +msgid "Not enough arguments for %s" +msgstr "Nincs elég paraméter %s-hoz." + +#: plugin.py:288 +msgid "%q is not a defined function." +msgstr "%q nincs meghatározva függvényként." + +#: plugin.py:295 +msgid "Stack: [%s]" +msgstr "Verem: [%s]" + +#: plugin.py:299 +#, docstring +msgid "" +"[] to \n" +"\n" +" Converts from to . If number isn't given, it\n" +" defaults to 1. For unit information, see 'units' command.\n" +" " +msgstr "" +"[] to \n" +"\n" +"-ről -re konvertál. Ha a szám nem megadott, alapértelmezett értéke 1. Mértékegység információért lásd az 'units' parancsot." + +#: plugin.py:314 +#, docstring +msgid "" +" []\n" +"\n" +" With no arguments, returns a list of measurement types, which can be\n" +" passed as arguments. When called with a type as an argument, returns\n" +" the units of that type.\n" +" " +msgstr "" + From 44eb449ba41b37f3fa5e9f63575c696f38d4707c Mon Sep 17 00:00:00 2001 From: James Vega Date: Mon, 1 Aug 2011 17:17:22 -0400 Subject: [PATCH 184/244] Topic: Ensure do315's response is for a channel in our state object Signed-off-by: James Vega --- plugins/Topic/plugin.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/Topic/plugin.py b/plugins/Topic/plugin.py index a5479f91e..a69441b08 100644 --- a/plugins/Topic/plugin.py +++ b/plugins/Topic/plugin.py @@ -236,7 +236,9 @@ class Topic(callbacks.Plugin): def do315(self, irc, msg): # Try to restore the topic when not set yet. channel = msg.args[1] - c = irc.state.channels[channel] + c = irc.state.channels.get(channel) + if c is None: + return if irc.nick not in c.ops and 't' in c.modes: self.log.debug('Not trying to restore topic in %s. I\'m not opped ' 'and %s is +t.', channel, channel) From fd53269e22f3f369767ebdf054bdf7cd3fef0148 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Tue, 2 Aug 2011 15:47:26 +0300 Subject: [PATCH 185/244] RSS: l10n-fi 14%. --- plugins/RSS/locale/fi.po | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) mode change 100644 => 100755 plugins/RSS/locale/fi.po diff --git a/plugins/RSS/locale/fi.po b/plugins/RSS/locale/fi.po old mode 100644 new mode 100755 index ee60bb71d..c39c6a540 --- a/plugins/RSS/locale/fi.po +++ b/plugins/RSS/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-30 17:25+0200\n" +"PO-Revision-Date: 2011-08-02 15:47+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -19,12 +19,16 @@ msgid "" "Determines whether the bot will bold the title of the feed when\n" " it announces new news." msgstr "" +"Määrittää korostaako botti otsikon, kun se kuuluttaa uusia\n" +" uutisia." #: config.py:53 msgid "" "Determines what string is\n" " used to separate headlines in new feeds." msgstr "" +"Määrittää mitä merkkiketjua käytetään\n" +" erottamaan otsikot uusissa syötteissä." #: config.py:56 msgid "" @@ -32,6 +36,9 @@ msgid "" " prefix is prepended (if any) to the new news item announcements made in the\n" " channel." msgstr "" +"Määrittää mikä\n" +" etuliite (jos mikään) lisätään kuulutuksiin, jotka on tehty\n" +" kanavalla." #: config.py:60 msgid "" From 45b27a781bbcb4f888c8401c0a23182bcae6b763 Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Tue, 2 Aug 2011 21:06:18 +0200 Subject: [PATCH 186/244] Math: Update l10n-hu. --- plugins/Math/locale/hu.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/Math/locale/hu.po b/plugins/Math/locale/hu.po index f7a781bd4..d4917b58d 100644 --- a/plugins/Math/locale/hu.po +++ b/plugins/Math/locale/hu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Limnoria Math\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-31 13:03+CEST\n" +"PO-Revision-Date: 2011-08-02 21:06+0200\n" "Last-Translator: nyuszika7h \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -142,4 +142,6 @@ msgid "" " the units of that type.\n" " " msgstr "" - +"[]\n" +"\n" +"Paraméterek nélkül kiírja a mértékegységek listáját, amelyek megadhatók paraméterenként. Amikor egy típussal van meghívva paraméterként, kiírja a típus mértékegységeit." From cb8728630e695fa4d7de22366d0945f5a36cf8b9 Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Tue, 2 Aug 2011 21:20:22 +0200 Subject: [PATCH 187/244] ChannelLogger: Add l10n-hu. --- plugins/ChannelLogger/locale/hu.po | 98 ++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 plugins/ChannelLogger/locale/hu.po diff --git a/plugins/ChannelLogger/locale/hu.po b/plugins/ChannelLogger/locale/hu.po new file mode 100644 index 000000000..a5cbf4df2 --- /dev/null +++ b/plugins/ChannelLogger/locale/hu.po @@ -0,0 +1,98 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria ChannelLogger\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-08-02 21:20+0200\n" +"Last-Translator: nyuszika7h \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + + +#: config.py:46 +msgid "Determines whether logging is enabled." +msgstr "Meghatározza, hogy a naplózás engedélyezve van-e." + +#: config.py:48 +msgid "" +"Determines whether channel logfiles will be\n" +" flushed anytime they're written to, rather than being buffered by the\n" +" operating system." +msgstr "" +"Meghatározza, hogy a csatorna naplófájlok mentve legyenek-e, amikor írva vannak, ahelyett, hogy az operációs rendszer pufferelje őket." + +#: config.py:52 +msgid "" +"Determines whether formatting characters (such\n" +" as bolding, color, etc.) are removed when writing the logs to disk." +msgstr "Meghatározza, hogy milyen formázási karakterek (olyan, mint félkövér, szín stb.) vannak eltávolítva a naplófájlok lemezre írásakor." + +#: config.py:55 +msgid "" +"Determines whether the logs for this channel are\n" +" timestamped with the timestamp in supybot.log.timestampFormat." +msgstr "Meghatározza, hogy a csatorna naplójai el legyenek-e látva a supybot.log.timestampFormat-ban lévő időbélyegzővel." + +#: config.py:58 +msgid "" +"Determines what string a message should be\n" +" prefixed with in order not to be logged. If you don't want any such\n" +" prefix, just set it to the empty string." +msgstr "Meghatározza, hogy milyen karakterlánccal kell kezdődnie egy üzenetnek, hogy ne legyen naplózva. Ha nem szeretnél semmi ilyen előtagot, csak állítsd üres karakterláncra." + +#: config.py:62 +msgid "" +"Determines whether the bot will automatically\n" +" rotate the logs for this channel. The bot will rotate logs when the\n" +" timestamp for the log changes. The timestamp is set according to\n" +" the 'filenameTimestamp' configuration variable." +msgstr "Meghatározza, hogy a bot automatikusan elforgassa-e a csatorna naplófájljait. A bot elforgatja a naplófájlokat, amikor a naplófájl időbélyegzője megváltozik. Az időbélyegző a 'filenameTimestamp' konfigurációs változó szerint van beállítva." + +#: config.py:67 +msgid "" +"Determines how to represent the timestamp\n" +" used for the filename in rotated logs. When this timestamp changes, the\n" +" old logfiles will be closed and a new one started. The format characters\n" +" for the timestamp are in the time.strftime docs at python.org. In order\n" +" for your logs to be rotated, you'll also have to enable\n" +" supybot.plugins.ChannelLogger.rotateLogs." +msgstr "Meghatározza, hogyan legyen az elforgatott naplófájlok fájlnevéhez használt időbélyegző ábrázolva. Amikor ez az időbélyegző megváltozik, a régi naplófájlok le lesznek zárva és újak lesznek nyitva. A formázási karakterek az időbélyegzőhez a time.strftime-ban vannak a python.org dokumentációiban. Ahhoz, hogy a naplófájljaid el legyenek forgatva, engedélyezned kell a supybot.plugins.ChannelLogger.rotateLogs-t is." + +#: config.py:75 +msgid "" +"Determines whether the bot will partition its\n" +" channel logs into separate directories based on different criteria." +msgstr "Meghatározza, hogy a bot szétválassza-e a csatorna naplóit különálló könyvtárakba különböző kritériumok alapján." + +#: config.py:78 +msgid "" +"Determines whether the bot will use a network\n" +" directory if using directories." +msgstr "Meghatározza, hogy a bot használjon-e egy könyvtárat a hálózatnak, ha használ könyvtárakat." + +#: config.py:81 +msgid "" +"Determines whether the bot will use a channel\n" +" directory if using directories." +msgstr "Meghatározza, hogy a bot használjon-e egy könyvtárat a csatornának, ha használ könyvtárakat." + +#: config.py:84 +msgid "" +"Determines whether the bot will use a timestamp\n" +" (determined by supybot.plugins.ChannelLogger.directories.timestamp.format)\n" +" if using directories." +msgstr "Meghatározza, hogy a bot használjon-e egy időbályegzőt (a supybot.plugins.ChannelLogger.directories.timestamp.format által meghatározott) ha használ könyvtárakat." + +#: config.py:88 +msgid "" +"Determines what timestamp format will be used in\n" +" the directory stucture for channel logs if\n" +" supybot.plugins.ChannelLogger.directories.timestamp is True." +msgstr "Meghatározza, milyen időbélyegző formátum lesz használva a könyvtárstruktúrában a csatorna naplófájlokhoz, ha a supybot.plugins.ChannelLogger.directories.timestamp True." + From 0e5f473b0534e6ddf5b7429d6852757be4f0e114 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 3 Aug 2011 22:37:27 +0300 Subject: [PATCH 188/244] RSS: l10n-fi 23% --- plugins/RSS/locale/fi.po | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/RSS/locale/fi.po b/plugins/RSS/locale/fi.po index c39c6a540..3122bc4f3 100755 --- a/plugins/RSS/locale/fi.po +++ b/plugins/RSS/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-08-02 15:47+0200\n" +"PO-Revision-Date: 2011-08-03 22:33+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -46,6 +46,9 @@ msgid "" " should be announced in the channel; valid input is a list of strings\n" " (either registered RSS feeds or RSS feed URLs) separated by spaces." msgstr "" +"Määrittää mitä RSS syötteitä kuulutetaan\n" +" kanavalla; kelvollinen syöte on lista merkkiketjuista\n" +" (joko rekisteröidyt RSS syötteet tai RSS syötteiden URL:it) välilyönneillä erotettuina." #: config.py:64 msgid "" @@ -53,6 +56,9 @@ msgid "" " wait between retrieving RSS feeds; requests made within this period will\n" " return cached results." msgstr "" +"Määrittää kuinka monta sekuntia botti odottaa\n" +" RSS syötteiden päivittämisten välillä; pyynnöt, jotka tehdän tällä ajalla\n" +" palauttavat välimuistissa olevia tuloksia." #: config.py:68 msgid "" From 5cf4534dbfb49c6facdfe071350cbf04203ff236 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 5 Aug 2011 18:20:17 +0300 Subject: [PATCH 189/244] RSS: l10n-fi 18% --- plugins/RSS/locale/fi.po | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/RSS/locale/fi.po b/plugins/RSS/locale/fi.po index 3122bc4f3..99bb7adff 100755 --- a/plugins/RSS/locale/fi.po +++ b/plugins/RSS/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-08-03 22:33+0200\n" +"PO-Revision-Date: 2011-08-05 18:19+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -65,6 +65,8 @@ msgid "" "Determines what feeds should be accessible as\n" " commands." msgstr "" +"Määrittää mitten syötteiden pitäisi olla käytettävissä\n" +" komentoina." #: config.py:71 msgid "" From aa2004d7d23b70e9471fba35e5ddd9831fcd6082 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Fri, 5 Aug 2011 18:25:43 +0300 Subject: [PATCH 190/244] ChannelLogger: fixed l10n-fi. --- plugins/ChannelLogger/locale/fi.po | 38 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/plugins/ChannelLogger/locale/fi.po b/plugins/ChannelLogger/locale/fi.po index 43e2d7734..b6d6dc404 100644 --- a/plugins/ChannelLogger/locale/fi.po +++ b/plugins/ChannelLogger/locale/fi.po @@ -24,14 +24,14 @@ msgid "" msgstr "" "Määrittää pitäisikö kanava lokitiedostot\n" " tallentaa silloin kun ne kirjoitetaan, mielummin kuin käyttöjärjestelmän\n" -"puskuroimana." +" puskuroimana." #: config.py:52 msgid "" "Determines whether formatting characters (such\n" " as bolding, color, etc.) are removed when writing the logs to disk." msgstr "" -"Määrittää pitääkö muotoilu merkit (kuten\n" +"Määrittää pitääkö muotoilumerkit (kuten\n" "korostukset, väri, jne.) poistaa kun lokeja kirjoitetaan levylle." #: config.py:55 @@ -40,7 +40,7 @@ msgid "" " timestamped with the timestamp in supybot.log.timestampFormat." msgstr "" "Määrittää laitetaanko tämän kanavan lokitiedostoihin\n" -"aikaleimat aikaleimalla, joka on määritetty asetuksella supybot.log.timestampFormat." +" aikaleimat aikaleimalla, joka on määritetty asetuksella supybot.log.timestampFormat." #: config.py:58 msgid "" @@ -49,8 +49,8 @@ msgid "" " prefix, just set it to the empty string." msgstr "" "Määrittää millä merkkiketjulla aloitettuja viestejä\n" -"viestejä ei tallenneta lokiin. Jos et halua\n" -"merkkiketjua, aseta se tyhjäksi viestiketjuksi." +" ei tallenneta lokiin. Jos et halua\n" +" merkkiketjua, aseta se tyhjäksi merkkiketjuksi." #: config.py:62 msgid "" @@ -60,9 +60,9 @@ msgid "" " the 'filenameTimestamp' configuration variable." msgstr "" "Määrittää kääntääkö botti automaattisesti\n" -"lokit tällä kanavalla. Botti kääntää lokit kun\n" -"kun aikaleima lokeille vaihtuu. Aikaleima asetetaan\n" -"'filenameTimestamp' asetuksen mukaan." +" lokit tällä kanavalla. Botti kääntää lokit kun\n" +" kun aikaleima lokeille vaihtuu. Aikaleima asetetaan\n" +" 'filenameTimestamp' asetusarvon mukaan." #: config.py:67 msgid "" @@ -74,11 +74,11 @@ msgid "" " supybot.plugins.ChannelLogger.rotateLogs." msgstr "" "Määrittää kuinka aikaleima, jota käytetään\n" -"tiedostonimenä käännetyille lokeille. Kun tämä aikaleima muuttuu\n" -"vanhat lokitiedostot suljetaan ja uudet aloitetaan. Muotomerkit\n" -"aikaleimoille ovat time.strftime documenteissa python.org :issa. Saadaksesi\n" -"lokisi käännetyksi, sinun täytyy myös ottaa käyttöön\n" -"supybot.plugins.ChannelLogger.rotateLogs." +" tiedostonimenä käännetyille lokeille, esitetään. Kun tämä aikaleima muuttuu\n" +" vanhat lokitiedostot suljetaan ja uudet aloitetaan. Muotomerkit\n" +" aikaleimoille ovat time.strftime documenteissa python.org :issa. Saadaksesi\n" +" lokisi käännetyksi, sinun täytyy myös ottaa käyttöön\n" +" supybot.plugins.ChannelLogger.rotateLogs." #: config.py:75 msgid "" @@ -86,7 +86,7 @@ msgid "" " channel logs into separate directories based on different criteria." msgstr "" "Määrittää osioiko botti kanavalokinsa\n" -"eri hakemistoihin perustuen eri kriteereihin." +" eri hakemistoihin perustuen eri kriteereihin." #: config.py:78 msgid "" @@ -94,7 +94,7 @@ msgid "" " directory if using directories." msgstr "" "Määrittää käyttääkö botti verkkohakemistoa\n" -"jos käytetään hakemistoja." +" jos käytetään hakemistoja." #: config.py:81 msgid "" @@ -102,7 +102,7 @@ msgid "" " directory if using directories." msgstr "" "Määrittää käyttääkö botti kanavahakemistoa\n" -"jos käytetään hakemistoja." +" jos käytetään hakemistoja." #: config.py:84 msgid "" @@ -112,7 +112,7 @@ msgid "" msgstr "" "Määrittää käyttääkö botti aikaleimaa\n" " (supybot.plugins.ChannelLogger.directories.timestamp.format määrittämänä\n" -"jos käytetään hakemistoja." +" jos käytetään hakemistoja." #: config.py:88 msgid "" @@ -120,7 +120,7 @@ msgid "" " the directory stucture for channel logs if\n" " supybot.plugins.ChannelLogger.directories.timestamp is True." msgstr "" -"Määrittää mitä aikaleima muotoa käytetöön\n" -"hakemistorakenteessa kanavalokeille jos\n" +"Määrittää mitä aikaleima muotoa käytetään\n" +" hakemistorakenteessa kanavalokeille jos\n" " supybot.plugins.ChannelLogger.directories.timestamp on True." From 94548c4dd66ac5cb6b4b116fca8432c8094a0746 Mon Sep 17 00:00:00 2001 From: skizzhg Date: Sat, 6 Aug 2011 18:51:46 +0200 Subject: [PATCH 191/244] src/conf.py: fix typos. --- src/conf.py | 10 +++++----- src/version.py | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/conf.py b/src/conf.py index 438d07df3..7d7b41490 100644 --- a/src/conf.py +++ b/src/conf.py @@ -102,7 +102,7 @@ def registerChannelValue(group, name, value): def registerPlugin(name, currentValue=None, public=True): group = registerGlobalValue(supybot.plugins, name, registry.Boolean(False, _("""Determines whether this plugin is loaded - bydefault."""), showDefault=False)) + by default."""), showDefault=False)) supybot.plugins().add(name) registerGlobalValue(group, 'public', registry.Boolean(public, _("""Determines whether this plugin is @@ -492,7 +492,7 @@ registerChannelValue(supybot.replies, 'errorOwner', registerChannelValue(supybot.replies, 'incorrectAuthentication', registry.NormalizedString(_("""Your hostmask doesn't match or your password is wrong."""), _("""Determines what message the bot replies with when - someonetries to use a command that requires being identified or having a + someone tries to use a command that requires being identified or having a password and neither credential is correct."""))) # XXX: This should eventually check that there's one and only one %s here. @@ -542,7 +542,7 @@ registerChannelValue(supybot.replies, 'requiresPrivacy', registerChannelValue(supybot.replies, 'possibleBug', registry.NormalizedString(_("""This may be a bug. If you think it is, please file a bug report at - ."""), + ."""), _("""Determines what message the bot sends when it thinks you've encountered a bug that the developers don't know about."""))) ### @@ -663,7 +663,7 @@ registerGlobalValue(supybot.abuse.flood.command.invalid, 'punishment', registry.PositiveInteger(600, _("""Determines how many seconds the bot will ignore users who flood it with invalid commands. Typically, this value is higher than supybot.abuse.flood.command.punishment, since it's far - less likely (and far more annoying) for users to flood witih invalid + less likely (and far more annoying) for users to flood with invalid commands than for them to flood with valid commands."""))) registerGlobalValue(supybot.abuse.flood.command.invalid, 'notify', registry.Boolean(True, _("""Determines whether the bot will notify people @@ -1015,7 +1015,7 @@ registerGlobalValue(supybot.protocols.irc.ping, 'interval', registerGroup(supybot.protocols.irc, 'queuing') registerGlobalValue(supybot.protocols.irc.queuing, 'duplicates', registry.Boolean(False, _("""Determines whether the bot will refuse - duplicate messages to be queued for delivery to the server. This is a + duplicated messages to be queued for delivery to the server. This is a safety mechanism put in place to prevent plugins from sending the same message multiple times; most of the time it doesn't matter, unless you're doing certain kinds of plugin hacking."""))) diff --git a/src/version.py b/src/version.py index 667be77d1..cce296629 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-22T02:02:11+0200)' +version = '0.83.4.1+limnoria (2011-08-06T18:51:45+0200)' From 7d8258f6a2bc3497d984e8b1430642b056e6a62f Mon Sep 17 00:00:00 2001 From: skizzhg Date: Sat, 6 Aug 2011 18:53:15 +0200 Subject: [PATCH 192/244] Core l10n-it. --- locale/it.po | 1355 ++++++++++++++++++++++++++++++++++++++++++++++++ src/version.py | 2 +- 2 files changed, 1356 insertions(+), 1 deletion(-) create mode 100644 locale/it.po diff --git a/locale/it.po b/locale/it.po new file mode 100644 index 000000000..b5fb8da22 --- /dev/null +++ b/locale/it.po @@ -0,0 +1,1355 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-07-22 11:11+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: ../src/callbacks.py:184 +msgid "Error: " +msgstr "Errore: " + +#: ../src/callbacks.py:198 +msgid "Error: I tried to send you an empty message." +msgstr "Errore: ho cercato di inviarti un messaggio vuoto." + +#: ../src/callbacks.py:288 +msgid "Missing \"%s\". You may want to quote your arguments with double quotes in order to prevent extra brackets from being evaluated as nested commands." +msgstr "\"%s\" mancante. Dovresti racchiudere gli argomenti tra virgolette per evitare che le parentesi vengano interpretate come comandi nidificati." + +#: ../src/callbacks.py:318 +msgid "\"|\" with nothing preceding. I obviously can't do a pipe with nothing before the |." +msgstr "\"|\" con niente che la precede. Ovviamente non posso usare una pipe senza nulla prima di |." + +#: ../src/callbacks.py:326 +msgid "Spurious \"%s\". You may want to quote your arguments with double quotes in order to prevent extra brackets from being evaluated as nested commands." +msgstr "\"%s\" eccedente. Dovresti racchiudere gli argomenti tra virgolette per evitare che le parentesi vengano interpretate come comandi nidificati." + +#: ../src/callbacks.py:335 +msgid "\"|\" with nothing following. I obviously can't do a pipe with nothing after the |." +msgstr "\"|\" con niente che la segue. Ovviamente non posso usare una pipe senza nulla dopo di |." + +#: ../src/callbacks.py:519 +msgid "%s is not a valid %s." +msgstr "%s non è un %s valido." + +#: ../src/callbacks.py:521 +msgid "That's not a valid %s." +msgstr "Questo non è un %s valido." + +#: ../src/callbacks.py:599 +msgid "You've attempted more nesting than is currently allowed on this bot." +msgstr "Hai tentato di nidificare più di quanto sia attualmente consentito." + +#: ../src/callbacks.py:778 +msgid "The command %q is available in the %L plugins. Please specify the plugin whose command you wish to call by using its name as a command before %q." +msgstr "Il comando %q è disponibile nei plugin %L. Specifica in quale plugin si trova quello che desideri usare aggiungendo il suo nome prima di %q." + +#: ../src/callbacks.py:863 ../src/callbacks.py:876 +msgid "(XX more messages)" +msgstr "(XX altri messaggi)" + +#: ../src/callbacks.py:908 +msgid "more message" +msgstr "altro messaggio" + +#: ../src/callbacks.py:910 +msgid "more messages" +msgstr "altri messaggi" + +#: ../src/callbacks.py:1010 +msgid "" +"Determines what commands are currently disabled. Such\n" +" commands will not appear in command lists, etc. They will appear not even\n" +" to exist." +msgstr "" +"Determina quali comandi sono attualmente disabilitati. Questi non appariranno\n" +" nell'elenco dei comandi, ecc.; sarà come se non esistessero." + +#: ../src/callbacks.py:1201 +msgid "Invalid arguments for %s." +msgstr "Argomenti non validi per %s." + +#: ../src/callbacks.py:1227 +msgid "The %q command has no help." +msgstr "Il comando %q non ha un help." + +#: ../src/commands.py:171 +msgid "integer" +msgstr "intero" + +#: ../src/commands.py:182 +msgid "non-integer value" +msgstr "valore non intero" + +#: ../src/commands.py:193 +msgid "floating point number" +msgstr "numero in virgola mobile" + +#: ../src/commands.py:202 +msgid "positive integer" +msgstr "intero positivo" + +#: ../src/commands.py:206 +msgid "non-negative integer" +msgstr "intero non negativo" + +#: ../src/commands.py:209 +msgid "index" +msgstr "indice" + +#: ../src/commands.py:234 +msgid "number of seconds" +msgstr "numero di secondi" + +#: ../src/commands.py:241 +msgid "boolean" +msgstr "booleano" + +#: ../src/commands.py:255 +msgid "do that" +msgstr "fare ciò" + +#: ../src/commands.py:259 +msgid "I'm not even in %s." +msgstr "Non sono in %s." + +#: ../src/commands.py:261 +msgid "I need to be opped to %s." +msgstr "Devo essere op per %s." + +#: ../src/commands.py:278 +msgid "nick or hostmask" +msgstr "nick o hostmask" + +#: ../src/commands.py:330 ../src/commands.py:333 +msgid "regular expression" +msgstr "espressione regolare" + +#: ../src/commands.py:344 +msgid "That nick is too long for this server." +msgstr "Il nick è troppo lungo per questo server." + +#: ../src/commands.py:393 ../src/commands.py:412 +msgid "I'm not in %s." +msgstr "Non sono in %s." + +#: ../src/commands.py:397 +msgid "This command may only be given in a channel that I am in." +msgstr "Questo comando può essere dato solo in un canale in cui sono presente." + +#: ../src/commands.py:410 +msgid "You must be in %s." +msgstr "Devo essere in %s." + +#: ../src/commands.py:414 +msgid "channel" +msgstr "canale" + +#: ../src/commands.py:421 +msgid "%s is not in %s." +msgstr "%s non è in %s." + +#: ../src/commands.py:455 +msgid "You must not give the empty string as an argument." +msgstr "Non puoi darmi una stringa vuota come argomento." + +#: ../src/commands.py:472 +msgid "This message must be sent in a channel." +msgstr "Questo messaggio va inviato in canale." + +#: ../src/commands.py:518 +msgid "http url" +msgstr "URL HTTP" + +#: ../src/commands.py:525 +msgid "command name" +msgstr "nome comando" + +#: ../src/commands.py:533 +msgid "ip" +msgstr "IP" + +#: ../src/commands.py:539 +msgid "letter" +msgstr "lettera" + +#: ../src/commands.py:571 +msgid "plugin" +msgstr "plugin" + +#: ../src/commands.py:579 +msgid "irc color" +msgstr "colore IRC" + +#: ../src/conf.py:104 +msgid "" +"Determines whether this plugin is loaded\n" +" by default." +msgstr "Determina se questo plugin sia caricato in modo predefinito." + +#: ../src/conf.py:108 +msgid "" +"Determines whether this plugin is\n" +" publicly visible." +msgstr "Determina se questo plugin sia visibile pubblicamente." + +#: ../src/conf.py:194 +msgid "Determines the bot's default nick." +msgstr "Determina il nick predefinito del bot." + +#: ../src/conf.py:197 +msgid "" +"Determines what alternative\n" +" nicks will be used if the primary nick (supybot.nick) isn't available. A\n" +" %s in this nick is replaced by the value of supybot.nick when used. If no\n" +" alternates are given, or if all are used, the supybot.nick will be perturbed\n" +" appropriately until an unused nick is found." +msgstr "" +"Determina quali nick alternativi utilizzare se il principale (supybot.nick)\n" +" non è disponibile; un %s in questo nick è sostituito dal valore di supybot.nick.\n" +" Se non è fornita alcuna alternativa, o sono tutti in uso, supybot.nick sarà\n" +" modificato in modo appropriato finché ne trova uno non utilizzato." + +#: ../src/conf.py:204 +msgid "" +"Determines the bot's ident string, if the server\n" +" doesn't provide one by default." +msgstr "Determina l'ident (ciò che precede @ nella hostmask) nel caso in cui il server non ne fornisca una." + +#: ../src/conf.py:215 +msgid "" +"Determines the user the bot sends to the server.\n" +" A standard user using the current version of the bot will be generated if\n" +" this is left empty." +msgstr "" +"Determina il nome utente inviato al server dal bot. Se lasciato vuoto, ne verrà\n" +" generato uno standard utilizzando la versione del bot." + +#: ../src/conf.py:223 +msgid "Determines what networks the bot will connect to." +msgstr "Determina su quali reti si connetterà il bot." + +#: ../src/conf.py:264 +msgid "" +"Determines what password will be used on %s. Yes, we know that\n" +" technically passwords are server-specific and not network-specific,\n" +" but this is the best we can do right now." +msgstr "" +"Determina quale password utilizzare su %s. Sì, sappiamo che tecnicamente le password\n" +" sono specifiche per il server e non per la rete, ma per ora è il meglio che possiamo fare." + +#: ../src/conf.py:268 +msgid "" +"Determines what servers the bot will connect to for %s. Each will\n" +" be tried in order, wrapping back to the first when the cycle is\n" +" completed." +msgstr "" +"Determina a quali server si connetterà il bot per %s. Verranno provati in\n" +" ordine tornando al primo quando il ciclo è stato completato." + +#: ../src/conf.py:272 +msgid "Determines what channels the bot will join only on %s." +msgstr "Determina in quali canali di %s entrerà il bot." + +#: ../src/conf.py:275 +msgid "" +"Determines whether the bot will attempt to connect with SSL\n" +" sockets to %s." +msgstr "Determina se il bot tenterà di connettersi a %s tramite un socket SSL." + +#: ../src/conf.py:278 +msgid "" +"Determines what key (if any) will be used to join the\n" +" channel." +msgstr "Determina quale password (eventuale) verrà usata per entrare in canale." + +#: ../src/conf.py:298 +msgid "" +"Determines how timestamps\n" +" printed for human reading should be formatted. Refer to the Python\n" +" documentation for the time module to see valid formatting characters for\n" +" time formats." +msgstr "" +"Determina come formattare i timestamp affinché possano essere comprensibli.\n" +" Per sapere quali sono i formati validi fare riferimento alla documentazione\n" +" di Python per il modulo time." + +#: ../src/conf.py:312 +msgid "" +"Determines whether elapsed times will be given\n" +" as \"1 day, 2 hours, 3 minutes, and 15 seconds\" or as \"1d 2h 3m 15s\"." +msgstr "" +"Determina se il tempo trascorso sarà espresso nella forma \"1 giorno, 2 ore,\n" +" 3 minuti e 15 secondi\" o \"1d 2h 3m 15s\"." + +#: ../src/conf.py:322 +msgid "" +"Determines the absolute maximum length of\n" +" the bot's reply -- no reply will be passed through the bot with a length\n" +" greater than this." +msgstr "" +"Determina la lunghezza massima delle risposte; il bot non invierà alcuna risposta che supera questo valore." + +#: ../src/conf.py:327 +msgid "" +"Determines whether the bot will break up long\n" +" messages into chunks and allow users to use the 'more' command to get the\n" +" remaining chunks." +msgstr "" +"Determina se il bot separerà i messaggi lunghi in più parti permettendo\n" +" agli utenti di utilizzare il comando \"more\" per ottenere il resto." + +#: ../src/conf.py:332 +msgid "" +"Determines what the maximum number of\n" +" chunks (for use with the 'more' command) will be." +msgstr "Determina il numero massimo di parti (da utilizzare con il comando \"more\")." + +#: ../src/conf.py:336 +msgid "" +"Determines how long individual chunks\n" +" will be. If set to 0, uses our super-tweaked,\n" +" get-the-most-out-of-an-individual-message default." +msgstr "" +"Determina la lunghezza di ogni singolo pezzo. Se impostata a 0 permette\n" +" di usare il nostro super algoritmo per ottenere il più possibile da ogni messaggio." + +#: ../src/conf.py:341 +msgid "" +"Determines how many mores will be sent\n" +" instantly (i.e., without the use of the more command, immediately when\n" +" they are formed). Defaults to 1, which means that a more command will be\n" +" required for all but the first chunk." +msgstr "" +"Determina quanti pezzi saranno inviati immediatamente (ovvero senza utilizzare il comando\n" +" \"more\"). Impostato a 1 in modo predefinito, per cui viene ne viene visualizzato uno solo." + +#: ../src/conf.py:347 +msgid "" +"Determines whether the bot will send\n" +" multi-message replies in a single message or in multiple messages. For\n" +" safety purposes (so the bot is less likely to flood) it will normally send\n" +" everything in a single message, using mores if necessary." +msgstr "" +"Determina se il bot invierà le risposte multiple in uno o più messaggi. Per\n" +" ragioni di sicurezza (il bot è meno suscettibile a flood) mostrerà tutto\n" +" in un singolo messaggio e utilizzando \"more\" se necessario." + +#: ../src/conf.py:353 +msgid "" +"Determines whether the bot will reply with an\n" +" error message when it is addressed but not given a valid command. If this\n" +" value is False, the bot will remain silent, as long as no other plugins\n" +" override the normal behavior." +msgstr "" +"Determines se il bot risponderà con un messaggio di errore quando è chiamato\n" +" ma non si fornisce un comando valido. Se impostato a False rimarrà silenzioso,\n" +" a meno che altri plugin modifichino questo comportamento." + +#: ../src/conf.py:360 +msgid "" +"Determines whether error messages that result\n" +" from bugs in the bot will show a detailed error message (the uncaught\n" +" exception) or a generic error message." +msgstr "" +"Determina se i messaggi di errore causati da bug del bot saranno mostrati\n" +" in modo dettagliato (eccezione non gestita) o con un messaggio di errore generico." + +#: ../src/conf.py:364 +msgid "" +"Determines whether the bot will send error\n" +" messages to users in private. You might want to do this in order to keep\n" +" channel traffic to minimum. This can be used in combination with\n" +" supybot.reply.error.withNotice." +msgstr "" +"Determina se il bot invierà i messaggi di errore in privato; utile per ridurre il\n" +" traffico del canale. Può essere usato in combinazione con supybot.reply.error.withNotice." + +#: ../src/conf.py:369 +msgid "" +"Determines whether the bot will send error\n" +" messages to users via NOTICE instead of PRIVMSG. You might want to do this\n" +" so users can ignore NOTICEs from the bot and not have to see error\n" +" messages; or you might want to use it in combination with\n" +" supybot.reply.errorInPrivate so private errors don't open a query window\n" +" in most IRC clients." +msgstr "" +"Determina se il bot invierà i messaggi di errore tramite NOTICE anziché PRIVMSG.\n" +" Si può volerlo impostare in modo che gli utenti possano ignorare i NOTICE\n" +" provenienti dal bot oppure usarlo in combinazione con supybot.reply.errorInPrivate\n" +" affinché gli errori non causino l'apertura di una finestra privata nel client IRC." + +#: ../src/conf.py:376 +msgid "" +"Determines whether the bot will send an error\n" +" message to users who attempt to call a command for which they do not have\n" +" the necessary capability. You may wish to make this True if you don't want\n" +" users to understand the underlying security system preventing them from\n" +" running certain commands." +msgstr "" +"Determina se il bot invierà un messaggio di errore agli utenti che cercano di usare\n" +" un comando per cui non hanno le capacità necessarie. Si può volerlo impostare a\n" +" True per evitare che vengano a conoscenza del sistema di sicurezza sottostante\n" +" che impedisce loro di eseguire certi comandi." + +#: ../src/conf.py:383 +msgid "" +"Determines whether the bot will reply\n" +" privatelywhen replying in a channel, rather than replying to the whole\n" +" channel." +msgstr "Determina se il bot risponderà in privato piuttosto che in canale." + +#: ../src/conf.py:388 +msgid "" +"Determines whether the bot will reply with a\n" +" notice when replying in a channel, rather than replying with a privmsg as\n" +" normal." +msgstr "Determina se il bot risponderà con un notice piuttosto che in privato." + +#: ../src/conf.py:394 +msgid "" +"Determines whether the bot will reply with a\n" +" notice when it is sending a private message, in order not to open a /query\n" +" window in clients. This can be overridden by individual users via the user\n" +" configuration variable reply.withNoticeWhenPrivate." +msgstr "" +"Determina se il bot risponderà con un notice quando gli si invia un messaggio privato\n" +" per evitare di aprire una finestra nel client (una /query). Può essere modificato\n" +" per singolo utente tramite la variabile di configurazione reply.withNoticeWhenPrivate." + +#: ../src/conf.py:400 +msgid "" +"Determines whether the bot will always prefix\n" +" theuser's nick to its reply to that user's command." +msgstr "" +"Determina se il bot userà sempre il nick dell'utente come prefisso della risposta al comando richiesto." + +#: ../src/conf.py:404 +msgid "" +"Determines whether the bot should attempt to\n" +" reply to all messages even if they don't address it (either via its nick\n" +" or a prefix character). If you set this to True, you almost certainly want\n" +" to set supybot.reply.whenNotCommand to False." +msgstr "" +"Determina se il bot tenterà di rispondere a tutti i messaggi anche se non richiamato\n" +" (tramite il nick o il prefisso). Se impostato a True, si vorrà certamente\n" +" impostare supybot.reply.whenNotCommand a False." + +#: ../src/conf.py:410 +msgid "" +"Determines whether the bot will allow you to\n" +" send channel-related commands outside of that channel. Sometimes people\n" +" find it confusing if a channel-related command (like Filter.outfilter)\n" +" changes the behavior of the channel but was sent outside the channel\n" +" itself." +msgstr "" +"Determina se il bot permetterà di inviare comandi relativi al canale al di\n" +" fuori dello stesso. Talvolta gli utenti trovano disorientante che un\n" +" comando (come Filter.outfilter) modifichi il comportamento del canale\n" +" ma è stato inviato fuori da questo." + +#: ../src/conf.py:417 +msgid "" +"Determines whether the bot will unidentify\n" +" someone when that person changes his or her nick. Setting this to True\n" +" will cause the bot to track such changes. It defaults to False for a\n" +" little greater security." +msgstr "" +"Determina se il bot de-identificherà un utente quando questo cambia nick.\n" +" Impostandolo a True, il bot terrà traccia di questi cambiamenti; è\n" +" su False in modo predefinito per migliorare leggermente la sicurezza." + +#: ../src/conf.py:423 +msgid "" +"Determines whether the bot will always join a\n" +" channel when it's invited. If this value is False, the bot will only join\n" +" a channel if the user inviting it has the 'admin' capability (or if it's\n" +" explicitly told to join the channel using the Admin.join command)." +msgstr "" +"Determina se il bot entrerà sempre in un canale in cui è stato invitato. Se\n" +" impostato a False entrerà solo se l'utente che lo invita ha la capacità \"admin\"\n" +" (o se gli è stato esplicitamente detto di farlo tramite il comando Admin.join)." + +#: ../src/conf.py:429 +msgid "" +"Supybot normally replies with the full help\n" +" whenever a user misuses a command. If this value is set to True, the bot\n" +" will only reply with the syntax of the command (the first line of the\n" +" help) rather than the full help." +msgstr "" +"Quando un utente commette un errore inviando un comando, Supybot risponde\n" +" solitamente con l'help completo. Se questo valore è impostato a True,\n" +" il bot risponderà solo con la sintassi del comando (la prima riga dell'help)." + +#: ../src/conf.py:443 +msgid "" +"Determines what prefix characters the bot will\n" +" reply to. A prefix character is a single character that the bot will use\n" +" to determine what messages are addressed to it; when there are no prefix\n" +" characters set, it just uses its nick. Each character in this string is\n" +" interpreted individually; you can have multiple prefix chars\n" +" simultaneously, and if any one of them is used as a prefix the bot will\n" +" assume it is being addressed." +msgstr "" +"Definisce il prefisso con il quale risponderà il bot. Un prefisso è un carattere\n" +" che serve a determinare quali messaggi siano indirizzati ad esso; quando non\n" +" c'è un prefisso viene utilizzato il suo nick. Ogni carattere è interpretato\n" +" individualmente ed è possibile impostarne più di uno." + +#: ../src/conf.py:452 +msgid "" +"Determines what strings the\n" +" bot will reply to when they are at the beginning of the message. Whereas\n" +" prefix.chars can only be one character (although there can be many of\n" +" them), this variable is a space-separated list of strings, so you can\n" +" set something like '@@ ??' and the bot will reply when a message is\n" +" prefixed by either @@ or ??." +msgstr "" +"Determina a quali stringhe risponderà il bot quando queste sono all'inizio del\n" +" messaggio. Mentre con \"prefix.chars\" può essere solo un carattere (sebbene\n" +" possano essercene diversi) questa variabile è una lista separata da spazi,\n" +" per cui è possibile ad esempio impostare \"@@ ??\" e far sì che il bot\n" +" risponderà sia ad un messaggio prefissato da \"@@\" sia da \"??\"." + +#: ../src/conf.py:459 +msgid "" +"Determines whether the bot will reply when\n" +" people address it by its nick, rather than with a prefix character." +msgstr "" +"Determina se il bot risponderà quando gli utenti lo richiamano\n" +" tramite il nick piuttosto che con un prefisso." + +#: ../src/conf.py:462 +msgid "" +"Determines whether the bot will reply when\n" +" people address it by its nick at the end of the message, rather than at\n" +" the beginning." +msgstr "" +"Determina se il bot risponderà quando gli utenti lo richiamano\n" +" tramite il nick alla fine del messaggio piuttosto che all'inizio." + +#: ../src/conf.py:466 +msgid "" +"Determines what extra nicks\n" +" the bot will always respond to when addressed by, even if its current nick\n" +" is something else." +msgstr "" +"Determina a quali ulteriori nick risponderà il bot, anche se quello attuale è diverso." + +#: ../src/conf.py:476 +msgid "The operation succeeded." +msgstr "L'operazione è riuscita." + +#: ../src/conf.py:477 +msgid "" +"Determines what message the bot replies with when a command succeeded.\n" +" If this configuration variable is empty, no success message will be\n" +" sent." +msgstr "" +"Determina con quale messagggio risponderà il bot quando un comando è stato\n" +" effettuato con successo. Se questa variabile è vuota non verrà inviato alcun messaggio." + +#: ../src/conf.py:482 +msgid "" +"An error has occurred and has been logged.\n" +" Please contact this bot's administrator for more information." +msgstr "" +"Si è verificato un errore ed è stato registrato. Per ulteriori informazioni\n" +" contattare l'amministratore del bot." + +#: ../src/conf.py:483 +msgid "" +"\n" +" Determines what error message the bot gives when it wants to be\n" +" ambiguous." +msgstr "" +"\n" +" Determina quale messagggio di errore riporterà il bot quando non vuole essere preciso." + +#: ../src/conf.py:488 +msgid "" +"An error has occurred and has been logged.\n" +" Check the logs for more informations." +msgstr "" +"Si è verificato un errore ed è stato registrato. Per ulteriori informazioni controllare i log." + +#: ../src/conf.py:489 +msgid "" +"Determines what error\n" +" message the bot gives to the owner when it wants to be ambiguous." +msgstr "Determina quale messagggio di errore riporterà il bot all'owner quando non vuole essere preciso." + +#: ../src/conf.py:493 +msgid "" +"Your hostmask doesn't match or your password\n" +" is wrong." +msgstr "La tua hostmask non corrisponde o la password è errata." + +#: ../src/conf.py:494 +msgid "" +"Determines what message the bot replies with when\n" +" someone tries to use a command that requires being identified or having a\n" +" password and neither credential is correct." +msgstr "" +"Determina con quale messagggio risponderà il bot quando si prova a utilizzare un comando\n" +" per cui bisogna essere identificati, o ha una password, e le credenziali non sono corrette." + +#: ../src/conf.py:500 +msgid "" +"I can't find %s in my user\n" +" database. If you didn't give a user name, then I might not know what your\n" +" user is, and you'll need to identify before this command might work." +msgstr "" +"Non trovo %s nel database degli utenti. Se non fornisci un nome utente non posso\n" +" sapere quale sia e dovrai identificarti prima di utilizzare questo comando." + +#: ../src/conf.py:503 +msgid "" +"Determines what error message the bot replies with when someone tries\n" +" to accessing some information on a user the bot doesn't know about." +msgstr "" +"Determina con quale messagggio di errore risponderà il bot quando qualcuno\n" +" prova ad accedere a informazioni riguardanti un utente di cui il bot non sa nulla." + +#: ../src/conf.py:507 +msgid "" +"You must be registered to use this command.\n" +" If you are already registered, you must either identify (using the identify\n" +" command) or add a hostmask matching your current hostmask (using the\n" +" \"hostmask add\" command)." +msgstr "" +"Per utilizzare questo comando devi essere registrato. Se lo sei già devi identificarti\n" +" (tramite il comando \"identify\") o aggiungere una hostmask che corrisponda a quella\n" +" attuale (tramite il comando \"hostmask add\")." + +#: ../src/conf.py:510 +msgid "" +"Determines what error message the bot\n" +" replies with when someone tries to do something that requires them to be\n" +" registered but they're not currently recognized." +msgstr "" +"Determina con quale messagggio risponderà il bot quando si prova a fare qualcosa\n" +" per cui bisogna essere registrati ma non si è attualmente riconosciuti." + +#: ../src/conf.py:515 +msgid "" +"You don't have the %s capability. If you\n" +" think that you should have this capability, be sure that you are identified\n" +" before trying again. The 'whoami' command can tell you if you're\n" +" identified." +msgstr "" +"Non hai la capacità %s; se pensi di averla assicurati di essere identificato prima\n" +" di riprovare. Il comando \"whoami\" ti dirà se lo sei." + +#: ../src/conf.py:518 +msgid "" +"Determines what error message is given when the bot\n" +" is telling someone they aren't cool enough to use the command they tried to\n" +" use." +msgstr "" +"Determina quale messaggio di errore fornire quando il bot dice a qualcuno\n" +" di non avere accesso ad un certo comando." + +#: ../src/conf.py:523 +msgid "" +"You're missing some capability you need.\n" +" This could be because you actually possess the anti-capability for the\n" +" capability that's required of you, or because the channel provides that\n" +" anti-capability by default, or because the global capabilities include\n" +" that anti-capability. Or, it could be because the channel or\n" +" supybot.capabilities.default is set to False, meaning that no commands are\n" +" allowed unless explicitly in your capabilities. Either way, you can't do\n" +" what you want to do." +msgstr "" +"Ti manca qualche capacità necessaria. Questo potrebbe essere dovuto al fatto che\n" +" possiedi una anti-capacità per quella richiesta o perché il canale fornisce\n" +" quella anti-capacità in modo predefinito o, ancora, perché le capacità globali\n" +" includono tale anti-capacità. Oppure supybot.capabilities.default è impostata a\n" +" False, per cui non è permesso l'uso di alcun comando a meno che espressamente\n" +" specificato nelle tue capacità (da un amministratore). In ogni caso non ti è\n" +" permesso fare ciò che intendevi." + +#: ../src/conf.py:531 +msgid "" +"Determines what generic error message is given when the bot is telling\n" +" someone that they aren't cool enough to use the command they tried to use,\n" +" and the author of the code calling errorNoCapability didn't provide an\n" +" explicit capability for whatever reason." +msgstr "" +"Determina quale messaggio di errore generico fornire quando il bot dice a qualcuno\n" +" di non avere accesso ad un certo comando e l'autore del codice che richiama\n" +" errorNoCapability non ha fornito un'informazione esplicita sul motivo." + +#: ../src/conf.py:537 +msgid "" +"That operation cannot be done in a\n" +" channel." +msgstr "L'operazione non può essere eseguita in un canale." + +#: ../src/conf.py:538 +msgid "" +"Determines what error messages the bot sends to people\n" +" who try to do things in a channel that really should be done in\n" +" private." +msgstr "" +"Determina quale messaggio di errore invierà il bot a chi tenta di fare qualcosa\n" +" in canale e che dovrebbe invece fare in privato." + +#: ../src/conf.py:543 +msgid "" +"This may be a bug. If you think it is,\n" +" please file a bug report at\n" +" ." +msgstr "" +"Questo sembra essere un bug. Se pensi lo sia, invia una segnalazione all'indirizzo\n" +" ." + +#: ../src/conf.py:546 +msgid "" +"Determines what message the bot sends when it thinks you've\n" +" encountered a bug that the developers don't know about." +msgstr "" +"Determina quale messaggio invierà il bot quando pensa tu abbia trovato\n" +" un bug di cui gli sviluppatori non sono a conoscenza." + +#: ../src/conf.py:553 +msgid "" +"A floating point number of seconds to throttle\n" +" snarfed URLs, in order to prevent loops between two bots snarfing the same\n" +" URLs and having the snarfed URL in the output of the snarf message." +msgstr "" +"Un numero in virgola mobile corrispondente ai secondi di attesa prima di\n" +" intercettare lo stesso URL, in modo da evitare che due bot entrino in\n" +" un loop infinito intercettandosi a vicenda." + +#: ../src/conf.py:558 +msgid "" +"Determines the number of seconds\n" +" between running the upkeep function that flushes (commits) open databases,\n" +" collects garbage, and records some useful statistics at the debugging\n" +" level." +msgstr "" +"Determina il numero di secondi tra ogni operazione di mantenimento (flush) che\n" +" aggiorna i database, svuota la cache e registra le statistiche utili per il debug." + +#: ../src/conf.py:564 +msgid "" +"Determines whether the bot will periodically\n" +" flush data and configuration files to disk. Generally, the only time\n" +" you'll want to set this to False is when you want to modify those\n" +" configuration files by hand and don't want the bot to flush its current\n" +" version over your modifications. Do note that if you change this to False\n" +" inside the bot, your changes won't be flushed. To make this change\n" +" permanent, you must edit the registry yourself." +msgstr "" +"Determina se il bot salverà periodicamente su disco i dati e le configurazioni.\n" +" In genere l'unica occasione per impostarlo a False è quando si vuole modificare\n" +" i file manualmente ed evitare che il bot salvi invece i dati che ha in memoria;\n" +" se imposti il valore a False tramite il bot i cambiamenti non verranno salvati.\n" +" Se vuoi che questa modifica sia permanente devi modificare il registro a mano." + +#: ../src/conf.py:589 +msgid "" +"Determines what characters are valid for quoting\n" +" arguments to commands in order to prevent them from being tokenized.\n" +" " +msgstr "" +"Determina quali caratteri siano validi per citare gli argomenti dei comandi\n" +", ed evitare che vengano tokenizzati.\n" +" " + +#: ../src/conf.py:596 +msgid "" +"Determines whether the bot will allow nested\n" +" commands, which rule. You definitely should keep this on." +msgstr "" +"Determina se il bot permetterà comandi nidificati. È un'ottima\n" +" funzionalità, devi assolutamente tenerla attiva." + +#: ../src/conf.py:599 +msgid "" +"Determines what the maximum number of\n" +" nested commands will be; users will receive an error if they attempt\n" +" commands more nested than this." +msgstr "" +"Determina il numero massimo di comandi nidificati. Se gli utenti tentano\n" +" di utilizzarne di più, riceveranno un errore." + +#: ../src/conf.py:607 +msgid "" +"Supybot allows you to specify what brackets are\n" +" used for your nested commands. Valid sets of brackets include [], <>, and\n" +" {} (). [] has strong historical motivation, as well as being the brackets\n" +" that don't require shift. <> or () might be slightly superior because they\n" +" cannot occur in a nick. If this string is empty, nested commands will\n" +" not be allowed in this channel." +msgstr "" +"Supybot permette di specificare quale tipo di parentesi utilizzare per i comandi\n" +" nidificati; sono disponibili: [], <>, {} e (). [] hanno forti motivazioni storiche\n" +" in quanto non necessitano l'uso di shift. <> o () sono leggermente migliori perché\n" +" non utilizzabili in un nick. Se questa stringa è vuota i comandi nidificati non\n" +" saranno permessi." + +#: ../src/conf.py:614 +msgid "" +"Supybot allows nested commands. Enabling this\n" +" option will allow nested commands with a syntax similar to UNIX pipes, for\n" +" example: 'bot: foo | bar'." +msgstr "" +"Supybot permette i comandi nidificati. Abilitare questa opzione ne permetterà l'uso\n" +" con una sintassi simile alle pipe UNIX, ad esempio: 'bot: foo | bar'." + +#: ../src/conf.py:619 +msgid "" +"Determines what commands have default\n" +" plugins set, and which plugins are set to be the default for each of those\n" +" commands." +msgstr "" +"Determina, quando un comando è presente in più di un plugin, quale sarà utilizzato\n" +" in modo predefinito per ciascuno di questi comandi." + +#: ../src/conf.py:625 +msgid "" +"Determines what plugins automatically get precedence over all\n" +" other plugins when selecting a default plugin for a command. By\n" +" default, this includes the standard loaded plugins. You probably\n" +" shouldn't change this if you don't know what you're doing; if you do\n" +" know what you're doing, then also know that this set is\n" +" case-sensitive." +msgstr "" +"Determina quali plugin abbiano la precedenza su tutti gli altri quando se ne\n" +" seleziona uno predefinito per un certo comando; di default questo include\n" +" i plugin standard caricati. A meno che tu non sappia cosa fare, è probabile\n" +" tu non voglia modificare questo comportamento; in caso contrario sappi anche\n" +" che i nomi sono case sensitive." + +#: ../src/conf.py:640 +msgid "" +"Determines whether the bot will defend itself\n" +" against command-flooding." +msgstr "Determina se il bot si difenderà dall'uso di troppi comandi alla volta (flood)." + +#: ../src/conf.py:643 +msgid "" +"Determines how many commands users are\n" +" allowed per minute. If a user sends more than this many commands in any\n" +" 60 second period, he or she will be ignored for\n" +" supybot.abuse.flood.command.punishment seconds." +msgstr "" +"Determina quanti comandi al minuto permettere agli utenti. Se qualcuno supera\n" +" questo valore verrà ignorato per il numero di secondi definito nella variabile\n" +" supybot.abuse.flood.command.punishment." + +#: ../src/conf.py:648 +msgid "" +"Determines how many seconds the bot\n" +" will ignore users who flood it with commands." +msgstr "Determina per quanti secondi il bot ignorerà un utente che abusa dei comandi (flood)." + +#: ../src/conf.py:652 +msgid "" +"Determines whether the bot will defend itself\n" +" against invalid command-flooding." +msgstr "Determina se il bot si difenderà dall'uso di troppi comandi non validi alla volta (flood)." + +#: ../src/conf.py:655 +msgid "" +"Determines how many invalid commands users\n" +" are allowed per minute. If a user sends more than this many invalid\n" +" commands in any 60 second period, he or she will be ignored for\n" +" supybot.abuse.flood.command.invalid.punishment seconds. Typically, this\n" +" value is lower than supybot.abuse.flood.command.maximum, since it's far\n" +" less likely (and far more annoying) for users to flood with invalid\n" +" commands than for them to flood with valid commands." +msgstr "" +"Determina quanti comandi non validi al minuto permettere agli utenti. Se qualcuno supera\n" +" questo valore verrà ignorato per il numero di secondi definito nella variabile\n" +" supybot.abuse.flood.command.invalid.punishment. Solitamente questo valore è inferiore\n" +" a quello di supybot.abuse.flood.command.maximum, in quanto è meno probabile che un utente\n" +" abusi di comandi non validi piuttosto che di quelli validi." + +#: ../src/conf.py:663 +msgid "" +"Determines how many seconds the bot\n" +" will ignore users who flood it with invalid commands. Typically, this\n" +" value is higher than supybot.abuse.flood.command.punishment, since it's far\n" +" less likely (and far more annoying) for users to flood witih invalid\n" +" commands than for them to flood with valid commands." +msgstr "" +"Determina per quanti secondi il bot ignorerà un utente che abusa di comandi non validi (flood).\n" +" Solitamente questo valore è superiore a quello di supybot.abuse.flood.command.punishment,\n" +" in quanto è meno probabile che un utente abusi di comandi non validi piuttosto che di quelli validi." + +#: ../src/conf.py:669 +msgid "" +"Determines whether the bot will notify people\n" +" that they're being ignored for invalid command flooding." +msgstr "Determina se il bot avvertirà l'utente che è stato ignorato per abuso di comandi non validi (flood)." + +#: ../src/conf.py:678 +msgid "" +"Determines the default length of time a\n" +" driver should block waiting for input." +msgstr "" +"Determina la quantità di tempo predefinita durante il quale un driver\n" +" di rete debba bloccarsi in attesa dei dati in entrata." + +#: ../src/conf.py:685 +msgid "" +"Determines what driver module the bot\n" +" will use. Socket, a simple driver based on timeout sockets, is used by\n" +" default because it's simple and stable. Twisted is very stable and simple,\n" +" and if you've got Twisted installed, is probably your best bet." +msgstr "" +"Determina quale modulo per il driver di rete utilizzerà il bot. Socket, un driver\n" +" semplice basato su timeout del socket e usato in modo predefinito per la sua\n" +" stabilità. Twisted è molto stabile e semplice, se lo hai installato è\n" +" probabilmente la scelta migliore." + +#: ../src/conf.py:691 +msgid "" +"Determines the maximum time the bot will\n" +" wait before attempting to reconnect to an IRC server. The bot may, of\n" +" course, reconnect earlier if possible." +msgstr "" +"Determina il tempo massimo che il bot attenderà prima di riconnettersi al server\n" +" IRC. Se ne avrà la possibilità potrà comunque connettersi prima." + +#: ../src/conf.py:740 +msgid "" +"Determines what directory configuration data is\n" +" put into." +msgstr "Determina in quale directory collocare i dati di configurazione." + +#: ../src/conf.py:743 +msgid "Determines what directory data is put into." +msgstr "Determina in quale directory collocare i dati." + +#: ../src/conf.py:745 +msgid "" +"Determines what directory backup data is put\n" +" into." +msgstr "Determina in quale directory collocare i dati di backup." + +#: ../src/conf.py:748 +msgid "" +"Determines what directory temporary files\n" +" are put into." +msgstr "Determina in quale directory collocare i file temporanei." + +#: ../src/conf.py:755 +msgid "" +"Determines what directories\n" +" the bot will look for plugins in. Accepts a comma-separated list of\n" +" strings.\n" +" This means that to add another directory, you can nest the former value and\n" +" add a new one. E.g. you can say: bot: 'config supybot.directories.plugins\n" +" [config supybot.directories.plugins], newPluginDirectory'." +msgstr "" +"Determina in quali directory il bot cercherà i plugin. Accetta un elenco di valori\n" +" separati da virgola; ciò significa che se si vuole aggiungere un'altra directory\n" +" è possibile nidificare il valore precedente e inserirne uno nuovo. Esempio:\n" +" \"config supybot.directories.plugins [config supybot.directories.plugins], nuovaDirectory\"." + +#: ../src/conf.py:763 +msgid "" +"Determines what plugins will\n" +" be loaded." +msgstr "Determina quali plugin saranno caricati." + +#: ../src/conf.py:766 +msgid "" +"Determines whether the bot will always load\n" +" important plugins (Admin, Channel, Config, Misc, Owner, and User)\n" +" regardless of what their configured state is. Generally, if these plugins\n" +" are configured not to load, you didn't do it on purpose, and you still\n" +" want them to load. Users who don't want to load these plugins are smart\n" +" enough to change the value of this variable appropriately :)" +msgstr "" +"Determina se il bot caricherà sempre i plugin importanti (Admin, Channel, Config,\n" +" Misc, Owner e User) a prescindere da come siano configurati. In genere se questi\n" +" sono impostati per non essere caricati non è stato fatto di proposito e vorrai\n" +" comunque caricarli. Chi non vuole che questo avvenga sarà sufficientemente abile\n" +" nel modificare il valore di questa variabile in modo appropriato :)" + +#: ../src/conf.py:793 +msgid "" +"Determines what databases are available for use. If this\n" +" value is not configured (that is, if its value is empty) then sane defaults\n" +" will be provided." +msgstr "" +"Determina quali database rendere disponibili. Se non configurato (ovvero il\n" +" valore è vuoto) verrà utilizzato uno predefinito." + +#: ../src/conf.py:799 +msgid "" +"Determines what filename will be used\n" +" for the users database. This file will go into the directory specified by\n" +" the supybot.directories.conf variable." +msgstr "" +"Determina il nome del file utilizzato per il database degli utenti che finirà\n" +" nella directory specificata dalla variabile supybot.directories.conf." + +#: ../src/conf.py:803 +msgid "" +"Determines how long it takes identification to\n" +" time out. If the value is less than or equal to zero, identification never\n" +" times out." +msgstr "" +"Determina per quanto tempo rimarrà identificato un utente. Se il valore è\n" +" inferiore o uguale a zero l'identificazione non scadrà mai." + +#: ../src/conf.py:807 +msgid "" +"Determines whether the bot will allow users to\n" +" unregister their users. This can wreak havoc with already-existing\n" +" databases, so by default we don't allow it. Enable this at your own risk.\n" +" (Do also note that this does not prevent the owner of the bot from using\n" +" the unregister command.)\n" +" " +msgstr "" +"Determina se il bot permetterà agli utenti di de-registrarsi. Ciò può causare\n" +" danni ai database esistenti per cui non è permesso in modo predefinito;\n" +" abilitalo a tuo rischio. Nota che questo non impedisce al proprietario del\n" +" bot (owner) di utilizzare il comando \"unregister\".\n" +" " + +#: ../src/conf.py:816 +msgid "" +"Determines what filename will be used\n" +" for the ignores database. This file will go into the directory specified\n" +" by the supybot.directories.conf variable." +msgstr "" +"Determina il nome del file utilizzato per il database degli ignore che finirà\n" +" nella directory specificata dalla variabile supybot.directories.conf." + +#: ../src/conf.py:822 +msgid "" +"Determines what filename will be used\n" +" for the channels database. This file will go into the directory specified\n" +" by the supybot.directories.conf variable." +msgstr "Determina il nome del file utilizzato per il database dei canali che finirà\n" +" nella directory specificata dalla variabile supybot.directories.conf." + +#: ../src/conf.py:852 +msgid "" +"Determines whether database-based plugins that\n" +" can be channel-specific will be so. This can be overridden by individual\n" +" channels. Do note that the bot needs to be restarted immediately after\n" +" changing this variable or your db plugins may not work for your channel;\n" +" also note that you may wish to set\n" +" supybot.databases.plugins.channelSpecific.link appropriately if you wish\n" +" to share a certain channel's databases globally." +msgstr "" +"Determina se i plugin che utilizzano un database possano essere specifici per\n" +" un certo canale; ciò è sostituibile per ogni canale. Nota che il bot va\n" +" riavviato subito dopo la modifica di questa variabile altrimenti tali plugin\n" +" potrebbero non funzionare; se desideri condividere il database di un certo\n" +" canale a livello globale è inoltre possibile impostare la variabile\n" +" supybot.databases.plugins.channelSpecific.link in modo appropriato." + +#: ../src/conf.py:860 +msgid "" +"Determines what channel global\n" +" (non-channel-specific) databases will be considered a part of. This is\n" +" helpful if you've been running channel-specific for awhile and want to turn\n" +" the databases for your primary channel into global databases. If\n" +" supybot.databases.plugins.channelSpecific.link.allow prevents linking, the\n" +" current channel will be used. Do note that the bot needs to be restarted\n" +" immediately after changing this variable or your db plugins may not work\n" +" for your channel." +msgstr "" +"Determina quali database specifici per un certo canale saranno considerati parte\n" +" di uno globale. Utile se ne sono stati utilizzati di specifici per un certo\n" +" periodo e li si vuole convertire. Se la variabile supybot.databases.plugins.channelSpecific.link.allow\n" +" impedisce il collegamento verrà utilizzato il canale attuale. Nota che il bot va\n" +" riavviato subito dopo la modifica di questa variabile altrimenti tali plugin\n" +" potrebbero non funzionare." + +#: ../src/conf.py:869 +msgid "" +"Determines whether another channel's global\n" +" (non-channel-specific) databases will be allowed to link to this channel's\n" +" databases. Do note that the bot needs to be restarted immediately after\n" +" changing this variable or your db plugins may not work for your channel.\n" +" " +msgstr "" +"Determina se i database globali di un altro canale possano essere collegati a\n" +" quelli di questo canale. Nota che il bot va riavviato subito dopo la modifica\n" +" di questa variabile altrimenti tali plugin potrebbero non funzionare.\n" +" " + +#: ../src/conf.py:886 +msgid "" +"Determines\n" +" whether CDB databases will be allowed as a database implementation." +msgstr "Determina se i database CDB sono permessi come implementazione di un database." + +#: ../src/conf.py:889 +msgid "" +"Determines how often CDB databases will have\n" +" their modifications flushed to disk. When the number of modified records\n" +" is greater than this fraction of the total number of records, the database\n" +" will be entirely flushed to disk." +msgstr "" +"Determina la frequenza di salvataggio su disco delle modifiche dei databases CDB.\n" +" Quando il numero di dati modificati è più grande di quelli non modificati il\n" +" database verrà interamente scritto sul disco." + +#: ../src/conf.py:974 +msgid "" +"Determines what will be used as the\n" +" default banmask style." +msgstr "Determina il tipo di banmask utilizzata in modo predefinito." + +#: ../src/conf.py:978 +msgid "" +"Determines whether the bot will strictly follow\n" +" the RFC; currently this only affects what strings are considered to be\n" +" nicks. If you're using a server or a network that requires you to message\n" +" a nick such as services@this.network.server then you you should set this to\n" +" False." +msgstr "" +"Determina se il bot seguirà rigorosamente la RFC; attualmente riguarda solo quali\n" +" stringhe siano considerate dei nick. Se utilizzi un server o una rete che richiede\n" +" di inviare un messaggio a un nick nella forma \"services@this.network.server\", è\n" +" necessario impostare questo valore a False." + +#: ../src/conf.py:985 +msgid "" +"Determines what user modes the bot will request\n" +" from the server when it first connects. Many people might choose +i; some\n" +" networks allow +x, which indicates to the auth services on those networks\n" +" that you should be given a fake host." +msgstr "" +"Determina quali modalità utente (mode) il bot chiederà al server quando si connette.\n" +" Molti utenti vorranno +i mentre per altre reti è +x, indica ai servizi che si\n" +" desidera avere l'hostmask camuffata (vhost) o parzialmente crittata." + +#: ../src/conf.py:991 +msgid "" +"Determines what vhost the bot will bind to before\n" +" connecting to the IRC server." +msgstr "" +"Determina quale vhost associare al bot prima di connettersi al server IRC." + +#: ../src/conf.py:995 +msgid "" +"Determines how many old messages the bot will\n" +" keep around in its history. Changing this variable will not take effect\n" +" until the bot is restarted." +msgstr "" +"Determina quanti messaggi vecchi terrà il bot nella cronologia. La modifica\n" +" di questa variabile non avrà effetto finché non si riavvia il bot." + +#: ../src/conf.py:1000 +msgid "" +"A floating point number of seconds to throttle\n" +" queued messages -- that is, messages will not be sent faster than once per\n" +" throttleTime seconds." +msgstr "" +"Un numero in virgola mobile corrispondente ai secondi di attesa prima di\n" +" inviare i messaggi in coda; vale a dire che verranno inviati una volta\n" +" ogni numero di secondi specificati." + +#: ../src/conf.py:1005 +msgid "" +"Determines whether the bot will send PINGs to\n" +" the server it's connected to in order to keep the connection alive and\n" +" discover earlier when it breaks. Really, this option only exists for\n" +" debugging purposes: you always should make it True unless you're testing\n" +" some strange server issues." +msgstr "" +"Determina se il bot invierà PING al server sul quale è connesso per mantenere\n" +" attiva la connessione e diagnosticare in tempo se c'è un'interruzione.\n" +" In realtà questa opzione esiste solo per scopi di debug, a meno che non\n" +" si incontrino problemi strani con il server, andrebbe sempre tenuta a True." + +#: ../src/conf.py:1012 +msgid "" +"Determines the number of seconds between sending\n" +" pings to the server, if pings are being sent to the server." +msgstr "Determina il numero di secondi tra ogni invio di PING al server, se questo avviene." + +#: ../src/conf.py:1017 +msgid "" +"Determines whether the bot will refuse\n" +" duplicate messages to be queued for delivery to the server. This is a\n" +" safety mechanism put in place to prevent plugins from sending the same\n" +" message multiple times; most of the time it doesn't matter, unless you're\n" +" doing certain kinds of plugin hacking." +msgstr "" +"Determina se il bot rifiuterà di accodare messaggi doppi da spedire al server.\n" +" Questo è un meccanismo di sicurezza per evitare che i plugin inviino più volte\n" +" lo stesso messaggio; il più delle volte non ha importanza, tranne che non si\n" +" facciano delle modifiche ai plugin." + +#: ../src/conf.py:1025 +msgid "" +"Determines how many seconds must elapse between\n" +" JOINs sent to the server." +msgstr "Determina quanti secondi debbano trascorrere tra un invio di JOIN e l'altro." + +#: ../src/conf.py:1033 +msgid "" +"Determines how many bytes the bot will\n" +" 'peek' at when looking through a URL for a doctype or title or something\n" +" similar. It'll give up after it reads this many bytes, even if it hasn't\n" +" found what it was looking for." +msgstr "" +"Determina il numero di byte entro i quali il bot \"sbircierà\" cercando il doctype,\n" +" il title o altri tag HTML simili in un URL. Abbandonerà la ricerca dopo aver\n" +" letto questa quantità di byte, anche se non trova quel che stava cercando." + +#: ../src/conf.py:1039 +msgid "" +"Determines what proxy all HTTP requests should go\n" +" through. The value should be of the form 'host:port'." +msgstr "" +"Determina tramite quale proxy debbano passare le richieste HTTP.\n" +" Il valore deve essere nella forma \"host:porta\"." + +#: ../src/conf.py:1059 +msgid "Determines what host the HTTP server will bind." +msgstr "Determina a quale host si collegherà il server HTTP." + +#: ../src/conf.py:1061 +msgid "" +"Determines what port the HTTP server will\n" +" bind." +msgstr "Determina a quale porta si collegherà il server HTTP." + +#: ../src/conf.py:1064 +msgid "" +"Defines whether the server will stay alive if\n" +" no plugin is using it. This also means that the server will start even\n" +" if it is not used." +msgstr "" +"Definisce se il server rimarrà in esecuzione se nessun plugin lo utilizza.\n" +" Ciò significa che verrà avviato anche se non utilizzato." + +#: ../src/conf.py:1073 +msgid "" +"Determines whether the bot will ignore\n" +" unregistered users by default. Of course, that'll make it particularly\n" +" hard for those users to register or identify with the bot, but that's your\n" +" problem to solve." +msgstr "" +"Determina se il bot ignorerà gli utenti non registrati in modo predefinito.\n" +" Naturalmente renderà difficoltoso registrarsi o identificarsi, ma questo è un tuo problema." + +#: ../src/conf.py:1080 +msgid "" +"A string that is the external IP of the bot. If this is the\n" +" empty string, the bot will attempt to find out its IP dynamically (though\n" +" sometimes that doesn't work, hence this variable)." +msgstr "" +"Una stringa equivalente all'IP esterno del bot. Se lasciata vuota, il bot tenterà\n" +" di risolvere il suo IP dinamicamente (sebbene a volte non funzioni, ecco quindi\n" +" lo scopo di questa variabile)." + +#: ../src/conf.py:1094 +msgid "" +"Determines what the default timeout for socket\n" +" objects will be. This means that *all* sockets will timeout when this many\n" +" seconds has gone by (unless otherwise modified by the author of the code\n" +" that uses the sockets)." +msgstr "" +"Determina il timeout predefinito per i socket. Ciò significa che *tutti* i socket\n" +" scadranno dopo questo periodo (a meno che l'utore del codice ne abbia modificato il valore)." + +#: ../src/conf.py:1100 +msgid "" +"Determines what file the bot should write its PID\n" +" (Process ID) to, so you can kill it more easily. If it's left unset (as is\n" +" the default) then no PID file will be written. A restart is required for\n" +" changes to this variable to take effect." +msgstr "" +"Determina in quale file il bot salverà il suo PID (Process ID) in modo che si possa\n" +" terminare più facilmente. Se non impostata, il PID non verrà scritto in nessun\n" +" file. Perché le modifiche a questa variabile abbiano effetto è necessario un riavvio." + +#: ../src/conf.py:1110 +msgid "" +"Determines whether the bot will automatically\n" +" thread all commands." +msgstr "Determina se il bot userà i thread per tutti i comandi." + +#: ../src/conf.py:1113 +msgid "" +"Determines whether the bot will automatically\n" +" flush all flushers *very* often. Useful for debugging when you don't know\n" +" what's breaking or when, but think that it might be logged." +msgstr "" +"Determina se il bot eseguirà tutte le operazioni di mantenimento (flush) *molto*\n" +" spesso. Utile per fare il debug quando non si sa cosa non funziona o quando\n" +" si ritiene necessario tenerlo sotto controllo." + +#: ../src/questions.py:60 +msgid "Sorry, that response was not an option." +msgstr "Spiacente, questa risposta non è un'opzione." + +#: ../src/questions.py:106 +msgid "Sorry, you must enter a value." +msgstr "Spiacente, devi inserire un valore." + +#: ../src/questions.py:126 +msgid "Enter password: " +msgstr "Inserire la password: " + +#: ../src/questions.py:128 +msgid "Re-enter password: " +msgstr "Inserire nuovamente la password: " + +#: ../src/questions.py:141 +msgid "Passwords don't match." +msgstr "Le password non corrispondono." + +#: ../src/httpserver.py:129 +msgid "" +"\n" +" This is a default response of the Supybot HTTP server. If you see this\n" +" message, it probably means you are developing a plugin, and you have\n" +" neither overriden this message or defined an handler for this query." +msgstr "" +"\n" +" Questa è la risposta predefinita del server HTTP di Supybot. Se stai leggendo\n" +" questo messaggio significa probabilmente che stai sviluppando un plugin e non\n" +" hai sovrascritto questo messaggio o definito un gestore per questa query." + +#: ../src/httpserver.py:150 +msgid "" +"\n" +" I am a pretty clever IRC bot, but I suck at serving Web pages, particulary\n" +" if I don't know what to serve.\n" +" What I'm saying is you just triggered a 404 Not Found, and I am not\n" +" trained to help you in such a case." +msgstr "" +"\n" +" Sono un bot IRC piuttosto intelligente ma terribile quando è ora di servire pagine\n" +" web, in particolare se non cosa servire. Quel che sto cercando di dirti è che hai\n" +" appena causato un \"404 Not Found\" e non sono addestrato per aiutarti in questa circostanza." + +#: ../src/httpserver.py:167 +msgid "Request not handled." +msgstr "Richiesta non gestita." + +#: ../src/httpserver.py:171 +msgid "Supybot Web server index" +msgstr "Indice del server web di Supybot" + +#: ../src/httpserver.py:174 +msgid "Here is a list of the plugins that have a Web interface:" +msgstr "Ecco un elenco dei plugin che hanno un'interfaccia web:" + +#: ../src/httpserver.py:183 +msgid "No plugins available." +msgstr "Nessun plugin disponibile." + diff --git a/src/version.py b/src/version.py index cce296629..0fceb9923 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-06T18:51:45+0200)' +version = '0.83.4.1+limnoria (2011-08-06T18:53:15+0200)' From 4ac82fb4112caea2c917e2693603d564bdf032ee Mon Sep 17 00:00:00 2001 From: skizzhg Date: Sat, 6 Aug 2011 18:53:53 +0200 Subject: [PATCH 193/244] src/httpserver.py: fix typo. --- src/httpserver.py | 2 +- src/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/httpserver.py b/src/httpserver.py index bb4a4def1..ca7540931 100644 --- a/src/httpserver.py +++ b/src/httpserver.py @@ -126,7 +126,7 @@ class SupyHTTPServerCallback: name = "Unnamed plugin" defaultResponse = _(""" This is a default response of the Supybot HTTP server. If you see this - message, it probably means you are developping a plugin, and you have + message, it probably means you are developing a plugin, and you have neither overriden this message or defined an handler for this query.""") def doGet(self, handler, path, *args, **kwargs): diff --git a/src/version.py b/src/version.py index 0fceb9923..1adaf7240 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-06T18:53:15+0200)' +version = '0.83.4.1+limnoria (2011-08-06T18:53:53+0200)' From 1af08c27d7cfc507b4d3a09907a2b4297f213ba4 Mon Sep 17 00:00:00 2001 From: skizzhg Date: Sat, 6 Aug 2011 18:55:38 +0200 Subject: [PATCH 194/244] Admin & Channel & Games & Math & MessageParser & Misc & MoobotFactoids & Network & Nickometer & Owner & Praise & Relay & Reply & Topic & Unix & Web: update/add l10n-it. --- plugins/Admin/locale/it.po | 9 +-- plugins/Channel/locale/it.po | 6 +- plugins/Games/locale/it.po | 2 +- plugins/Math/locale/it.po | 2 +- plugins/MessageParser/locale/it.po | 6 +- plugins/Misc/locale/it.po | 7 +-- plugins/MoobotFactoids/locale/it.po | 4 +- plugins/Network/locale/it.po | 2 +- plugins/Nickometer/locale/it.po | 31 +++++++++ plugins/Owner/locale/it.po | 2 +- plugins/Praise/locale/it.po | 69 ++++++++++++++++++++ plugins/Relay/locale/it.po | 2 +- plugins/Reply/locale/it.po | 97 +++++++++++++++++++++++++++++ plugins/Topic/locale/it.po | 5 +- plugins/Unix/locale/it.po | 8 +-- plugins/Web/locale/it.po | 4 +- src/version.py | 2 +- 17 files changed, 226 insertions(+), 32 deletions(-) create mode 100644 plugins/Nickometer/locale/it.po create mode 100644 plugins/Praise/locale/it.po create mode 100644 plugins/Reply/locale/it.po diff --git a/plugins/Admin/locale/it.po b/plugins/Admin/locale/it.po index b4ef1108b..cdb6f5cf1 100644 --- a/plugins/Admin/locale/it.po +++ b/plugins/Admin/locale/it.po @@ -45,10 +45,10 @@ msgid "" " when attempting to join the channel.\n" " " msgstr "" -" []\n" +" []\n" "\n" -" Dice al bot di entrare nel canale specificato. Se è fornita, viene usata\n" -" quando si tenta di entrare nel canale.\n" +" Dice al bot di entrare nel canale specificato. Se è fornita,\n" +" viene usata quando si tenta di entrare nel canale.\n" " " #: plugin.py:147 @@ -101,7 +101,8 @@ msgid "" msgstr "" "[]\n" "\n" -" Cambia il nick del bot in . Se non ne viene fornito uno, riporta quello attuale.\n" +" Cambia il nicke del bot in . Se non ne viene fornito uno, restituisce\n" +" quello attuale.\n" " " #: plugin.py:222 diff --git a/plugins/Channel/locale/it.po b/plugins/Channel/locale/it.po index f9bef9f6d..82eca8842 100644 --- a/plugins/Channel/locale/it.po +++ b/plugins/Channel/locale/it.po @@ -109,16 +109,16 @@ msgid "" " if the message isn't sent in the channel itself.\n" " " msgstr "" -"[] []\n" +"[] []\n" "\n" -" Imposta in . Se non viene specificata, rimuove\n" +" Imposta in . Se non viene specificata, rimuove\n" " quella richiesta per entrare. è necessario solo se il messaggio\n" " non viene inviato nel canale stesso.\n" " " #: plugin.py:130 msgid "change the keyword" -msgstr "cambiare la chiave" +msgstr "cambiare la password" #: plugin.py:135 #, docstring diff --git a/plugins/Games/locale/it.po b/plugins/Games/locale/it.po index 2ec3363e9..6e2310b2a 100644 --- a/plugins/Games/locale/it.po +++ b/plugins/Games/locale/it.po @@ -85,7 +85,7 @@ msgid "" msgstr "" "[]\n" "\n" -" Porre una domanda e si otterrà una risposta.\n" +" Poni una domanda e otterrai una risposta.\n" " " #: plugin.py:121 diff --git a/plugins/Math/locale/it.po b/plugins/Math/locale/it.po index c63b75d1f..8704bacdf 100644 --- a/plugins/Math/locale/it.po +++ b/plugins/Math/locale/it.po @@ -65,7 +65,7 @@ msgstr "" #: plugin.py:166 plugin.py:220 msgid "There's really no reason why you should have underscores or brackets in your mathematical expression. Please remove them." -msgstr "Non v'è alcuna ragione di usare underscore o parentesi nelle espressioni matematiche; si prega di rimuoverli." +msgstr "Non v'è alcuna ragione di usare underscore o parentesi nelle espressioni matematiche; ti invito a rimuoverli." #: plugin.py:172 plugin.py:228 msgid "You can't use lambda in this command." diff --git a/plugins/MessageParser/locale/it.po b/plugins/MessageParser/locale/it.po index 10a56d7ed..b7dd261e6 100644 --- a/plugins/MessageParser/locale/it.po +++ b/plugins/MessageParser/locale/it.po @@ -52,8 +52,8 @@ msgid "" msgstr "" "Determina la capacità richiesta (eventuale) per gestire il database delle\n" " regexp che include aggiunta, rimozione, blocco e sblocco. Utilizzare\n" -" \"canale,capacità\" per le capacità del singolo canale. Si noti che\n" -" l'assenza di un'esplicita anti-capacità significa che l'utente può usare i comandi." +" \"canale,capacità\" per le capacità del singolo canale. L'assenza di\n" +" un'esplicita anti-capacità significa che l'utente può usare i comandi." #: config.py:77 msgid "" @@ -232,7 +232,7 @@ msgid "" "\n" " Lists regexps present in the triggers database.\n" " is only necessary if the message isn't sent in the channel\n" -" itself. Regexp ID listed in paretheses.\n" +" itself. Regexp ID listed in parentheses.\n" " " msgstr "" "[]\n" diff --git a/plugins/Misc/locale/it.po b/plugins/Misc/locale/it.po index bac13bbaa..c2144832c 100644 --- a/plugins/Misc/locale/it.po +++ b/plugins/Misc/locale/it.po @@ -83,10 +83,7 @@ msgstr "Non ci sono plugin pubblici." #: plugin.py:153 msgid "That plugin exists, but has no commands. This probably means that it has some configuration variables that can be changed in order to modify its behavior. Try \"config list supybot.plugins.%s\" to see what configuration variables it has." -msgstr "" -"Il plugin esiste ma non ha comandi. Ciò probabilmente significa che ha delle variabili\n" -" di configurazione modificabili che cambiano il suo comportamento. Prova\n" -" \"config list supybot.plugins.%s\" per vedere quali variabili sono disponibili." +msgstr "Il plugin esiste ma non ha comandi. Ciò probabilmente significa che ha delle variabili di configurazione modificabili che cambiano il suo comportamento. Prova \"config list supybot.plugins.%s\" per vedere quali variabili sono disponibili." #: plugin.py:164 #, docstring @@ -124,7 +121,7 @@ msgstr "" #: plugin.py:198 msgid "That command exists in the %L plugins. Please specify exactly which plugin command you want help with." -msgstr "Questo comando esiste nei plugin %L. Si prega di specificare per quale si vuole aiuto." +msgstr "Questo comando esiste nei plugin %L. Specifica per quale vuoi aiuto." #: plugin.py:205 msgid "There is no command %q." diff --git a/plugins/MoobotFactoids/locale/it.po b/plugins/MoobotFactoids/locale/it.po index 93aa05e0a..20b4a9e7a 100644 --- a/plugins/MoobotFactoids/locale/it.po +++ b/plugins/MoobotFactoids/locale/it.po @@ -230,8 +230,8 @@ msgid "" msgstr "" "[] \n" "\n" -" Elenca le chiavi dell'autore specificato. Si noti che se un autore ha un nome intero,\n" -" per usare questa funzione sarà necessario utilizzare il suo ID (per cui non usare nomi\n" +" Elenca le chiavi dell'autore specificato. Se un autore ha un nome intero, per\n" +" usare questa funzione sarà necessario utilizzare il suo ID (per cui non usare nomi\n" " interi!). è necessario solo se se il messaggio non viene inviato nel canale stesso.\n" " " diff --git a/plugins/Network/locale/it.po b/plugins/Network/locale/it.po index a76f6e838..5935f739e 100644 --- a/plugins/Network/locale/it.po +++ b/plugins/Network/locale/it.po @@ -132,7 +132,7 @@ msgstr " identificato" #: plugin.py:245 msgid "%s (%s) has been%s on server %s since %s (idle for %s) and %s.%s" -msgstr "%s (%s) era%s sul server %s dalle %s (inattivo da %s) e %s.%s" +msgstr "%s (%s) è%s sul server %s dalle %s (inattivo da %s) ed %s.%s" #: plugin.py:258 msgid "There is no %s on %s." diff --git a/plugins/Nickometer/locale/it.po b/plugins/Nickometer/locale/it.po new file mode 100644 index 000000000..b41467833 --- /dev/null +++ b/plugins/Nickometer/locale/it.po @@ -0,0 +1,31 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-12 17:05+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: plugin.py:84 +#, docstring +msgid "" +"[]\n" +"\n" +" Tells you how lame said nick is. If is not given, uses the\n" +" nick of the person giving the command.\n" +" " +msgstr "" +"[]\n" +"\n" +" Misura quanto sia lamer un nick. Se non è fornito, utilizza\n" +" quello della persona che ha dato il comando.\n" +" " + +#: plugin.py:226 +msgid "The \"lame nick-o-meter\" reading for \"%s\" is %s%%." +msgstr "Il \"nick-o-meter lamer\" per \"%s\" è %s%%." + diff --git a/plugins/Owner/locale/it.po b/plugins/Owner/locale/it.po index 2987f0492..32868920f 100644 --- a/plugins/Owner/locale/it.po +++ b/plugins/Owner/locale/it.po @@ -99,7 +99,7 @@ msgstr "" "non necessita argomenti\n" "\n" " Esegue tutti i periodici \"flusher\" in world.flushers. Ciò include\n" -" il savataggio su disco di tutti i log e tutte le modifiche di configurazione.\n" +" il salvataggio su disco di tutti i log e tutte le modifiche di configurazione.\n" " " #: plugin.py:376 diff --git a/plugins/Praise/locale/it.po b/plugins/Praise/locale/it.po new file mode 100644 index 000000000..6358b08fb --- /dev/null +++ b/plugins/Praise/locale/it.po @@ -0,0 +1,69 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-15 09:54+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: config.py:49 +msgid "" +"Determines whether the bot will show the ids of\n" +" a praise when the praise is given." +msgstr "" +"Determina se il bot mostrerà gli id\n" +" di un elogio quando questo viene dato." + +#: plugin.py:39 +#, docstring +msgid "" +"Praise is a plugin for ... well, praising things. Feel free to add\n" +" your own flavor to it by customizing what praises it gives. Use \"praise\n" +" add \" to add new ones, making sure to include \"$who\" in where\n" +" you want to insert the thing being praised.\n" +" " +msgstr "" +"Praise è un plugin per ... beh, elogiare cose. Sentitevi liberi di personalizzarlo\n" +" modificando gli elogi; utilizzare \"praise\ add \" per aggiungerne\n" +" di nuovi, e assicurarsi di includere \"$who\" alla posizione del in cui\n" +" si desidera che la cosa venga elogiata.\n" +" " + +#: plugin.py:53 +msgid "Praises must contain $who." +msgstr "Gli elogi devono contenere $who." + +#: plugin.py:57 +#, docstring +msgid "" +"[] [] [for ]\n" +"\n" +" Praises (for , if given). If is given, uses\n" +" that specific praise. is only necessary if the message isn't\n" +" sent in the channel itself.\n" +" " +msgstr "" +"[] [] [per ]\n" +"\n" +" Elogia (per il , se fornito). Se viene dato, usa\n" +" quello specifico elogio. è necessario solo se il messaggio non\n" +" viene inviato nel canale stesso.\n" +" " + +#: plugin.py:73 +msgid "There is no praise with id #%i." +msgstr "Non c'è nessun elogio con l'id #%i." + +#: plugin.py:78 +msgid "There are no praises in my database for %s." +msgstr "Non ci sono elogi per %s nel mio database." + +#: plugin.py:86 +msgid " for " +msgstr " per" + diff --git a/plugins/Relay/locale/it.po b/plugins/Relay/locale/it.po index ff8f8a90e..33e6a77b6 100644 --- a/plugins/Relay/locale/it.po +++ b/plugins/Relay/locale/it.po @@ -27,7 +27,7 @@ msgstr "Vuoi usare colori per distinguere i nick?" msgid "" "Determines whether the bot will color relayed\n" " PRIVMSGs so as to make the messages easier to read." -msgstr "Determina se il bot colorerà i PRIVMSG inoltrati per rendere più semplice la lettura." +msgstr "Determina se il bot colorerà i PRIVMSG inoltrati per renderne più semplice la lettura." #: config.py:62 msgid "" diff --git a/plugins/Reply/locale/it.po b/plugins/Reply/locale/it.po new file mode 100644 index 000000000..bc20d6d13 --- /dev/null +++ b/plugins/Reply/locale/it.po @@ -0,0 +1,97 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-06-15 12:49+0200\n" +"Last-Translator: skizzhg \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: plugin.py:37 +#, docstring +msgid "" +"This plugins contains a few commands that construct various types of\n" +" replies. Some bot owners would be wise to not load this plugin because it\n" +" can be easily abused.\n" +" " +msgstr "" +"Questo plugin contiene alcuni comandi per creare vari tipi di risposte.\n" +" Alcuni proprietari avranno l'accortezza di non caricarlo in quanto\n" +" se ne può abusare facilmente.\n" +" " + +#: plugin.py:43 +#, docstring +msgid "" +"\n" +"\n" +" Replies with in private. Use nested commands to your benefit\n" +" here.\n" +" " +msgstr "" +"\n" +"\n" +" Risponde con in privato. Utilizzare i comandi nidificati a proprio vantaggio." +" " + +#: plugin.py:53 +#, docstring +msgid "" +"\n" +"\n" +" Replies with as an action. Use nested commands to your benefit\n" +" here.\n" +" " +msgstr "" +"\n" +"\n" +" Risponde con come azione. Utilizzare i comandi nidificati a proprio vantaggio.\n" +" " + +#: plugin.py:66 +#, docstring +msgid "" +"\n" +"\n" +" Replies with in a notice. Use nested commands to your benefit\n" +" here. If you want a private notice, nest the private command.\n" +" " +msgstr "" +"\n" +"\n" +" Risponde con in un notice. Utilizzare i comandi nidificati a proprio vantaggio.\n" +" Se si desidera un notice privato, nidificare il comando private.\n" +" " + +#: plugin.py:76 +#, docstring +msgid "" +"\n" +"\n" +" Replies with . Equivalent to the alias, 'echo $nick: $1'.\n" +" " +msgstr "" +"\n" +"\n" +" Risponde con . Equivale all'alias \"echo $nick: $1\".\n" +" " + +#: plugin.py:85 +#, docstring +msgid "" +" [ ...]\n" +"\n" +" Replies with each of its arguments in separate replies, depending\n" +" the configuration of supybot.reply.oneToOne.\n" +" " +msgstr "" +" [ ...]\n" +"\n" +" Risponde con ognuno degli argomenti in risposte separate, in base\n" +" alla configurazione di supybot.reply.oneToOne.\n" +" " + diff --git a/plugins/Topic/locale/it.po b/plugins/Topic/locale/it.po index 9da4d1960..9eca92367 100644 --- a/plugins/Topic/locale/it.po +++ b/plugins/Topic/locale/it.po @@ -66,9 +66,8 @@ msgid "" " capability." msgstr "" "Determina le capacità richieste (eventuali) per le modifiche al topic (qualsiasi\n" -" operazione tranne la lettura). Utilizzare \"canale,capacità\" per le capacità\n" -" del singolo canale. Si noti che l'assenza di un'esplicita anti-capacità\n" -" significa che l'utente può usare i comandi." +" operazione tranne la lettura). Utilizzare \"canale,capacità\" per le capacità del singolo\n" +" canale. L'assenza di un'esplicita anti-capacità significa che l'utente può usare i comandi." #: plugin.py:57 msgid "I'm not currently in %s." diff --git a/plugins/Unix/locale/it.po b/plugins/Unix/locale/it.po index 95932b602..75d6402ae 100644 --- a/plugins/Unix/locale/it.po +++ b/plugins/Unix/locale/it.po @@ -266,9 +266,9 @@ msgid "" msgstr "" " \n" " Richiama qualsiai comando disponibile sul sistema e restituisce il suo\n" -" output; richiede la capacità owner. Si noti che essendo limitato al\n" -" proprietario, questo comando non fa alcun controllo su input e output;\n" -" per cui sta a voi assicurarvi di non eseguire nulla che possa inviare\n" -" molto testo in canale (flood) o che metta in ginocchio la vostra macchina.\n" +" output; richiede la capacità owner. Essendo limitato al proprietario,\n" +" questo comando non fa alcun controllo su input e output; per cui sta a\n" +" te assicurarti di non eseguire nulla che possa inviare molto testo in\n" +" canale (flood) o che metta in ginocchio la tua macchina.\n" " " diff --git a/plugins/Web/locale/it.po b/plugins/Web/locale/it.po index 3352d943f..7fa1dfe4e 100644 --- a/plugins/Web/locale/it.po +++ b/plugins/Web/locale/it.po @@ -70,12 +70,12 @@ msgid "" msgstr "" "\n" "\n" -" Restituisce la stringa DOCTYPE di . Naturalmente sono validi solo ULR HTTP.\n" +" Restituisce la stringa DOCTYPE di . Naturalmente sono validi solo URL HTTP.\n" " " #: plugin.py:143 msgid "That URL has no specified doctype." -msgstr "Questo URL non doctype specificato." +msgstr "Questo URL non ha un doctype specificato." #: plugin.py:148 #, docstring diff --git a/src/version.py b/src/version.py index 1adaf7240..49cc3f160 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-06T18:53:53+0200)' +version = '0.83.4.1+limnoria (2011-08-06T18:55:38+0200)' From a7c6a6337a5917bcbe87e74fc2f8e1836a54b9bf Mon Sep 17 00:00:00 2001 From: skizzhg Date: Sat, 6 Aug 2011 18:56:28 +0200 Subject: [PATCH 195/244] MessageParser: fix typo. --- plugins/MessageParser/plugin.py | 2 +- src/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/MessageParser/plugin.py b/plugins/MessageParser/plugin.py index 45385d878..b9fd2c754 100644 --- a/plugins/MessageParser/plugin.py +++ b/plugins/MessageParser/plugin.py @@ -372,7 +372,7 @@ class MessageParser(callbacks.Plugin, plugins.ChannelDBHandler): Lists regexps present in the triggers database. is only necessary if the message isn't sent in the channel - itself. Regexp ID listed in paretheses. + itself. Regexp ID listed in parentheses. """ db = self.getDb(channel) cursor = db.cursor() diff --git a/src/version.py b/src/version.py index 49cc3f160..751e159f5 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-06T18:55:38+0200)' +version = '0.83.4.1+limnoria (2011-08-06T18:56:28+0200)' From fb278f42fcae27942ab9cc0755fa02f5d69e8ec4 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 6 Aug 2011 18:57:56 +0200 Subject: [PATCH 196/244] MessageParser: update internationalization. --- plugins/MessageParser/locale/fi.po | 2 +- plugins/MessageParser/locale/fr.po | 2 +- plugins/MessageParser/messages.pot | 2 +- src/version.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/MessageParser/locale/fi.po b/plugins/MessageParser/locale/fi.po index c6bf14587..4e28cf37a 100644 --- a/plugins/MessageParser/locale/fi.po +++ b/plugins/MessageParser/locale/fi.po @@ -239,7 +239,7 @@ msgid "" "\n" " Lists regexps present in the triggers database.\n" " is only necessary if the message isn't sent in the channel\n" -" itself. Regexp ID listed in paretheses.\n" +" itself. Regexp ID listed in parentheses.\n" " " msgstr "" "[]\n" diff --git a/plugins/MessageParser/locale/fr.po b/plugins/MessageParser/locale/fr.po index 12b9d542f..cceaf348d 100644 --- a/plugins/MessageParser/locale/fr.po +++ b/plugins/MessageParser/locale/fr.po @@ -197,7 +197,7 @@ msgid "" "\n" " Lists regexps present in the triggers database.\n" " is only necessary if the message isn't sent in the channel\n" -" itself. Regexp ID listed in paretheses.\n" +" itself. Regexp ID listed in parentheses.\n" " " msgstr "" "[]\n" diff --git a/plugins/MessageParser/messages.pot b/plugins/MessageParser/messages.pot index 9c1d9ff07..50eb87378 100644 --- a/plugins/MessageParser/messages.pot +++ b/plugins/MessageParser/messages.pot @@ -189,7 +189,7 @@ msgid "" "\n" " Lists regexps present in the triggers database.\n" " is only necessary if the message isn't sent in the channel\n" -" itself. Regexp ID listed in paretheses.\n" +" itself. Regexp ID listed in parentheses.\n" " " msgstr "" diff --git a/src/version.py b/src/version.py index 751e159f5..afac00ca0 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-06T18:56:28+0200)' +version = '0.83.4.1+limnoria (2011-08-06T18:57:56+0200)' From 7e88bb1ce3ae5d548ed982296ae7613dc0957f9d Mon Sep 17 00:00:00 2001 From: skizzhg Date: Sun, 7 Aug 2011 11:16:04 +0200 Subject: [PATCH 197/244] Update l10n-it for many plugins. --- plugins/Admin/locale/it.po | 46 ++++++++++++++---------------- plugins/Alias/locale/it.po | 16 +++++------ plugins/Anonymous/locale/it.po | 10 +++---- plugins/AutoMode/locale/it.po | 6 ++-- plugins/BadWords/locale/it.po | 4 +-- plugins/Conditional/locale/it.po | 2 +- plugins/Config/locale/it.po | 14 ++++----- plugins/Ctcp/locale/it.po | 6 ++-- plugins/Dict/locale/it.po | 7 ++--- plugins/Factoids/locale/it.po | 4 +-- plugins/Filter/locale/it.po | 4 +-- plugins/Format/locale/it.po | 10 +++---- plugins/Google/locale/it.po | 2 +- plugins/Herald/locale/it.po | 6 ++-- plugins/Lart/locale/it.po | 2 +- plugins/Later/locale/it.po | 6 ++-- plugins/Limiter/locale/it.po | 2 +- plugins/Math/locale/it.po | 8 +++--- plugins/MessageParser/locale/it.po | 10 +++---- plugins/Misc/locale/it.po | 10 +++---- plugins/Network/locale/it.po | 14 ++++----- plugins/NickCapture/locale/it.po | 42 +++++++++++++++++---------- plugins/Note/locale/it.po | 2 +- plugins/Praise/locale/it.po | 8 +++--- plugins/RSS/locale/it.po | 2 +- plugins/Reply/locale/it.po | 8 +++--- plugins/Scheduler/locale/it.po | 6 ++-- plugins/Services/locale/it.po | 2 +- plugins/String/locale/it.po | 14 ++++----- plugins/Time/locale/it.po | 4 +-- plugins/URL/locale/it.po | 2 +- src/version.py | 2 +- 32 files changed, 144 insertions(+), 137 deletions(-) diff --git a/plugins/Admin/locale/it.po b/plugins/Admin/locale/it.po index cdb6f5cf1..1fb28a4e2 100644 --- a/plugins/Admin/locale/it.po +++ b/plugins/Admin/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-06 21:08+0200\n" +"PO-Revision-Date: 2011-07-31 10:07+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -66,8 +66,8 @@ msgid "" msgstr "" "non necessita argomenti\n" "\n" -" Restituisce i canali dove è presente il bot. Per preservare la segretezza\n" -" dei canali privati, deve essere richiesto in privato.\n" +" Restituisce i canali dove è presente il bot. Deve essere richiesto in\n" +" privato per preservare la segretezza dei canali privati.\n" " " #: plugin.py:166 @@ -80,7 +80,7 @@ msgstr "La mia connessione è limitata, non posso cambiare nick." #: plugin.py:179 msgid "Someone else is already using that nick." -msgstr "Qualcun altro sta utilizzando quel nick." +msgstr "Qualcun altro sta utilizzando questo nick." #: plugin.py:186 msgid "That nick is currently banned." @@ -101,7 +101,7 @@ msgid "" msgstr "" "[]\n" "\n" -" Cambia il nicke del bot in . Se non ne viene fornito uno, restituisce\n" +" Cambia il nick del bot in . Se non ne viene fornito uno, restituisce\n" " quello attuale.\n" " " @@ -118,10 +118,9 @@ msgid "" msgstr "" "[] []\n" "\n" -" Fornisce al bot l'elenco dei canali da cui uscire. è\n" -" necessario solo se si vuole far uscire il bot da un canale diverso da\n" -" quello attuale. Se viene specificato, verrà usato come messaggio\n" -" di uscita.\n" +" Fornisce al bot l'elenco dei canali da cui uscire. è necessario\n" +" solo se si vuole far uscire il bot da un canale diverso da quello attuale.\n" +" Se viene specificato, verrà usato come messaggio di uscita.\n" " " #: plugin.py:240 @@ -134,13 +133,13 @@ msgid "" " \n" "\n" " Gives the user specified by (or the user to whom \n" -" currently maps) the specified capability \n" +" currently maps) the specified capability .\n" " " msgstr "" " \n" "\n" -" Dà all'utente specificato da (o quello a cui corrisponde \n" -" attualmente) la capacità specificata\n" +" Dà all'utente specificato da (o quello a cui corrisponde\n" +" attualmente) la specificata.\n" " " #: plugin.py:272 @@ -149,7 +148,7 @@ msgstr "La capacità \"owner\" non può essere aggiunta al bot. Utilizzare il pr #: plugin.py:283 msgid "You can't add capabilities you don't have." -msgstr "Non è possibile aggiungere capacità che non si hanno." +msgstr "Non puoi aggiungere capacità che non hai." #: plugin.py:288 #, docstring @@ -162,17 +161,17 @@ msgid "" msgstr "" " \n" "\n" -" Rimuove l'utente specificato da (o quello a cui corrisponde \n" -" attualmente) la capacità specificata\n" +" Rimuove l'utente specificato da (o quello a cui corrisponde\n" +" attualmente) la specificata\n" " " #: plugin.py:300 msgid "That user doesn't have that capability." -msgstr "Questo utente non ha questa capacità." +msgstr "Questo utente non ha tale capacità." #: plugin.py:302 msgid "You can't remove capabilities you don't have." -msgstr "Non è possibile rimuovere capacità che non si hanno." +msgstr "Non puoi rimuovere capacità che non hai." #: plugin.py:310 #, docstring @@ -187,10 +186,10 @@ msgid "" msgstr "" " []\n" "\n" -" Imposta un ignore permanente su o l'hostmask\n" -" attualmente associata a . è un argomento opzionale\n" -" per specificare quando (in \"secondi a partire da subito\") scadrà l'ignore;\n" -" se non fornito, questo non scadrà mai.\n" +" Imposta un ignore permanente su o l'hostmask attualmente\n" +" associata a . è un argomento opzionale per specificare\n" +" quando (in \"secondi a partire da subito\") scadrà l'ignore; se non fornito,\n" +" questo non scadrà mai.\n" " " #: plugin.py:323 @@ -204,8 +203,7 @@ msgid "" msgstr "" "\n" "\n" -" Rimuove l'ignore persistente su o l'attuale\n" -" hostmask associata a .\n" +" Rimuove l'ignore persistente su o l'attuale hostmask associata a .\n" " " #: plugin.py:332 @@ -227,5 +225,5 @@ msgstr "" #: plugin.py:345 msgid "I'm not currently globally ignoring anyone." -msgstr "Al momento, a livello globale, non sto ignorando nessuno." +msgstr "Al momento non sto ignorando nessuno." diff --git a/plugins/Alias/locale/it.po b/plugins/Alias/locale/it.po index 23e79ddc7..1b85c3b57 100644 --- a/plugins/Alias/locale/it.po +++ b/plugins/Alias/locale/it.po @@ -76,7 +76,7 @@ msgstr "" #: plugin.py:254 msgid "That name isn't valid. Try %q instead." -msgstr "Nome non valido. Provare %q invece." +msgstr "Nome non valido. Prova %q invece." #: plugin.py:292 #, docstring @@ -93,12 +93,12 @@ msgid "" msgstr "" " \n" "\n" -" Definisce un alias che esegue . deve essere\n" -" nello standard \"comando argomento [comandonidificato argomento]\";\n" -" gli argomenti dati devono essere riportati in sequenza.\n" -" Per gli argomenti richiesti è possibile utilizzare $1, $2, ecc., mentre \n" -" @1, @2, ecc. per argomenti opzionali. $* significa semplicemente \"tutti\n" -" gli argomenti rimanenti\" e non possono essere combinati con quelli opzionali.\n" +" Definisce un che esegue . deve essere nello\n" +" standard \"comando argomento [comando_nidificato argomento]\"; gli\n" +" argomenti dati devono essere riportati in sequenza. Per gli argomenti\n" +" richiesti è possibile utilizzare $1, $2, ecc., mentre @1, @2, ecc. per\n" +" quelli opzionali. $* significa semplicemente \"tutti gli argomenti\n" +" rimanenti\" e non può essere combinato con quelli opzionali.\n" " " #: plugin.py:315 @@ -111,6 +111,6 @@ msgid "" msgstr "" "\n" "\n" -" Rimuove l'alias fornito, se sbloccato.\n" +" Rimuove l'alias specificato, se questo non è bloccato.\n" " " diff --git a/plugins/Anonymous/locale/it.po b/plugins/Anonymous/locale/it.po index 2c92736bb..35a93e4b4 100644 --- a/plugins/Anonymous/locale/it.po +++ b/plugins/Anonymous/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-09 14:39+0200\n" +"PO-Revision-Date: 2011-07-31 10:39+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -63,11 +63,11 @@ msgid "" " " msgstr "" "Questo plugin permette agli utenti di agire attraverso il bot in modo anonimo.\n" -" Il comando 'do' esegue un'azione anonima in un dato canale, mentre 'say'\n" -" permette di parlare tramite il bot. Giacché si può essere facilmente abusarne,\n" -" è possibile impostare supybot.plugins.Anonymous.requireCapability in modo che\n" +" Il comando \"do\" esegue un'azione anonima in un dato canale, mentre \"say\"\n" +" permette di parlare tramite il bot. Giacché si può facilmente abusarne, è\n" +" possibile impostare supybot.plugins.Anonymous.requireCapability in modo che\n" " solo gli utenti con determinate capacità possano usare il plugin. Per una\n" -" maggiore sicurezza si può richiedere con supybot.plugins.Anonymous.requirePresenceInChannel\n" +" maggiore sicurezza è ppossibile richiedere con supybot.plugins.Anonymous.requirePresenceInChannel\n" " che l'utente intenzionato a parlare anonimamente sia in canale; o anche, tramite\n" " supybot.plugins.Anonymous.requireRegistration, che l'utente sia registrato." " " diff --git a/plugins/AutoMode/locale/it.po b/plugins/AutoMode/locale/it.po index d9ec7bafa..831f833a6 100644 --- a/plugins/AutoMode/locale/it.po +++ b/plugins/AutoMode/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-27 18:15+0200\n" +"PO-Revision-Date: 2011-07-31 10:15+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -72,7 +72,7 @@ msgid "" "Determines whether the bot will automatically\n" " ban people who join the channel and are on the banlist." msgstr "" -"Determina se il bot bannerà automaticamente gli utenti che \n" +"Determina se il bot bannerà automaticamente gli utenti che\n" " entrano in canale e sono nella lista dei ban.\n" " " @@ -81,5 +81,5 @@ msgid "" "Determines how many seconds the bot\n" " will automatically ban a person when banning." msgstr "" -"Determina quanti secondi durerà il ban quando il bot lo applica a una persona." +"Determina quanti secondi durerà il ban applica a un utente." diff --git a/plugins/BadWords/locale/it.po b/plugins/BadWords/locale/it.po index 87ac2a5e3..c54f69e7e 100644 --- a/plugins/BadWords/locale/it.po +++ b/plugins/BadWords/locale/it.po @@ -84,8 +84,8 @@ msgid "" " plugins that do coloring or bolding of text." msgstr "" "Determina se il bot rimuoverà i caratteri di formattazione prima di controllare\n" -" che contengano parole volgari. Se impostato a False, sarà relativamente facile\n" -" aggirare i filtri di questo plugin. Tuttavia, se impostato a True, non interagirà\n" +" che contengano parole volgari. Se impostato a False sarà relativamente facile\n" +" aggirare i filtri di questo plugin; tuttavia se impostato a True non interagirà\n" " con altri plugin che colorano o rendono il testo grassetto." #: config.py:99 diff --git a/plugins/Conditional/locale/it.po b/plugins/Conditional/locale/it.po index 355d9f421..ca7747b55 100644 --- a/plugins/Conditional/locale/it.po +++ b/plugins/Conditional/locale/it.po @@ -39,7 +39,7 @@ msgstr "" "\n" " Esegue se analizzata è vera, esegue se falsa.\n" "\n" -" Utilizzare gli altri operatori logici presenti in questo plugin e i comandi nidificati a proprio vantaggio.\n" +" Utilizza gli altri operatori logici presenti in questo plugin e i comandi nidificati a tuo vantaggio.\n" " " #: plugin.py:97 diff --git a/plugins/Config/locale/it.po b/plugins/Config/locale/it.po index d05683704..a0b9a1ab7 100644 --- a/plugins/Config/locale/it.po +++ b/plugins/Config/locale/it.po @@ -67,8 +67,7 @@ msgstr "Globale: %s; %s: %s" #: plugin.py:185 msgid "That registry variable has no value. Use the list command in this plugin to see what variables are available in this group." -msgstr "Questa variabile di registro non ha alcun valore. Utilizzare il comando \"list\"\n" -" in questo plugin per vedere quali variabili sono disponibili per questo gruppo." +msgstr "Questa variabile di registro non ha un valore. Utilizzare il comando \"list\" in questo plugin per vedere quali variabili sono disponibili per questo gruppo." #: plugin.py:200 #, docstring @@ -126,8 +125,7 @@ msgstr " (Valore attuale: %s)" #: plugin.py:245 msgid "That configuration group exists, but seems to have no help. Try \"config list %s\" to see if it has any children values." -msgstr "Questo gruppo di configurazione esiste ma sembra non avere un help.\n" -" Provare \"config list %s\" per vedere se ha dei sottovalori." +msgstr "Questo gruppo di configurazione esiste ma sembra non avere un help. Prova \"config list %s\" per vedere se ha dei sottovalori." #: plugin.py:249 msgid "%s has no help." @@ -174,9 +172,9 @@ msgid "" msgstr "" "\n" "\n" -" Esporta le variabili di configurazione in . Se si vuole\n" -" mostrare a qualcuno il proprio file di configurazione evitando di\n" -" rivelare dati sensibili come le password, questo comando creerà un\n" -" file \"pulito\" adatto ad essere mostrato pubblicamente.\n" +" Esporta le variabili di configurazione in . Se vuoi\n" +" mostrare a qualcuno il tuo file di configurazione evitando di\n" +" rivelare dati sensibili come le password, questo comando creerà\n" +" un file \"pulito\" adatto ad essere mostrato pubblicamente.\n" " " diff --git a/plugins/Ctcp/locale/it.po b/plugins/Ctcp/locale/it.po index 9501f9af7..7169ebbe8 100644 --- a/plugins/Ctcp/locale/it.po +++ b/plugins/Ctcp/locale/it.po @@ -58,9 +58,9 @@ msgid "" msgstr "" "[] [--nicks]\n" "\n" -" Invia un a CTCP VERSION a restituendo le varie stringhe\n" -" ricevute. Attende 10 secondi prima di mostrare le versioni ricevute\n" +" Invia un CTCP VERSION a restituendo le varie stringhe\n" +" ricevute. Attende 10 secondi prima di mostrare le versioni ottenute\n" " fino a quel momento. Se --nicks è specificato, i nick sono associati\n" -" con le stringhe di versione; altrimenti vengono fornite solo le stringhe.\n" +" alle stringhe di versione; altrimenti vengono fornite solo le stringhe.\n" " " diff --git a/plugins/Dict/locale/it.po b/plugins/Dict/locale/it.po index 2c13fa596..ca5194dee 100644 --- a/plugins/Dict/locale/it.po +++ b/plugins/Dict/locale/it.po @@ -23,8 +23,7 @@ msgstr "Vuoi specificare un server dictd diverso?" msgid "" "Determines what server the bot will\n" " retrieve definitions from." -msgstr "" -"Determina da quale server il bot recupererà le definizioni." +msgstr "Determina da quale server il bot recupererà le definizioni." #: config.py:48 msgid "" @@ -108,8 +107,8 @@ msgstr "" "\n" " Ricava un sinonimo casuale dal database di Moby Thesaurus (moby-thes).\n" "\n" -" Se si sono fornite più parole, ottiene un sinonimo casuale per ognuna.\n" +" Se sono state fornite più parole ottiene un sinonimo casuale per ognuna.\n" "\n" -" Affinché esse vengano trattate come un'unica frase, racchiuderle tra virgolette.\n" +" Affinché vengano trattate come un'unica frase racchiuderle tra virgolette.\n" " " diff --git a/plugins/Factoids/locale/it.po b/plugins/Factoids/locale/it.po index 28f983b3a..979c5720f 100644 --- a/plugins/Factoids/locale/it.po +++ b/plugins/Factoids/locale/it.po @@ -271,7 +271,7 @@ msgstr "Numero di factoid non valido." #: plugin.py:552 msgid "%s factoids have that key. Please specify which one to remove, or use * to designate all of them." -msgstr "%s factoid hanno questa chiave; specificare quale si desidera rimuovere o utilizzare * per definirli tutti." +msgstr "%s factoid hanno questa chiave; specifica quale desideri rimuovere o utilizza * per definirli tutti." #: plugin.py:560 #, docstring @@ -357,5 +357,5 @@ msgstr "Nessuna chiave corrisponde a questa richiesta." #: plugin.py:697 plugin.py:706 msgid "More than 100 keys matched that query; please narrow your query." -msgstr "A questa richiesta corrispondono più di 100 chiavi, restringere la ricerca." +msgstr "A questa richiesta corrispondono più di 100 chiavi, restringi la ricerca." diff --git a/plugins/Filter/locale/it.po b/plugins/Filter/locale/it.po index b0ed09f82..6a0870f6d 100644 --- a/plugins/Filter/locale/it.po +++ b/plugins/Filter/locale/it.po @@ -245,8 +245,8 @@ msgid "" msgstr "" "\n" "\n" -" Risponde con una stringa dove ogni parola è mescolata; ovvero ogni\n" -" lettera interna (tutte le lettere tranne la prima e l'ultima) sono mischiate.\n" +" Risponde con una stringa dove ogni parola è mescolata; ovvero ogni lettera\n" +" interna (tutte le lettere tranne la prima e l'ultima) è mischiata con le altre.\n" " " #: plugin.py:345 diff --git a/plugins/Format/locale/it.po b/plugins/Format/locale/it.po index bb0c18d13..e2ae21a98 100644 --- a/plugins/Format/locale/it.po +++ b/plugins/Format/locale/it.po @@ -61,7 +61,7 @@ msgid "" msgstr "" " [] \n" "\n" -" Restituisce con colore e colore di fondo (se specificato)\n" +" Restituisce con colore di e colore di (se specificato)\n" " " #: plugin.py:80 @@ -95,7 +95,7 @@ msgstr "" #: plugin.py:96 msgid " must be the same length as ." -msgstr " devono essere della stessa lunghezza di ." +msgstr " deve essere della stessa lunghezza di ." #: plugin.py:103 #, docstring @@ -189,8 +189,8 @@ msgid "" msgstr "" " \n" "\n" -" Concatena due stringhe. Notare che non è come unire con \"\", dal momento\n" -" che se contiene spazi, questi non verranno rimossi da concat.\n" +" Concatena due stringhe. Nota che non è come unire con \"\", dal momento\n" +" che se contiene spazi questi non verranno rimossi da concat.\n" " " #: plugin.py:168 @@ -238,7 +238,7 @@ msgstr "" " [ ...]\n" "\n" " Espande un formato di stringa in stile Python utilizzando gli argomenti\n" -" restanti. Assicurarsi di usare sempre %s, non %d o %f o altro, in quanto\n" +" restanti. Assicurati di usare sempre %s, non %d o %f o altro, in quanto\n" " tutti gli argomenti sono stringhe.\n" " " diff --git a/plugins/Google/locale/it.po b/plugins/Google/locale/it.po index 2548b9055..1dcbe751b 100644 --- a/plugins/Google/locale/it.po +++ b/plugins/Google/locale/it.po @@ -188,7 +188,7 @@ msgid "" msgstr "" " [ ...]\n" "\n" -" Restituisce i risultati di ogni ricerca in ordine, dal più grande al più piccolo.\n" +" Restituisce i risultati di ogni ricerca in ordine decrescente in base al numero di risultati.\n" " " #: plugin.py:252 diff --git a/plugins/Herald/locale/it.po b/plugins/Herald/locale/it.po index dd5e96602..4d4140418 100644 --- a/plugins/Herald/locale/it.po +++ b/plugins/Herald/locale/it.po @@ -50,7 +50,7 @@ msgid "" " after a netsplit that the bot will not herald the users that split." msgstr "" "Determina il numero minimo di secondi dopo un netsplit durante i quali\n" -" il bot non nvierà l'annuncio agli utenti coinvolti." +" il bot non invierà l'annuncio agli utenti coinvolti." #: config.py:63 msgid "" @@ -88,8 +88,8 @@ msgid "" msgstr "" "[] [--remove|]\n" "\n" -" Se è fornito, imposta l'annuncio predefinito a .\n" -" Un nella forma \"\" rimuoverà il predefinito. Se \n" +" Se è fornito, imposta l'annuncio predefinito a ;\n" +" un nella forma \"\" rimuoverà il predefinito. Se \n" " non è specificato, restituisce l'attuale annuncio. è necessario\n" " solo se il messaggio non viene inviato nel canale stesso.\n" " " diff --git a/plugins/Lart/locale/it.po b/plugins/Lart/locale/it.po index 60f8eb2dc..0118a7993 100644 --- a/plugins/Lart/locale/it.po +++ b/plugins/Lart/locale/it.po @@ -34,7 +34,7 @@ msgid "" msgstr "" "[] [] [per ]\n" "\n" -" Utilizza il Luser Attitude Readjustment Tool su (per il ,\n" +" Utilizza il Luser Attitude Readjustment Tool su (per ,\n" " se fornito). Se viene dato, usa quello specifico lart. è\n" " necessario solo se il messaggio non viene inviato nel canale stesso.\n" " " diff --git a/plugins/Later/locale/it.po b/plugins/Later/locale/it.po index cfda95fb1..520b48e0d 100644 --- a/plugins/Later/locale/it.po +++ b/plugins/Later/locale/it.po @@ -55,7 +55,7 @@ msgid "" msgstr "" "Utilizzato per fare cose in seguito; attualmente permette solo l'invio di note basate\n" " sul nick. Nota (haha!) che queste note *non* sono private e non sono state progettate\n" -" per esserlo; se si vuole questa caratteristica, considerare l'utilizzo del plugin Note." +" per esserlo; se vuoi questa caratteristica considera l'utilizzo del plugin Note." #: plugin.py:84 msgid "%s ago" @@ -113,7 +113,7 @@ msgstr "Non posso inviare note a me stesso." #: plugin.py:169 msgid "That person's message queue is already full." -msgstr "La coda dei messaggi di quell'utente è già piena." +msgstr "La coda dei messaggi di questo utente è già piena." #: plugin.py:174 #, docstring @@ -132,7 +132,7 @@ msgstr "" #: plugin.py:185 msgid "I have no notes for that nick." -msgstr "Non ho note per quel nick." +msgstr "Non ho note per questo nick." #: plugin.py:190 msgid "I currently have notes waiting for %L." diff --git a/plugins/Limiter/locale/it.po b/plugins/Limiter/locale/it.po index ccab1b499..fff917e78 100644 --- a/plugins/Limiter/locale/it.po +++ b/plugins/Limiter/locale/it.po @@ -17,7 +17,7 @@ msgid "" " channel limit to be slightly above the current number of people in the\n" " channel, in order to make clone/drone attacks harder." msgstr "" -"Determina se il bot manterrà il limite del canale leggermente al di sopra\n" +"Determina se il bot manterrà il limite del canale appena al di sopra\n" " del numero di persone attualmente presenti, in modo da rendere più\n" " difficili gli attacchi di cloni o droni." diff --git a/plugins/Math/locale/it.po b/plugins/Math/locale/it.po index 8704bacdf..5bd0e74b8 100644 --- a/plugins/Math/locale/it.po +++ b/plugins/Math/locale/it.po @@ -21,8 +21,8 @@ msgid "" msgstr "" " [] \n" "\n" -" Converte un numero da una base ad un'altra.\n" -" Se non è specificato, converte in decimale.\n" +" Converte un numero da una base a un'altra.\n" +" Se non è specificata, converte in decimale.\n" " " #: plugin.py:63 @@ -77,7 +77,7 @@ msgstr "La risposta ha superato %s." #: plugin.py:204 plugin.py:238 msgid "Something in there wasn't a valid number." -msgstr "Qualcosa non equivaleva ad un numero valido." +msgstr "Qualcosa non equivaleva a un numero valido." #: plugin.py:206 plugin.py:240 msgid "%s is not a defined function." @@ -137,7 +137,7 @@ msgstr "" "[] ad \n" "\n" " Converte da ad . Se non è specificato,\n" -" usa 1 come predefinito. Per informazioni sulle unità, utilizzare il comando \"units\".\n" +" usa 1 come predefinito. Per informazioni sulle unità, utilizza il comando \"units\".\n" " " #: plugin.py:314 diff --git a/plugins/MessageParser/locale/it.po b/plugins/MessageParser/locale/it.po index b7dd261e6..f7eb307f0 100644 --- a/plugins/MessageParser/locale/it.po +++ b/plugins/MessageParser/locale/it.po @@ -51,7 +51,7 @@ msgid "" " capability." msgstr "" "Determina la capacità richiesta (eventuale) per gestire il database delle\n" -" regexp che include aggiunta, rimozione, blocco e sblocco. Utilizzare\n" +" regexp che include aggiunta, rimozione, blocco e sblocco. Utilizza\n" " \"canale,capacità\" per le capacità del singolo canale. L'assenza di\n" " un'esplicita anti-capacità significa che l'utente può usare i comandi." @@ -69,7 +69,7 @@ msgid "" " Use 'add' command to add regexp trigger, 'remove' to remove." msgstr "" "Questo plugin può definire dei trigger basati su regexp per attivare il bot.\n" -" Utilizzare il comando \"add\" per aggiungerne e \"remove\" per rimuoverle." +" Utilizza il comando \"add\" per aggiungerne e \"remove\" per rimuoverle." #: plugin.py:83 #, docstring @@ -79,7 +79,7 @@ msgstr "Crea il database e ci si connette." #: plugin.py:106 #, docstring msgid "Use this to get a database for a specific channel." -msgstr "Utilizzarlo per ottenere un database per un canale specifico." +msgstr "Utilizzalo per ottenere un database per un canale specifico." #: plugin.py:129 #, docstring @@ -278,8 +278,8 @@ msgid "" msgstr "" "[]\n" "\n" -" Svuota il database di . Consultare la documentazione di SQLite relativa\n" -" all'indirizzo http://www.sqlite.org/lang_vacuum.html Controllare prima se l'utente\n" +" Svuota il database di . Consulta la documentazione di SQLite relativa\n" +" all'indirizzo http://www.sqlite.org/lang_vacuum.html e controlla prima se l'utente\n" " ha la capacità richiesta specificata nella variabile requireVacuumCapability.\n" " è necessario solo se il messaggio non viene inviato nel canale stesso.\n" " " diff --git a/plugins/Misc/locale/it.po b/plugins/Misc/locale/it.po index c2144832c..887a0baea 100644 --- a/plugins/Misc/locale/it.po +++ b/plugins/Misc/locale/it.po @@ -30,7 +30,7 @@ msgid "" " variable to the empty string, the timestamp will not be shown." msgstr "" "Determina il formato per i timestamp del comando Misc.last. Per sapere quali sono\n" -" i formati validi fare riferimento alla documentazione di Python per il modulo time.\n" +" i formati validi fai riferimento alla documentazione di Python per il modulo time.\n" " Se si assegna una stringa vuota a questa variabile, il timestamp non verrà mostrato." #: config.py:57 @@ -55,7 +55,7 @@ msgstr "Mi hai fornito %s comandi non validi entro l'ultimo minuto; ti ignoro pe #: plugin.py:93 msgid "The %q plugin is loaded, but there is no command named %q in it. Try \"list %s\" to see the commands in the %q plugin." -msgstr "Il plugin %q è caricato ma in esso non c'è nessun comando chiamato %q. Prova \"list %s\" per vedere i comandi disponibili nel plugin %q." +msgstr "Il plugin %q è caricato ma non ha nessun comando chiamato %q. Prova \"list %s\" per vedere i comandi disponibili nel plugin %q." #: plugin.py:119 #, docstring @@ -83,7 +83,7 @@ msgstr "Non ci sono plugin pubblici." #: plugin.py:153 msgid "That plugin exists, but has no commands. This probably means that it has some configuration variables that can be changed in order to modify its behavior. Try \"config list supybot.plugins.%s\" to see what configuration variables it has." -msgstr "Il plugin esiste ma non ha comandi. Ciò probabilmente significa che ha delle variabili di configurazione modificabili che cambiano il suo comportamento. Prova \"config list supybot.plugins.%s\" per vedere quali variabili sono disponibili." +msgstr "Il plugin esiste ma non ha comandi. Probabilmente significa che ha delle variabili di configurazione modificabili che cambiano il suo comportamento. Prova \"config list supybot.plugins.%s\" per vedere quali sono disponibili." #: plugin.py:164 #, docstring @@ -255,7 +255,7 @@ msgid "" msgstr "" " \n" "\n" -" Dice a . Utilizzare i comandi nidificati a proprio vantaggio.\n" +" Dice a . Utilizza i comandi nidificati a tuo vantaggio.\n" " " #: plugin.py:409 @@ -264,7 +264,7 @@ msgstr "Dammi il comando, non c'è bisogno di usare \"tell\"." #: plugin.py:414 msgid "You just told me, why should I tell myself?" -msgstr "Me l'hai appena detto, perché dovrei dirlo a me stesso?" +msgstr "Me l'hai appena detto, perché dovrei ripetermelo?" #: plugin.py:419 msgid "I haven't seen %s, I'll let you do the telling." diff --git a/plugins/Network/locale/it.po b/plugins/Network/locale/it.po index 5935f739e..b6281a336 100644 --- a/plugins/Network/locale/it.po +++ b/plugins/Network/locale/it.po @@ -25,7 +25,7 @@ msgid "" msgstr "" "[--ssl] [] []\n" "\n" -" Si connette ad un'altra rete (rappresentata dal nome dato in ) su\n" +" Si connette a un'altra rete (rappresentata dal nome dato a ) su\n" " . Se la porta non è fornita usa la 6667, quella predefinita per\n" " IRC. Se viene specificata la password sarà inviata al server tramite il comando\n" " PASS. Se --ssl è specificato, sarà richiesta una connessione SSL.\n" @@ -56,9 +56,9 @@ msgid "" msgstr "" "[] []\n" "\n" -" Si disconnette dalla rete (rappresentata dal nome dato in ).\n" +" Si disconnette dalla rete (rappresentata dal nome dato a ).\n" " Se è specificato, esce con tale messaggio.\n" -" è necessaria solo se la rete è differente da quella in cui è inviato il comando.\n" +" è necessaria solo se la rete è differente da quella sulla quale è inviato il comando.\n" " " #: plugin.py:114 @@ -80,7 +80,7 @@ msgstr "" "[] []\n" "\n" " Si disconnette da e si riconnette. è necessaria solo se la rete\n" -" è differente da quella in cui è inviato il comando. Se non viene specificato un\n" +" è differente da quella sulla quale è inviato il comando. Se non viene specificato un\n" " messaggio di uscita, utilizza quello configurato in supybot.plugins.Owner.quitMsg\n" " o il nick di chi ha dato il comando.\n" " " @@ -151,7 +151,7 @@ msgstr "" "[] \n" "\n" " Restituisce la risposta di WHOIS per sulla specificata. è\n" -" necessario solo se la rete è differente da quella in cui inviato il comando.\n" +" necessario solo se la rete è differente da quella sulla quale è inviato il comando.\n" " " #: plugin.py:280 @@ -184,7 +184,7 @@ msgstr "" "[]\n" "\n" " Riporta l'attuale latenza di . è necessaria solo se la rete\n" -" è differente da quella in cui è inviato il comando.\n" +" è differente da quella sulla quale è inviato il comando.\n" " " #: plugin.py:303 @@ -204,6 +204,6 @@ msgstr "" "[]\n" "\n" " Riporta l'attuale driver di rete per . è necessaria\n" -" solo se la rete è differente da quella in cui è inviato il comando.\n" +" solo se la rete è differente da quella sulla quale è inviato il comando.\n" " " diff --git a/plugins/NickCapture/locale/it.po b/plugins/NickCapture/locale/it.po index b41467833..569683200 100644 --- a/plugins/NickCapture/locale/it.po +++ b/plugins/NickCapture/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-12 17:05+0200\n" +"PO-Revision-Date: 2011-06-12 15:03+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -10,22 +10,34 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: plugin.py:84 +#: config.py:47 +msgid "" +"Determines whether the bot will check\n" +" occasionally if its preferred nick is in use via the ISON command." +msgstr "" +"Determina se di tanto in tanto il bot controllerà tramite\n" +" il comando ISON se il suo nick sia in uso." + +#: config.py:50 +msgid "" +"Determines how often (in seconds) the bot\n" +" will check whether its nick ISON." +msgstr "" +"Determina quanto spesso (in secondi) il bot controllerà il suo nick con ISON.\n" + +#: plugin.py:40 #, docstring msgid "" -"[]\n" -"\n" -" Tells you how lame said nick is. If is not given, uses the\n" -" nick of the person giving the command.\n" -" " +"This module constantly tries to take whatever nick is configured as\n" +" supybot.nick. Just make sure that's set appropriately, and thus plugin\n" +" will do the rest." msgstr "" -"[]\n" -"\n" -" Misura quanto sia lamer un nick. Se non è fornito, utilizza\n" -" quello della persona che ha dato il comando.\n" -" " +"Questo modulo cerca costantemente di ottenere qualsiasi nick sia impostato\n" +" come supybot.nick. Assicurati che questa sia configurata correttamente\n" +" e il plugin farà il resto." -#: plugin.py:226 -msgid "The \"lame nick-o-meter\" reading for \"%s\" is %s%%." -msgstr "Il \"nick-o-meter lamer\" per \"%s\" è %s%%." +#: plugin.py:89 +#, docstring +msgid "This is returned by the ISON command." +msgstr "Questo è restituito dal comando ISON." diff --git a/plugins/Note/locale/it.po b/plugins/Note/locale/it.po index 0ffa23c63..65058f6fd 100644 --- a/plugins/Note/locale/it.po +++ b/plugins/Note/locale/it.po @@ -66,7 +66,7 @@ msgstr "" "\n" "\n" " Recupera una singola nota tramite il suo id univoco. Per sapere quali\n" -" note non lette si hanno, utilizzare il comando \"note list\".\n" +" note hai da leggere, utilizza il comando \"note list\".\n" " " #: plugin.py:283 diff --git a/plugins/Praise/locale/it.po b/plugins/Praise/locale/it.po index 6358b08fb..ca61e6316 100644 --- a/plugins/Praise/locale/it.po +++ b/plugins/Praise/locale/it.po @@ -28,10 +28,10 @@ msgid "" " you want to insert the thing being praised.\n" " " msgstr "" -"Praise è un plugin per ... beh, elogiare cose. Sentitevi liberi di personalizzarlo\n" -" modificando gli elogi; utilizzare \"praise\ add \" per aggiungerne\n" -" di nuovi, e assicurarsi di includere \"$who\" alla posizione del in cui\n" -" si desidera che la cosa venga elogiata.\n" +"Praise è un plugin per ... beh, elogiare cose. Sentiti libero/a di personalizzarlo\n" +" modificando gli elogi; utilizzando \"praise\ add \" per aggiungerne\n" +" di nuovi e accertandoti di includere \"$who\" alla posizione del in cui\n" +" desideri che il soggetto venga elogiato.\n" " " #: plugin.py:53 diff --git a/plugins/RSS/locale/it.po b/plugins/RSS/locale/it.po index 6da90e2fc..347482f31 100644 --- a/plugins/RSS/locale/it.po +++ b/plugins/RSS/locale/it.po @@ -86,7 +86,7 @@ msgid "" " command to determine what feeds should be announced in a given channel." msgstr "" "Questo plugin è utile sia per annunciare feed RSS in un canale, sia per recuperare\n" -" i titoli dei feed tramite un comando. Utilizzare il comando \"add\" per aggiungere\n" +" i titoli dei feed tramite un comando. Utilizza il comando \"add\" per aggiungere\n" " feed e \"announce\" per determinare quali feed devono essere annunciati in un dato canale." #: plugin.py:316 diff --git a/plugins/Reply/locale/it.po b/plugins/Reply/locale/it.po index bc20d6d13..76906f99c 100644 --- a/plugins/Reply/locale/it.po +++ b/plugins/Reply/locale/it.po @@ -35,7 +35,7 @@ msgid "" msgstr "" "\n" "\n" -" Risponde con in privato. Utilizzare i comandi nidificati a proprio vantaggio." +" Risponde con in privato. Utilizza i comandi nidificati a tuo vantaggio." " " #: plugin.py:53 @@ -49,7 +49,7 @@ msgid "" msgstr "" "\n" "\n" -" Risponde con come azione. Utilizzare i comandi nidificati a proprio vantaggio.\n" +" Risponde con come azione. Utilizza i comandi nidificati a tuo vantaggio.\n" " " #: plugin.py:66 @@ -63,8 +63,8 @@ msgid "" msgstr "" "\n" "\n" -" Risponde con in un notice. Utilizzare i comandi nidificati a proprio vantaggio.\n" -" Se si desidera un notice privato, nidificare il comando private.\n" +" Risponde con in un notice. Utilizza i comandi nidificati a tuo vantaggio.\n" +" Se desideri un notice privato, nidifica il comando \"private\".\n" " " #: plugin.py:76 diff --git a/plugins/Scheduler/locale/it.po b/plugins/Scheduler/locale/it.po index 161cdc2a7..7b88bc955 100644 --- a/plugins/Scheduler/locale/it.po +++ b/plugins/Scheduler/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-15 11:51+0200\n" +"PO-Revision-Date: 2011-07-31 11:51+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -33,7 +33,7 @@ msgstr "" " Programma per essere eseguito entro un certo numero di .\n" " Ad esempio, 'scheduler add [seconds 30m] \"echo [cpu]\"' programmerà il\n" " comando \"cpu\" per essere inviato in canale (senza il nick come prefisso,\n" -" come utilizzare echo). Prestare attenzione alle virgolette usate nell'esempio.\n" +" come utilizzare echo). Presta attenzione alle virgolette usate nell'esempio.\n" " " #: plugin.py:141 @@ -78,7 +78,7 @@ msgstr "" #: plugin.py:185 msgid "There is already an event with that name, please choose another name." -msgstr "C'è già un evento con quel nome, sceglierne un altro." +msgstr "C'è già un evento con quel nome, scegline un altro." #: plugin.py:195 #, docstring diff --git a/plugins/Services/locale/it.po b/plugins/Services/locale/it.po index aebaff7ac..74972e5cd 100644 --- a/plugins/Services/locale/it.po +++ b/plugins/Services/locale/it.po @@ -117,7 +117,7 @@ msgstr "" "Questo plugin gestisce i servizi su reti che li forniscono. Fondamentalmente\n" " va usato il comando \"password\" per fornire al bot un nick con il quale\n" " identificarsi e quale password usare; se il bot ha più nick registrati, è\n" -" possibile usare tale comando più volte. Assicurarsi di impostare le variabili\n" +" possibile usare tale comando più volte. Assicurati di impostare le variabili\n" " di configurazione NickServ e ChanServ in modo che corrispondano ai rispettivi\n" " nick sulla rete in questione. Se il bot è ben configurato, gli altri comandi\n" " come \"identify\", \"op\", ecc. non dovrebbero essere necessari." diff --git a/plugins/String/locale/it.po b/plugins/String/locale/it.po index df1b53dcf..97334e774 100644 --- a/plugins/String/locale/it.po +++ b/plugins/String/locale/it.po @@ -26,8 +26,8 @@ msgstr "" " Quest'ultimo utilizza un algoritmo O(m*n), significa che con stringhe di lunghezza\n" " 256, può impiegare 1.5 secondi a terminare; con stringhe lunghe 384, sebbene,\n" " impiega 4 secondi e con stringhe più lunghe impiega molto più tempo. Utilizzando\n" -" comandi nidificati, le stringhe possono essere abbastanza grosse, perciò questa\n" -" variabile, limitare la dimensione degli argomenti passati al comando \"levenshtein\"." +" comandi nidificati le stringhe possono essere abbastanza grosse; questa variabile\n" +" esiste per limitare la dimensione degli argomenti passati al comando \"levenshtein\"." #: plugin.py:46 #, docstring @@ -138,7 +138,7 @@ msgstr "" "\n" " Restituisce l'hash Soundex alla lunghezza specificata. In modo predefinito\n" " è impostata a 4, giacché è la lunghezza standard per questo tipo di hash.\n" -" Per lunghezze illimitate usare 0.\n" +" Per lunghezze illimitate usa 0.\n" " " #: plugin.py:125 @@ -174,7 +174,7 @@ msgstr "" #: plugin.py:146 msgid "You probably don't want to match the empty string." -msgstr "È probabile non si voglia confrontare una stringa vuota." +msgstr "È probabile che tu non voglia confrontare una stringa vuota." #: plugin.py:156 #, docstring @@ -188,7 +188,7 @@ msgid "" msgstr "" " \n" "\n" -" Restituisce cifrato con XOR con . Vedere\n" +" Restituisce cifrato con XOR con . Vedi\n" " http://www.yoe.org/developer/xor.html per informazioni sulla cifratura XOR.\n" " " @@ -204,7 +204,7 @@ msgid "" msgstr "" "\n" "\n" -" Restituisce l'hash md5 di una data stringa. Vedere\n" +" Restituisce l'hash md5 di una data stringa. Vedi\n" " http://www.rsasecurity.com/rsalabs/faq/3-6-6.html per ulteriori informazioni su md5.\n" " " @@ -220,7 +220,7 @@ msgid "" msgstr "" "\n" "\n" -" Restituisce l'hash SHA di una data stringa. Vedere\n" +" Restituisce l'hash SHA di una data stringa. Vedi\n" " http://www.secure-hash-algorithm-md5-sha-1.co.uk/ per ulteriori informazioni su SHA.\n" " " diff --git a/plugins/Time/locale/it.po b/plugins/Time/locale/it.po index 3eeec34d5..6c114d481 100644 --- a/plugins/Time/locale/it.po +++ b/plugins/Time/locale/it.po @@ -18,7 +18,7 @@ msgid "" " the empty string, the timestamp will not be shown." msgstr "" "Determina il formato per i timestamp. Per sapere quali sono i formati validi\n" -" fare riferimento alla documentazione di Python per il modulo time. Se si assegna\n" +" fai riferimento alla documentazione di Python per il modulo time. Se si assegna\n" " una stringa vuota a questa variabile, il timestamp non verrà mostrato." #: plugin.py:61 @@ -86,7 +86,7 @@ msgid "" msgstr "" "[]\n" "\n" -" Riporta il ctime per o, se non vengono specificati,\n" +" Riporta il ctime per o, se non specificati,\n" " l'attuale ctime (epoca equivale all'Unix time).\n" " " diff --git a/plugins/URL/locale/it.po b/plugins/URL/locale/it.po index f5b19efc7..102e2645f 100644 --- a/plugins/URL/locale/it.po +++ b/plugins/URL/locale/it.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Determina quali URL non vanno intercettati e memorizzati nel database del canale;\n" " quelli che corrispondono alla regexp fornita non verranno coinvolti.\n" -" Se non si vuole escludere alcun URL, aggiungere una stringa vuota.\n" +" Se non vuoi escludere alcun URL, aggiungi una stringa vuota.\n" #: plugin.py:89 #, docstring diff --git a/src/version.py b/src/version.py index afac00ca0..ce62df471 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-06T18:57:56+0200)' +version = '0.83.4.1+limnoria (2011-08-07T11:16:04+0200)' From e2b598d5b7e4e0d2fc556b133e42f6916a644960 Mon Sep 17 00:00:00 2001 From: skizzhg Date: Sun, 7 Aug 2011 11:16:49 +0200 Subject: [PATCH 198/244] Update core l10n-it. --- locale/it.po | 2 +- src/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/locale/it.po b/locale/it.po index b5fb8da22..1710aa2e0 100644 --- a/locale/it.po +++ b/locale/it.po @@ -278,7 +278,7 @@ msgid "" " time formats." msgstr "" "Determina come formattare i timestamp affinché possano essere comprensibli.\n" -" Per sapere quali sono i formati validi fare riferimento alla documentazione\n" +" Per sapere quali sono i formati validi fai riferimento alla documentazione\n" " di Python per il modulo time." #: ../src/conf.py:312 diff --git a/src/version.py b/src/version.py index ce62df471..dbeca340f 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-07T11:16:04+0200)' +version = '0.83.4.1+limnoria (2011-08-07T11:16:49+0200)' From 9cd2c31dd4e092b5e2f563418df981007f9f5b78 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 7 Aug 2011 11:30:51 +0200 Subject: [PATCH 199/244] Misc: Notify the caller when @tell succeeded. Closes GH-97. --- plugins/Misc/plugin.py | 1 + src/version.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Misc/plugin.py b/plugins/Misc/plugin.py index 8ad9af49f..08623811e 100644 --- a/plugins/Misc/plugin.py +++ b/plugins/Misc/plugin.py @@ -423,6 +423,7 @@ class Misc(callbacks.Plugin): text = '* %s %s' % (irc.nick, text) s = _('%s wants me to tell you: %s') % (msg.nick, text) irc.reply(s, to=target, private=True) + irc.replySuccess() tell = wrap(tell, ['something', 'text']) @internationalizeDocstring diff --git a/src/version.py b/src/version.py index dbeca340f..e43606e5c 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-07T11:16:49+0200)' +version = '0.83.4.1+limnoria (2011-08-07T11:30:51+0200)' From 2e0f33f6559d404bab698082954af883d466aa06 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 7 Aug 2011 11:59:19 +0200 Subject: [PATCH 200/244] User: Admins can now see capabilities of other users. Closes GH-106. --- plugins/User/plugin.py | 2 +- src/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/User/plugin.py b/plugins/User/plugin.py index a1e98f512..fb37dd0ff 100644 --- a/plugins/User/plugin.py +++ b/plugins/User/plugin.py @@ -395,7 +395,7 @@ class User(callbacks.Plugin): except KeyError: irc.errorNotRegistered() else: - if u == user or u._checkCapability('owner'): + if u == user or u._checkCapability('admin'): irc.reply('[%s]' % '; '.join(user.capabilities), private=True) else: irc.error(conf.supybot.replies.incorrectAuthentication(), diff --git a/src/version.py b/src/version.py index e43606e5c..4e9c4a2ac 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-07T11:30:51+0200)' +version = '0.83.4.1+limnoria (2011-08-07T11:59:19+0200)' From 52e0bc5ac0d15d49d5756e2dae0c4589fdcc035a Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 7 Aug 2011 12:02:06 +0200 Subject: [PATCH 201/244] NickCapture: Fix plugin help and l10n-fr. Closes GH-116. --- plugins/NickCapture/locale/fr.po | 4 ++-- plugins/NickCapture/messages.pot | 2 +- plugins/NickCapture/plugin.py | 2 +- src/version.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/NickCapture/locale/fr.po b/plugins/NickCapture/locale/fr.po index 6d32b4312..a2280bc0e 100644 --- a/plugins/NickCapture/locale/fr.po +++ b/plugins/NickCapture/locale/fr.po @@ -27,10 +27,10 @@ msgstr "Détermine tous les combien de temps (en secondes) le bot vérifiera son #: plugin.py:41 msgid "" -"This module constantly tries to take whatever nick is configured as\n" +"This plugin constantly tries to take whatever nick is configured as\n" " supybot.nick. Just make sure that's set appropriately, and thus plugin\n" " will do the rest." -msgstr "Ce module essaye constament de récupérer le nick configuré dans supybot.nick. Assurez-vous de le configurer correctement, et ce plugin fera le reste." +msgstr "Ce plugin essaye constament de récupérer le nick configuré dans supybot.nick. Assurez-vous de le configurer correctement, et ce plugin fera le reste." #: plugin.py:90 msgid "This is returned by the ISON command." diff --git a/plugins/NickCapture/messages.pot b/plugins/NickCapture/messages.pot index 8029cb756..dbbdead07 100644 --- a/plugins/NickCapture/messages.pot +++ b/plugins/NickCapture/messages.pot @@ -30,7 +30,7 @@ msgstr "" #: plugin.py:40 #, docstring msgid "" -"This module constantly tries to take whatever nick is configured as\n" +"This plugin constantly tries to take whatever nick is configured as\n" " supybot.nick. Just make sure that's set appropriately, and thus plugin\n" " will do the rest." msgstr "" diff --git a/plugins/NickCapture/plugin.py b/plugins/NickCapture/plugin.py index 8728c8296..9d4c1db5d 100644 --- a/plugins/NickCapture/plugin.py +++ b/plugins/NickCapture/plugin.py @@ -37,7 +37,7 @@ from supybot.i18n import PluginInternationalization, internationalizeDocstring _ = PluginInternationalization('NickCapture') class NickCapture(callbacks.Plugin): - """This module constantly tries to take whatever nick is configured as + """This plugin constantly tries to take whatever nick is configured as supybot.nick. Just make sure that's set appropriately, and thus plugin will do the rest.""" public = False diff --git a/src/version.py b/src/version.py index 4e9c4a2ac..86d9e7cd7 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-07T11:59:19+0200)' +version = '0.83.4.1+limnoria (2011-08-07T12:02:06+0200)' From f3b6b182aaf8a6a77160f8abd9499d86408dbb1a Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 7 Aug 2011 12:04:31 +0200 Subject: [PATCH 202/244] Reply: Fix typo and update l10n-*. Closes GH-125. --- plugins/Reply/locale/fi.po | 2 +- plugins/Reply/locale/fr.po | 2 +- plugins/Reply/locale/hu.po | 2 +- plugins/Reply/locale/it.po | 2 +- plugins/Reply/messages.pot | 2 +- plugins/Reply/plugin.py | 2 +- src/version.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/Reply/locale/fi.po b/plugins/Reply/locale/fi.po index 3b806853e..cc2e771a3 100644 --- a/plugins/Reply/locale/fi.po +++ b/plugins/Reply/locale/fi.po @@ -16,7 +16,7 @@ msgstr "" #: plugin.py:37 msgid "" -"This plugins contains a few commands that construct various types of\n" +"This plugin contains a few commands that construct various types of\n" " replies. Some bot owners would be wise to not load this plugin because it\n" " can be easily abused.\n" " " diff --git a/plugins/Reply/locale/fr.po b/plugins/Reply/locale/fr.po index 4bcc56a98..fb79373b6 100644 --- a/plugins/Reply/locale/fr.po +++ b/plugins/Reply/locale/fr.po @@ -15,7 +15,7 @@ msgstr "" #: plugin.py:37 msgid "" -"This plugins contains a few commands that construct various types of\n" +"This plugin contains a few commands that construct various types of\n" " replies. Some bot owners would be wise to not load this plugin because it\n" " can be easily abused.\n" " " diff --git a/plugins/Reply/locale/hu.po b/plugins/Reply/locale/hu.po index 8c3373349..26c014c1e 100644 --- a/plugins/Reply/locale/hu.po +++ b/plugins/Reply/locale/hu.po @@ -18,7 +18,7 @@ msgstr "" #: plugin.py:37 #, docstring msgid "" -"This plugins contains a few commands that construct various types of\n" +"This plugin contains a few commands that construct various types of\n" " replies. Some bot owners would be wise to not load this plugin because it\n" " can be easily abused.\n" " " diff --git a/plugins/Reply/locale/it.po b/plugins/Reply/locale/it.po index 76906f99c..96d038b11 100644 --- a/plugins/Reply/locale/it.po +++ b/plugins/Reply/locale/it.po @@ -14,7 +14,7 @@ msgstr "" #: plugin.py:37 #, docstring msgid "" -"This plugins contains a few commands that construct various types of\n" +"This plugin contains a few commands that construct various types of\n" " replies. Some bot owners would be wise to not load this plugin because it\n" " can be easily abused.\n" " " diff --git a/plugins/Reply/messages.pot b/plugins/Reply/messages.pot index 29b3d2c2a..7c201b043 100644 --- a/plugins/Reply/messages.pot +++ b/plugins/Reply/messages.pot @@ -18,7 +18,7 @@ msgstr "" #: plugin.py:37 #, docstring msgid "" -"This plugins contains a few commands that construct various types of\n" +"This plugin contains a few commands that construct various types of\n" " replies. Some bot owners would be wise to not load this plugin because it\n" " can be easily abused.\n" " " diff --git a/plugins/Reply/plugin.py b/plugins/Reply/plugin.py index fb4618359..42d35dbef 100644 --- a/plugins/Reply/plugin.py +++ b/plugins/Reply/plugin.py @@ -34,7 +34,7 @@ _ = PluginInternationalization('Reply') class Reply(callbacks.Plugin): - """This plugins contains a few commands that construct various types of + """This plugin contains a few commands that construct various types of replies. Some bot owners would be wise to not load this plugin because it can be easily abused. """ diff --git a/src/version.py b/src/version.py index 86d9e7cd7..445eb7744 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-07T12:02:06+0200)' +version = '0.83.4.1+limnoria (2011-08-07T12:04:31+0200)' From 5d4da873a208dee5714fe156413bd0d2adc94788 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 7 Aug 2011 20:15:47 +0300 Subject: [PATCH 203/244] RSS: added l10n-fi. --- plugins/RSS/locale/fi.po | 62 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 56 insertions(+), 6 deletions(-) diff --git a/plugins/RSS/locale/fi.po b/plugins/RSS/locale/fi.po index 99bb7adff..4461458f4 100755 --- a/plugins/RSS/locale/fi.po +++ b/plugins/RSS/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-08-05 18:19+0200\n" +"PO-Revision-Date: 2011-08-07 20:15+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -75,6 +75,10 @@ msgid "" " supybot.plugins.RSS.announce.showLinks affects whether links will be\n" " listed when a feed is automatically announced." msgstr "" +"Määrittää luetteleeko botti linkin\n" +" syötteen otsikon kanssa, kun rss komentoa kutsutaan.\n" +" supybot.plugins.RSS.announce.showLinks vaikuttaa luetellaanko\n" +" linkit, kun syöte on kuulutettu automaattisesti." #: config.py:84 msgid "" @@ -82,6 +86,9 @@ msgid "" " along with the title of the feed when a feed is automatically\n" " announced." msgstr "" +"Määrittää luetteleeko botti linkin\n" +" syötteen otsikon kautta, kun syöte kuulutetaan\n" +" automaattisesti." #: plugin.py:62 msgid "" @@ -90,6 +97,10 @@ msgid "" " the \"add\" command to add feeds to this plugin, and use the \"announce\"\n" " command to determine what feeds should be announced in a given channel." msgstr "" +"Tämä lisäosa on hyödyllinen kumpaankin, RSS syötteiden päivitysten kuuluttamiseen\n" +" kanavalla, ja hakemaan RSS syötteen uusimmat otsikot komennon kautta. Käytä\n" +" \"add\" komentoa lisätäksesi syötteitä tähän lisäosaan ja \"announce\"\n" +" komentoa määrittämään mitkä syötteet pitäisi kuuluttaa annetulla kanavalla." #: plugin.py:316 msgid "" @@ -99,6 +110,11 @@ msgid "" " given URL.\n" " " msgstr "" +" \n" +"\n" +" Lisää tähän lisäosaan komennon, joka hakee RSS syötteen annetusta\n" +" URL osoitteesta..\n" +" " #: plugin.py:327 msgid "" @@ -108,10 +124,15 @@ msgid "" " this plugin.\n" " " msgstr "" +"\n" +"\n" +" Poistaa komennon, joka hakee RSS syötteet ,\n" +" lisäosasta.\n" +" " #: plugin.py:333 msgid "That's not a valid RSS feed command name." -msgstr "" +msgstr "Tuo ei ole kelvollinen RSS sylte komento nimi." #: plugin.py:344 msgid "" @@ -121,10 +142,15 @@ msgid "" " only necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[]\n" +"\n" +" Palauttaa listan RSS syötteistä, joita kuulutetaan . on\n" +" vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:351 msgid "I am currently not announcing any feeds." -msgstr "" +msgstr "Minä en tällä hetkellä kuuluta yhtään syötettä." #: plugin.py:356 msgid "" @@ -136,6 +162,13 @@ msgid "" " message isn't sent in the channel itself.\n" " " msgstr "" +"[] [ ...]\n" +"\n" +" Lisää listan syötteistä tällä hetkellä\n" +" kuulutettaviin syötteisiin. Kelvolliset syötteet sisältävät rekisteröityjen syötteiden nimet,\n" +" kuten myös RSS syötteiden URL-osoitteet. on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:374 msgid "" @@ -147,6 +180,13 @@ msgid "" " message isn't sent in the channel itself.\n" " " msgstr "" +"[] [ ...]\n" +"\n" +" Poistaa listan RSS syötteistä botin tällä hetkellä kuuluttamista\n" +" syötteistä. Kelvolliset syötteen nimet sisältävät\n" +" URL osoitteet, kuten myös rekisteröidyt RSS syötteet. on vaadittu vain, jos viestiä\n" +" ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:392 msgid "" @@ -156,10 +196,15 @@ msgid "" " If is given, return only that many headlines.\n" " " msgstr "" +" []\n" +"\n" +" Hakee annetun RSS syötteen otsikko komponentit.\n" +" Jos on annettu, palauttaa vain niin monta otsikkoa.\n" +" " #: plugin.py:405 msgid "Couldn't get RSS feed." -msgstr "" +msgstr "RSS syötettä ei pystytty hakemaan." #: plugin.py:420 msgid "" @@ -169,12 +214,17 @@ msgid "" " URL, description, and last update date, if available.\n" " " msgstr "" +"\n" +"\n" +" Palauttaa tietoja annetusta RSS syötteestä, nimellisesti otsikon,\n" +" URL, kuvauksen, ja viimeisen päivityksen, jos saatavilla.\n" +" " #: plugin.py:433 msgid "I couldn't retrieve that RSS feed." -msgstr "" +msgstr "En voinut noutaa tuota RSS syötettä." #: plugin.py:446 msgid "Title: %s; URL: %u; Description: %s; Last updated: %s." -msgstr "" +msgstr "Otsikko: %s; URL: %u; Kuvaus: %s; Viimeeksi päivitetty: %s." From 12c2251e56dad6fe0c60ae8f3a1acfa3f110d3d1 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 7 Aug 2011 20:46:45 +0300 Subject: [PATCH 204/244] Scheduler: added l10n-fi. --- plugins/Scheduler/locale/fi.po | 99 ++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 plugins/Scheduler/locale/fi.po diff --git a/plugins/Scheduler/locale/fi.po b/plugins/Scheduler/locale/fi.po new file mode 100644 index 000000000..5cc7bd154 --- /dev/null +++ b/plugins/Scheduler/locale/fi.po @@ -0,0 +1,99 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-08-07 20:44+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:111 +msgid "Makes a function suitable for scheduling from command." +msgstr "Tekee toiminnon sopivaksi komennosta ajastamiseen." + +#: plugin.py:131 +msgid "" +" \n" +"\n" +" Schedules the command string to run seconds in the\n" +" future. For example, 'scheduler add [seconds 30m] \"echo [cpu]\"' will\n" +" schedule the command \"cpu\" to be sent to the channel the schedule add\n" +" command was given in (with no prefixed nick, a consequence of using\n" +" echo). Do pay attention to the quotes in that example.\n" +" " +msgstr "" +" \n" +"\n" +" Ajastaa suoriutumaan sekunteja tulevaisuuteen\n" +" Esimerkiksi, 'scheduler add [seconds 30m] \"echo [cpu]\"'\n" +" ajastaa komennon \"cpu\" lähetyksen kanavalle jolla,\n" +" komento annettiin (ilman nimimerkki etuliitettä, johtuen\n" +" \"echo\" komennon käytöstä). Kiinnitä huomiota lainausmerkkeihin tuossa esimerkissä.\n" +" " + +#: plugin.py:141 +msgid "Event #%i added." +msgstr "Tapahtuma #%i lisätty." + +#: plugin.py:146 +msgid "" +"\n" +"\n" +" Removes the event scheduled with id from the schedule.\n" +" " +msgstr "" +"\n" +"\n" +" Poistaa ajastetun komennon ajastuksesta.\n" +" " + +#: plugin.py:160 +#: plugin.py:162 +msgid "Invalid event id." +msgstr "Viallinen tapahtuma id." + +#: plugin.py:176 +msgid "" +" \n" +"\n" +" Schedules the command to run every seconds,\n" +" starting now (i.e., the command runs now, and every seconds\n" +" thereafter). is a name by which the command can be\n" +" unscheduled.\n" +" " +msgstr "" +" \n" +"\n" +" Ajastaa suoritumaan, joka ,\n" +" alkaen nyt (esim., komento suoriutuu nyt, ja joka \n" +" sen jälkeen). on nimi, jolla komennon ajastus voidaan\n" +" poistaa.\n" +" " + +#: plugin.py:185 +msgid "There is already an event with that name, please choose another name." +msgstr "On jo olemassa tapahtuma tuolla nimellä, ole hyvä ja käytä toista nimeä." + +#: plugin.py:195 +msgid "" +"takes no arguments\n" +"\n" +" Lists the currently scheduled events.\n" +" " +msgstr "" +"ei ota parametrejä\n" +"\n" +" Luettelee tällä hetkellä ajastetut komennot.\n" +" " + +#: plugin.py:209 +msgid "There are currently no scheduled commands." +msgstr "Tällä hetkellä ei ole ajastettuja komentoja." + From 266a76e165c00415338ab97d07787577d15c91dd Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sun, 7 Aug 2011 21:27:24 +0300 Subject: [PATCH 205/244] Seen: added l10n-fi. --- plugins/Seen/locale/fi.po | 146 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 plugins/Seen/locale/fi.po diff --git a/plugins/Seen/locale/fi.po b/plugins/Seen/locale/fi.po new file mode 100644 index 000000000..8cf3a1d73 --- /dev/null +++ b/plugins/Seen/locale/fi.po @@ -0,0 +1,146 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-08-07 21:26+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:203 +#: plugin.py:284 +msgid "%s was last seen in %s %s ago: %s" +msgstr "%s nähtiin viimeeksi kanavalla %s %s sitten: %s" + +#: plugin.py:210 +msgid "%s (%s ago)" +msgstr "%s (%s sitten)" + +#: plugin.py:212 +msgid "%s could be %L" +msgstr "%s voisi olla %L" + +#: plugin.py:212 +msgid "or" +msgstr "tai" + +#: plugin.py:214 +msgid "I haven't seen anyone matching %s." +msgstr "En ole nähnyt kenenkään täsmäävän %s." + +#: plugin.py:216 +#: plugin.py:288 +msgid "I have not seen %s." +msgstr "En ole nähnyt %s:ää." + +#: plugin.py:220 +msgid "" +"[] \n" +"\n" +" Returns the last time was seen and what was last seen\n" +" saying. is only necessary if the message isn't sent on the\n" +" channel itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Palauttaa viimeisen kerran, kun nähtiin ja mitä nähtiin sanovan viimeksi.\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " + +#: plugin.py:231 +msgid "" +"[] [--user ] []\n" +"\n" +" Returns the last time was seen and what was last seen\n" +" doing. This includes any form of activity, instead of just PRIVMSGs.\n" +" If isn't specified, returns the last activity seen in\n" +" . If --user is specified, looks up name in the user database\n" +" and returns the last time user was active in . is\n" +" only necessary if the message isn't sent on the channel itself.\n" +" " +msgstr "" +"[] [--user ] []\n" +"\n" +" Palauttaa viimeisen kerran, jolloin nähtiin viimeeksi ja mitä nähtiin viimeeksi\n" +" tekemässä. Tämä sisältää kaikenlaisen aktiivisuuden, sen sijaan, että sisältäisi vain PRIVMSGitä.\n" +" Jos ei ole määritetty, palauttaa viimeisen aktiivisuuden, joka tapahtui\n" +" . Jos --user on määritetty, etsii nimeä käyttäjätietokannasta\n" +" ja palauttaa viimeisen kerran, kun käyttäjä oli aktiivinen . on\n" +" on vaadittu vain, jos viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:261 +msgid "Someone was last seen in %s %s ago: %s" +msgstr "Joky nähtiin viimeeksi kanavalla %s %s sitten: %s" + +#: plugin.py:265 +msgid "I have never seen anyone." +msgstr "Minä en ole nähnyt ketään." + +#: plugin.py:269 +msgid "" +"[]\n" +"\n" +" Returns the last thing said in . is only necessary\n" +" if the message isn't sent in the channel itself.\n" +" " +msgstr "" +"[]\n" +"\n" +" Palauttaa viimeisen asian, joka sanottiin . on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:292 +msgid "" +"[] \n" +"\n" +" Returns the last time was seen and what was last seen\n" +" saying. This looks up in the user seen database, which means\n" +" that it could be any nick recognized as user that was seen.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "" +"[] \n" +"\n" +" Palauttaa viimeisen kerran, kun nähtiin ja mitä nähtiin viimeksi\n" +" sanomassa. Tämä etsii käyttäjän näkemistietokannasta, mikä tarkoittaa,\n" +" että se voi olla mikä tahansa nimimerkki. joka on tunnistettu käyttäjä joka on nähty.\n" +" on vaadittu vain, jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " + +#: plugin.py:305 +msgid "" +"[] \n" +"\n" +" Returns the messages since last left the channel.\n" +" " +msgstr "" +"[] \n" +"\n" +" Palauttaa sen jälkeiset viestit, kun viimeksi poistui kanavalta.\n" +" " + +#: plugin.py:312 +msgid "You must be in %s to use this command." +msgstr "Sinun täytyy olla %s käyttääksesi tätä komentoa." + +#: plugin.py:333 +msgid "I couldn't find in my history of %s messages where %r last left the %s" +msgstr "En voinut löytää %s viestin historiasta milloin %r viimeksi lähti kanavalta %s" + +#: plugin.py:342 +msgid "Either %s didn't leave, or no messages were sent while %s was gone." +msgstr "Joko %s ei lähtenyt, tai yhtään viestiä ei lähetetty silloin, kun %s oli poissa." + From 0f9907f8850e0710012d68b1f08b0557626bc814 Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Sun, 7 Aug 2011 20:38:07 +0200 Subject: [PATCH 206/244] Nothing :D From c5da615bf5871a3498d860b4908988ded1df95ee Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Tue, 9 Aug 2011 15:59:45 +0300 Subject: [PATCH 207/244] Changed description at GitHub. From b99071b42c26de447ccb8b32ad2bdd017c633a1e Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Tue, 9 Aug 2011 16:01:20 +0300 Subject: [PATCH 208/244] Moved defaultbranch from master to testing, because all translations happen there. From 233d56fb84e0824162c9e8c978dfc537819da544 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Tue, 9 Aug 2011 16:36:23 +0300 Subject: [PATCH 209/244] Services: started l10n-fi. --- plugins/Services/locale/fi.po | 225 ++++++++++++++++++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 plugins/Services/locale/fi.po diff --git a/plugins/Services/locale/fi.po b/plugins/Services/locale/fi.po new file mode 100644 index 000000000..cdd61e498 --- /dev/null +++ b/plugins/Services/locale/fi.po @@ -0,0 +1,225 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-08-09 16:35+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:39 +msgid "Determines what password the bot will use with NickServ when identifying as %s." +msgstr "Määrittää mitä salasanaa botti käyttää, kun tunnistautuu %s:ksi NickServillä." + +#: config.py:49 +msgid "What is your registered nick?" +msgstr "" + +#: config.py:50 +msgid "What is your password for that nick?" +msgstr "" + +#: config.py:51 +msgid "What is your ChanServ named?" +msgstr "" + +#: config.py:52 +msgid "What is your NickServ named?" +msgstr "" + +#: config.py:70 +msgid "" +"Determines what nicks the bot will use with\n" +" services." +msgstr "" + +#: config.py:77 +msgid "" +"Determines what networks this plugin\n" +" will be disabled on." +msgstr "" + +#: config.py:77 +msgid "QuakeNet" +msgstr "" + +#: config.py:81 +msgid "" +"Determines whether the bot will not join any\n" +" channels until it is identified. This may be useful, for instances, if\n" +" you have a vhost that isn't set until you're identified, or if you're\n" +" joining +r channels that won't allow you to join unless you identify." +msgstr "" + +#: config.py:86 +msgid "" +"Determines how many seconds the bot will\n" +" wait between successive GHOST attempts." +msgstr "" + +#: config.py:89 +msgid "" +"Determines what nick the 'NickServ' service\n" +" has." +msgstr "" + +#: config.py:93 +msgid "" +"Determines what nick the 'ChanServ' service\n" +" has." +msgstr "" + +#: config.py:96 +msgid "" +"Determines what password the bot will use with\n" +" ChanServ." +msgstr "" + +#: config.py:99 +msgid "" +"Determines whether the bot will request to get\n" +" opped by the ChanServ when it joins the channel." +msgstr "" + +#: config.py:102 +msgid "" +"Determines whether the bot will request to get\n" +" half-opped by the ChanServ when it joins the channel." +msgstr "" + +#: config.py:105 +msgid "" +"Determines whether the bot will request to get\n" +" voiced by the ChanServ when it joins the channel." +msgstr "" + +#: plugin.py:47 +msgid "" +"This plugin handles dealing with Services on networks that provide them.\n" +" Basically, you should use the \"password\" command to tell the bot a nick to\n" +" identify with and what password to use to identify with that nick. You can\n" +" use the password command multiple times if your bot has multiple nicks\n" +" registered. Also, be sure to configure the NickServ and ChanServ\n" +" configuration variables to match the NickServ and ChanServ nicks on your\n" +" network. Other commands such as identify, op, etc. should not be\n" +" necessary if the bot is properly configured." +msgstr "" + +#: plugin.py:397 +msgid "You must set supybot.plugins.Services.ChanServ before I'm able to send the %s command." +msgstr "" + +#: plugin.py:403 +msgid "" +"[]\n" +"\n" +" Attempts to get opped by ChanServ in . is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:409 +msgid "I'm already opped in %s." +msgstr "" + +#: plugin.py:416 +msgid "" +"[]\n" +"\n" +" Attempts to get voiced by ChanServ in . is only\n" +" necessary if the message isn't sent in the channel itself.\n" +" " +msgstr "" + +#: plugin.py:422 +msgid "I'm already voiced in %s." +msgstr "" + +#: plugin.py:439 +msgid "" +"[]\n" +"\n" +" Attempts to get unbanned by ChanServ in . is only\n" +" necessary if the message isn't sent in the channel itself, but chances\n" +" are, if you need this command, you're not sending it in the channel\n" +" itself.\n" +" " +msgstr "" + +#: plugin.py:460 +msgid "" +"[]\n" +"\n" +" Attempts to get invited by ChanServ to . is only\n" +" necessary if the message isn't sent in the channel itself, but chances\n" +" are, if you need this command, you're not sending it in the channel\n" +" itself.\n" +" " +msgstr "" + +#: plugin.py:481 +msgid "" +"takes no arguments\n" +"\n" +" Identifies with NickServ using the current nick.\n" +" " +msgstr "" + +#: plugin.py:490 +msgid "I don't have a configured password for my current nick." +msgstr "" + +#: plugin.py:493 +msgid "You must set supybot.plugins.Services.NickServ before I'm able to do identify." +msgstr "" + +#: plugin.py:499 +msgid "" +"[]\n" +"\n" +" Ghosts the bot's given nick and takes it. If no nick is given,\n" +" ghosts the bot's configured nick and takes it.\n" +" " +msgstr "" + +#: plugin.py:508 +msgid "I cowardly refuse to ghost myself." +msgstr "" + +#: plugin.py:513 +msgid "You must set supybot.plugins.Services.NickServ before I'm able to ghost a nick." +msgstr "" + +#: plugin.py:519 +msgid "" +" []\n" +"\n" +" Sets the NickServ password for to . If is\n" +" not given, removes from the configured nicks.\n" +" " +msgstr "" + +#: plugin.py:529 +msgid "That nick was not configured with a password." +msgstr "" + +#: plugin.py:540 +msgid "" +"takes no arguments\n" +"\n" +" Returns the nicks that this plugin is configured to identify and ghost\n" +" with.\n" +" " +msgstr "" + +#: plugin.py:550 +msgid "I'm not currently configured for any nicks." +msgstr "" + From 6e5350def6eff26a709455169d57ccad3fd9ee6e Mon Sep 17 00:00:00 2001 From: skizzhg Date: Wed, 10 Aug 2011 11:26:47 +0200 Subject: [PATCH 210/244] ChannelLogger & Format & Karma & Owner & Reply & Status & URL & Unix: Fix typoes. --- plugins/ChannelLogger/config.py | 2 +- plugins/Format/plugin.py | 2 +- plugins/Karma/config.py | 2 +- plugins/Owner/plugin.py | 2 +- plugins/Reply/plugin.py | 2 +- plugins/Status/plugin.py | 2 +- plugins/URL/plugin.py | 4 ++-- plugins/Unix/plugin.py | 2 +- src/version.py | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/plugins/ChannelLogger/config.py b/plugins/ChannelLogger/config.py index f9935e4f4..c191f987c 100644 --- a/plugins/ChannelLogger/config.py +++ b/plugins/ChannelLogger/config.py @@ -86,7 +86,7 @@ conf.registerGlobalValue(ChannelLogger.directories, 'timestamp', if using directories."""))) conf.registerGlobalValue(ChannelLogger.directories.timestamp, 'format', registry.String('%B', _("""Determines what timestamp format will be used in - the directory stucture for channel logs if + the directory structure for channel logs if supybot.plugins.ChannelLogger.directories.timestamp is True."""))) # vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79: diff --git a/plugins/Format/plugin.py b/plugins/Format/plugin.py index 0a00f38cb..1a664a6ab 100644 --- a/plugins/Format/plugin.py +++ b/plugins/Format/plugin.py @@ -147,7 +147,7 @@ class Format(callbacks.Plugin): def repr(self, irc, msg, args, text): """ - Returns the text surrounded by double quotes. + Returns surrounded by double quotes. """ irc.reply(utils.str.dqrepr(text)) repr = wrap(repr, ['text']) diff --git a/plugins/Karma/config.py b/plugins/Karma/config.py index b43dd011c..059e244c4 100644 --- a/plugins/Karma/config.py +++ b/plugins/Karma/config.py @@ -53,7 +53,7 @@ conf.registerChannelValue(conf.supybot.plugins.Karma, 'rankingDisplay', are shown when karma is called with no arguments."""))) conf.registerChannelValue(conf.supybot.plugins.Karma, 'mostDisplay', registry.Integer(25, _("""Determines how many karma things are shown when - the most command is called.'"""))) + the most command is called."""))) conf.registerChannelValue(conf.supybot.plugins.Karma, 'allowSelfRating', registry.Boolean(False, _("""Determines whether users can adjust the karma of their nick."""))) diff --git a/plugins/Owner/plugin.py b/plugins/Owner/plugin.py index 64f8cd0bb..ad47ee043 100644 --- a/plugins/Owner/plugin.py +++ b/plugins/Owner/plugin.py @@ -378,7 +378,7 @@ class Owner(callbacks.Plugin): Runs the standard upkeep stuff (flushes and gc.collects()). If given a level, runs that level of upkeep (currently, the only supported level is "high", which causes the bot to flush a lot of caches as well - as do normal upkeep stuff. + as do normal upkeep stuff). """ L = [] if level == 'high': diff --git a/plugins/Reply/plugin.py b/plugins/Reply/plugin.py index 42d35dbef..fb7bc236e 100644 --- a/plugins/Reply/plugin.py +++ b/plugins/Reply/plugin.py @@ -52,7 +52,7 @@ class Reply(callbacks.Plugin): def action(self, irc, msg, args, text): """ - Replies with as an action. use nested commands to your benefit + Replies with as an action. Use nested commands to your benefit here. """ if text: diff --git a/plugins/Status/plugin.py b/plugins/Status/plugin.py index b7e814b58..1d26c4cbb 100644 --- a/plugins/Status/plugin.py +++ b/plugins/Status/plugin.py @@ -130,7 +130,7 @@ class Status(callbacks.Plugin): user+system < timeRunning+1: # Fudge for FPU inaccuracies. children = _('My children have taken %.2f seconds of user time ' 'and %.2f seconds of system time ' - 'for a total of %.2f seconds of CPU time. ') % \ + 'for a total of %.2f seconds of CPU time.') % \ (childUser, childSystem, childUser+childSystem) else: children = '' diff --git a/plugins/URL/plugin.py b/plugins/URL/plugin.py index 0faf34eb8..5cc43bc3d 100644 --- a/plugins/URL/plugin.py +++ b/plugins/URL/plugin.py @@ -103,8 +103,8 @@ class URL(callbacks.Plugin): Gives the last URL matching the given criteria. --from is from whom the URL came; --proto is the protocol the URL used; --with is something inside the URL; --without is something that should not be in the URL; - --near is something in the same message as the URL; If --nolimit is - given, returns all the URLs that are found. to just the URL. + --near is something in the same message as the URL. If --nolimit is + given, returns all the URLs that are found to just the URL. is only necessary if the message isn't sent in the channel itself. """ diff --git a/plugins/Unix/plugin.py b/plugins/Unix/plugin.py index cb7027c46..ef46eacbc 100644 --- a/plugins/Unix/plugin.py +++ b/plugins/Unix/plugin.py @@ -113,7 +113,7 @@ class Unix(callbacks.Plugin): def crypt(self, irc, msg, args, password, salt): """ [] - Returns the resulting of doing a crypt() on If is + Returns the resulting of doing a crypt() on . If is not given, uses a random salt. If running on a glibc2 system, prepending '$1$' to your salt will cause crypt to return an MD5sum based crypt rather than the standard DES based crypt. diff --git a/src/version.py b/src/version.py index 445eb7744..88ce9a07a 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-07T12:04:31+0200)' +version = '0.83.4.1+limnoria (2011-08-10T11:26:47+0200)' From bc36debe2ff3fc0d9195ea0be168cf0b5a974004 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Wed, 10 Aug 2011 11:44:57 +0200 Subject: [PATCH 211/244] ChannelLogger & Format & Karma & Later & Misc & Owner & Reply & Seen & Status & Todo & URL & Unix: Update messages.pot and l10n-fr. --- plugins/ChannelLogger/locale/fr.po | 4 +-- plugins/ChannelLogger/messages.pot | 4 +-- plugins/Format/locale/fr.po | 6 ++-- plugins/Format/messages.pot | 4 +-- plugins/Karma/locale/fr.po | 35 +++++++++----------- plugins/Karma/messages.pot | 4 +-- plugins/Later/locale/fr.po | 23 +++++++++++-- plugins/Later/messages.pot | 21 ++++++++++-- plugins/Misc/locale/fr.po | 10 +++--- plugins/Misc/messages.pot | 8 ++--- plugins/Owner/locale/fr.po | 6 ++-- plugins/Owner/messages.pot | 4 +-- plugins/Reply/locale/fr.po | 6 ++-- plugins/Reply/messages.pot | 4 +-- plugins/Seen/locale/fr.po | 42 ++++++++++++------------ plugins/Seen/messages.pot | 36 ++++++++++----------- plugins/Status/locale/fr.po | 6 ++-- plugins/Status/messages.pot | 4 +-- plugins/Todo/locale/fr.po | 52 ++++++++++++++++++------------ plugins/Todo/messages.pot | 48 ++++++++++++++++----------- plugins/URL/locale/fr.po | 8 ++--- plugins/URL/messages.pot | 6 ++-- plugins/Unix/locale/fr.po | 4 +-- plugins/Unix/messages.pot | 4 +-- src/version.py | 2 +- 25 files changed, 202 insertions(+), 149 deletions(-) diff --git a/plugins/ChannelLogger/locale/fr.po b/plugins/ChannelLogger/locale/fr.po index d2561747e..548185315 100644 --- a/plugins/ChannelLogger/locale/fr.po +++ b/plugins/ChannelLogger/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2010-10-17 10:02+CEST\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -89,7 +89,7 @@ msgstr "Détermine si le bot utilisera un timestamp (déterminé par supybot.plu #: config.py:88 msgid "" "Determines what timestamp format will be used in\n" -" the directory stucture for channel logs if\n" +" the directory structure for channel logs if\n" " supybot.plugins.ChannelLogger.directories.timestamp is True." msgstr "Détermine quel format de timestamp sera utilisé dans la structure de répertoires pour les logs de canaux si supybot.plugins.ChannelLogger.directories.timestamp est True." diff --git a/plugins/ChannelLogger/messages.pot b/plugins/ChannelLogger/messages.pot index 33971af4c..9ad93a3b3 100644 --- a/plugins/ChannelLogger/messages.pot +++ b/plugins/ChannelLogger/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -91,7 +91,7 @@ msgstr "" #: config.py:88 msgid "" "Determines what timestamp format will be used in\n" -" the directory stucture for channel logs if\n" +" the directory structure for channel logs if\n" " supybot.plugins.ChannelLogger.directories.timestamp is True." msgstr "" diff --git a/plugins/Format/locale/fr.po b/plugins/Format/locale/fr.po index 5a63b2359..06bed1be7 100644 --- a/plugins/Format/locale/fr.po +++ b/plugins/Format/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -143,10 +143,11 @@ msgstr "" "Retourne le texte, mis en majuscules de titre." #: plugin.py:148 +#, fuzzy msgid "" "\n" "\n" -" Returns the text surrounded by double quotes.\n" +" Returns surrounded by double quotes.\n" " " msgstr "" "\n" @@ -206,4 +207,3 @@ msgstr "" #: plugin.py:206 msgid "Not enough arguments for the format string." msgstr "Pas assez d'arguments pour formatter la chaîne." - diff --git a/plugins/Format/messages.pot b/plugins/Format/messages.pot index 26459323f..c8e239ef8 100644 --- a/plugins/Format/messages.pot +++ b/plugins/Format/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -127,7 +127,7 @@ msgstr "" msgid "" "\n" "\n" -" Returns the text surrounded by double quotes.\n" +" Returns surrounded by double quotes.\n" " " msgstr "" diff --git a/plugins/Karma/locale/fr.po b/plugins/Karma/locale/fr.po index 6c13cc654..040cdf3e6 100644 --- a/plugins/Karma/locale/fr.po +++ b/plugins/Karma/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2010-10-28 15:19+CEST\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -32,9 +32,10 @@ msgid "" msgstr "Détermine combien de plus haut/bas karmas sont affichés lorsque karma est appelé sans argument." #: config.py:55 +#, fuzzy msgid "" "Determines how many karma things are shown when\n" -" the most command is called.'" +" the most command is called." msgstr "Détermine combien de karmas sont affichés lorsque la commande most est appelée." #: config.py:58 @@ -49,12 +50,11 @@ msgid "" " increase/decrease karma without being addressed." msgstr "Détermine si le bot augmentera/diminuera le karma sans que l'on s'adresse à lui." -#: plugin.py:243 -#: plugin.py:251 +#: plugin.py:247 plugin.py:255 msgid "You're not allowed to adjust your own karma." msgstr "Vous n'êtes pas autorisé à modifier votre propre karma." -#: plugin.py:280 +#: plugin.py:284 msgid "" "[] [ ...]\n" "\n" @@ -70,37 +70,35 @@ msgstr "" "\n" "Retourne le karma de l'. Si l' n'est pas donné, retourne les trois premiers et derniers karmas. Si une est donnée, retourne les détails de son karma ; si plus d'une est donnée, retourne le karma total de chacune de ces choses. Le n'est nécessaire que si la commande n'est pas envoyée sur le canal lui-même." -#: plugin.py:293 +#: plugin.py:297 msgid "%s has neutral karma." msgstr "%s a un karma neutre." -#: plugin.py:300 +#: plugin.py:304 msgid "Karma for %q has been increased %n and decreased %n for a total karma of %s." msgstr "Le karma de %q a été augmenté %n fois et diminué %n fois, pour un karma total de %s." -#: plugin.py:302 -#: plugin.py:303 +#: plugin.py:306 plugin.py:307 msgid "time" msgstr "" -#: plugin.py:316 +#: plugin.py:320 msgid "I didn't know the karma for any of those things." msgstr "Je ne connais le karma d'aucune de ces choses." -#: plugin.py:326 -#: plugin.py:355 +#: plugin.py:330 plugin.py:359 msgid "I have no karma for this channel." msgstr "Je n'ai pas de karma pour ce canal." -#: plugin.py:331 +#: plugin.py:335 msgid " You (%s) are ranked %i out of %i." msgstr " Vous (%s) êtes #%i sur %i" -#: plugin.py:335 +#: plugin.py:339 msgid "Highest karma: %L. Lowest karma: %L.%s" msgstr "Plus haut karma : %L. Plus bas karma : %L.%s" -#: plugin.py:343 +#: plugin.py:347 msgid "" "[] {increased,decreased,active}\n" "\n" @@ -113,7 +111,7 @@ msgstr "" "\n" "Retourne le plus augmenté (increased), le plus descendu (decreased), ou le plus actif (la somme des montées et descentes) des karmas. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:361 +#: plugin.py:365 msgid "" "[] \n" "\n" @@ -124,7 +122,7 @@ msgstr "" "\n" "Redéfinit le karma de à 0." -#: plugin.py:371 +#: plugin.py:375 msgid "" "[] \n" "\n" @@ -137,7 +135,7 @@ msgstr "" "\n" "Exporte la base de données des Karma du dans le dans le répertoire de données du bot. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:383 +#: plugin.py:387 msgid "" "[] \n" "\n" @@ -149,4 +147,3 @@ msgstr "" "[] \n" "\n" "Charge la base de données des Karma du du dans le répertoire de données du bot. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." - diff --git a/plugins/Karma/messages.pot b/plugins/Karma/messages.pot index 2e2581232..3e35be41a 100644 --- a/plugins/Karma/messages.pot +++ b/plugins/Karma/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,7 +36,7 @@ msgstr "" #: config.py:55 msgid "" "Determines how many karma things are shown when\n" -" the most command is called.'" +" the most command is called." msgstr "" #: config.py:58 diff --git a/plugins/Later/locale/fr.po b/plugins/Later/locale/fr.po index a168128ad..c06e1a0be 100644 --- a/plugins/Later/locale/fr.po +++ b/plugins/Later/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -130,7 +130,26 @@ msgstr "" msgid "There were no notes for %r" msgstr "Il n'y a pas de note pour %r" -#: plugin.py:231 +#: plugin.py:212 +msgid "" +"\n" +"\n" +" Removes the latest note you sent to .\n" +" " +msgstr "" +"\n" +"\n" +"Supprime la dernière note que vous avez envoyée à ." + +#: plugin.py:217 +msgid "There are no note waiting for %s." +msgstr "Il n'y a pas de note en attente de %r" + +#: plugin.py:228 +msgid "There are no note from you waiting for %s." +msgstr "Il n'y a pas de note de vous en attente pour %s." + +#: plugin.py:252 msgid "Sent %s: <%s> %s" msgstr "Envoyé %s : <%s> %s" diff --git a/plugins/Later/messages.pot b/plugins/Later/messages.pot index f2a8597af..cbdeaecfc 100644 --- a/plugins/Later/messages.pot +++ b/plugins/Later/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -128,7 +128,24 @@ msgstr "" msgid "There were no notes for %r" msgstr "" -#: plugin.py:231 +#: plugin.py:212 +#, docstring +msgid "" +"\n" +"\n" +" Removes the latest note you sent to .\n" +" " +msgstr "" + +#: plugin.py:217 +msgid "There are no note waiting for %s." +msgstr "" + +#: plugin.py:228 +msgid "There are no note from you waiting for %s." +msgstr "" + +#: plugin.py:252 msgid "Sent %s: <%s> %s" msgstr "" diff --git a/plugins/Misc/locale/fr.po b/plugins/Misc/locale/fr.po index fbe78fc34..b247ccad9 100644 --- a/plugins/Misc/locale/fr.po +++ b/plugins/Misc/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-07-10 18:59+CEST\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -143,12 +143,12 @@ msgstr "La version de ce Supybot est %s. %s" msgid "" "takes no arguments\n" "\n" -" Returns a URL saying where to get Supybot.\n" +" Returns a URL saying where to get Limnoria.\n" " " msgstr "" "ne prend pas d'argument\n" "\n" -"Retourne une URL disant où trouver Supybot." +"Retourne une URL disant où trouver Limnoria." #: plugin.py:243 msgid "My source is at https://github.com/ProgVal/Limnoria" @@ -241,7 +241,7 @@ msgstr "Je n'ai pas vu %s, je vous laisse lui dire." msgid "%s wants me to tell you: %s" msgstr "%s veut que je vous dise : %s" -#: plugin.py:430 +#: plugin.py:431 msgid "" "takes no arguments\n" "\n" @@ -252,7 +252,7 @@ msgstr "" "\n" "Vérifie si le bot est encore en vie." -#: plugin.py:434 +#: plugin.py:435 msgid "pong" msgstr "pong" diff --git a/plugins/Misc/messages.pot b/plugins/Misc/messages.pot index 8303bdf02..73d72491a 100644 --- a/plugins/Misc/messages.pot +++ b/plugins/Misc/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-07-10 18:59+CEST\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -138,7 +138,7 @@ msgstr "" msgid "" "takes no arguments\n" "\n" -" Returns a URL saying where to get Supybot.\n" +" Returns a URL saying where to get Limnoria.\n" " " msgstr "" @@ -227,7 +227,7 @@ msgstr "" msgid "%s wants me to tell you: %s" msgstr "" -#: plugin.py:430 +#: plugin.py:431 #, docstring msgid "" "takes no arguments\n" @@ -236,7 +236,7 @@ msgid "" " " msgstr "" -#: plugin.py:434 +#: plugin.py:435 msgid "pong" msgstr "" diff --git a/plugins/Owner/locale/fr.po b/plugins/Owner/locale/fr.po index ea3500f3c..ea6f5c154 100644 --- a/plugins/Owner/locale/fr.po +++ b/plugins/Owner/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -94,12 +94,12 @@ msgid "" " Runs the standard upkeep stuff (flushes and gc.collects()). If given\n" " a level, runs that level of upkeep (currently, the only supported\n" " level is \"high\", which causes the bot to flush a lot of caches as well\n" -" as do normal upkeep stuff.\n" +" as do normal upkeep stuff).\n" " " msgstr "" "[]\n" "\n" -"Renvoie le 'upkeep' standard (flushes et gc.collect()). Si un niveau est donné, lance le niveau d'upkeep (actuellement, le seul niveau supporté est \"high\", ce qui fait que le bot vide beaucoup plus de cache que ce qu'il fait normalement)." +"Lance le 'upkeep' standard (flushes et gc.collect()). Si un niveau est donné, lance le niveau d'upkeep (actuellement, le seul niveau supporté est \"high\", ce qui fait que le bot vide beaucoup plus de cache que ce qu'il fait normalement)." #: plugin.py:415 msgid "" diff --git a/plugins/Owner/messages.pot b/plugins/Owner/messages.pot index 8f5e189d3..0167928e8 100644 --- a/plugins/Owner/messages.pot +++ b/plugins/Owner/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -85,7 +85,7 @@ msgid "" " Runs the standard upkeep stuff (flushes and gc.collects()). If given\n" " a level, runs that level of upkeep (currently, the only supported\n" " level is \"high\", which causes the bot to flush a lot of caches as well\n" -" as do normal upkeep stuff.\n" +" as do normal upkeep stuff).\n" " " msgstr "" diff --git a/plugins/Reply/locale/fr.po b/plugins/Reply/locale/fr.po index fb79373b6..8ef1aaad1 100644 --- a/plugins/Reply/locale/fr.po +++ b/plugins/Reply/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -34,10 +34,11 @@ msgstr "" "Répond avec le en privé. Utile pour les commandes imbriquées." #: plugin.py:53 +#, fuzzy msgid "" "\n" "\n" -" Replies with as an action. use nested commands to your benefit\n" +" Replies with as an action. Use nested commands to your benefit\n" " here.\n" " " msgstr "" @@ -79,4 +80,3 @@ msgstr "" " [ ...]\n" "\n" "Répond avec chacun des s dans des réponses séparées, en fonction de la configutation de supybot.reply.oneToOne." - diff --git a/plugins/Reply/messages.pot b/plugins/Reply/messages.pot index 7c201b043..9bd93fe51 100644 --- a/plugins/Reply/messages.pot +++ b/plugins/Reply/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -39,7 +39,7 @@ msgstr "" msgid "" "\n" "\n" -" Replies with as an action. use nested commands to your benefit\n" +" Replies with as an action. Use nested commands to your benefit\n" " here.\n" " " msgstr "" diff --git a/plugins/Seen/locale/fr.po b/plugins/Seen/locale/fr.po index a675a3251..c2461fd2a 100644 --- a/plugins/Seen/locale/fr.po +++ b/plugins/Seen/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2010-10-20 08:52+CEST\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -13,46 +13,46 @@ msgstr "" "X-Poedit-Country: France\n" "X-Poedit-SourceCharset: ASCII\n" -#: plugin.py:203 -#: plugin.py:284 +#: plugin.py:204 +#: plugin.py:285 msgid "%s was last seen in %s %s ago: %s" msgstr "%s a été vu pour la dernière fois sur %i il y a %s : %s" -#: plugin.py:210 +#: plugin.py:211 msgid "%s (%s ago)" msgstr "%s (il y a %s)" -#: plugin.py:212 +#: plugin.py:213 msgid "%s could be %L" msgstr "%s doit être %L" -#: plugin.py:212 +#: plugin.py:213 msgid "or" msgstr "ou" -#: plugin.py:214 +#: plugin.py:215 msgid "I haven't seen anyone matching %s." msgstr "Je n'ai vu personne correspondant à %s." -#: plugin.py:216 -#: plugin.py:288 +#: plugin.py:217 +#: plugin.py:289 msgid "I have not seen %s." msgstr "Je n'ai pas vu %s." -#: plugin.py:220 +#: plugin.py:221 msgid "" "[] \n" "\n" " Returns the last time was seen and what was last seen\n" " saying. is only necessary if the message isn't sent on the\n" -" channel itself.\n" +" channel itself. may contain * as a wildcard.\n" " " msgstr "" "[] \n" "\n" -"Retourne la dernière fois que le a été vu et la dernière fois que a parlé. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." +"Retourne la dernière fois que le a été vu et la dernière fois que a parlé. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même. peut contenir le joker *." -#: plugin.py:231 +#: plugin.py:232 msgid "" "[] [--user ] []\n" "\n" @@ -68,15 +68,15 @@ msgstr "" "\n" "Retourne la dernière fois que le a été vu et ce quand il a fait quelque chose pour la première fois. Cela inclue toute forme d'activité, et pas uniquement envoyer des messages. Si le n'est pas donné, retourne la dernière activité vue sur le . Si --user est spécifié, recherche le nom dans la base de données des utilisateurs la dernière fois que celui en question a été vu actif sur le n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:261 +#: plugin.py:262 msgid "Someone was last seen in %s %s ago: %s" msgstr "Quelqu'un a été vu pour la dernière fois sur %s il y a %s : %s" -#: plugin.py:265 +#: plugin.py:266 msgid "I have never seen anyone." msgstr "Je n'ai jamais vu personne." -#: plugin.py:269 +#: plugin.py:270 msgid "" "[]\n" "\n" @@ -88,7 +88,7 @@ msgstr "" "\n" "Retourne la dernière chose dite sur le . n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:292 +#: plugin.py:293 msgid "" "[] \n" "\n" @@ -103,7 +103,7 @@ msgstr "" "\n" "Retourne la dernière fois que a été vu et la dernière fois que a été vu parler. Cela recherche dans la base de données des utilisateurs vus, ce qui signifie que si le nick n'était pas reconnu comme l'utilisateur , il n'est pas considéré comme vu. n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même." -#: plugin.py:305 +#: plugin.py:306 msgid "" "[] \n" "\n" @@ -114,15 +114,15 @@ msgstr "" "\n" "Retourne les messages depuis que est parti du canal." -#: plugin.py:312 +#: plugin.py:313 msgid "You must be in %s to use this command." msgstr "Vous devez être sur %s pour utiliser cette commande." -#: plugin.py:333 +#: plugin.py:334 msgid "I couldn't find in my history of %s messages where %r last left the %s" msgstr "Je ne peux pas trouver dans mon historique de %s messages, où %r a quitté il y a %s" -#: plugin.py:342 +#: plugin.py:343 msgid "Either %s didn't leave, or no messages were sent while %s was gone." msgstr "Soit %s n'est jamais parti, soit aucun message n'a été envoyé depuis qu'il est parti." diff --git a/plugins/Seen/messages.pot b/plugins/Seen/messages.pot index 24e0ab3bd..0613f4983 100644 --- a/plugins/Seen/messages.pot +++ b/plugins/Seen/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,42 +15,42 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" -#: plugin.py:203 plugin.py:284 +#: plugin.py:204 plugin.py:285 msgid "%s was last seen in %s %s ago: %s" msgstr "" -#: plugin.py:210 +#: plugin.py:211 msgid "%s (%s ago)" msgstr "" -#: plugin.py:212 +#: plugin.py:213 msgid "%s could be %L" msgstr "" -#: plugin.py:212 +#: plugin.py:213 msgid "or" msgstr "" -#: plugin.py:214 +#: plugin.py:215 msgid "I haven't seen anyone matching %s." msgstr "" -#: plugin.py:216 plugin.py:288 +#: plugin.py:217 plugin.py:289 msgid "I have not seen %s." msgstr "" -#: plugin.py:220 +#: plugin.py:221 #, docstring msgid "" "[] \n" "\n" " Returns the last time was seen and what was last seen\n" " saying. is only necessary if the message isn't sent on the\n" -" channel itself.\n" +" channel itself. may contain * as a wildcard.\n" " " msgstr "" -#: plugin.py:231 +#: plugin.py:232 #, docstring msgid "" "[] [--user ] []\n" @@ -64,15 +64,15 @@ msgid "" " " msgstr "" -#: plugin.py:261 +#: plugin.py:262 msgid "Someone was last seen in %s %s ago: %s" msgstr "" -#: plugin.py:265 +#: plugin.py:266 msgid "I have never seen anyone." msgstr "" -#: plugin.py:269 +#: plugin.py:270 #, docstring msgid "" "[]\n" @@ -82,7 +82,7 @@ msgid "" " " msgstr "" -#: plugin.py:292 +#: plugin.py:293 #, docstring msgid "" "[] \n" @@ -95,7 +95,7 @@ msgid "" " " msgstr "" -#: plugin.py:305 +#: plugin.py:306 #, docstring msgid "" "[] \n" @@ -104,15 +104,15 @@ msgid "" " " msgstr "" -#: plugin.py:312 +#: plugin.py:313 msgid "You must be in %s to use this command." msgstr "" -#: plugin.py:333 +#: plugin.py:334 msgid "I couldn't find in my history of %s messages where %r last left the %s" msgstr "" -#: plugin.py:342 +#: plugin.py:343 msgid "Either %s didn't leave, or no messages were sent while %s was gone." msgstr "" diff --git a/plugins/Status/locale/fr.po b/plugins/Status/locale/fr.po index bb02d64b1..817300343 100644 --- a/plugins/Status/locale/fr.po +++ b/plugins/Status/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -100,7 +100,8 @@ msgstr "" "Retourne quelques statistiques intéressantes reliées au CPU." #: plugin.py:131 -msgid "My children have taken %.2f seconds of user time and %.2f seconds of system time for a total of %.2f seconds of CPU time. " +#, fuzzy +msgid "My children have taken %.2f seconds of user time and %.2f seconds of system time for a total of %.2f seconds of CPU time." msgstr "Mes enfants ont pris %.2f secondes du temps utilisateur et %.2f secondes du temps système, pour un total de %.2f secondes de temps CPU." #: plugin.py:138 @@ -166,4 +167,3 @@ msgstr "" "ne prend pas d'argument\n" "\n" "Retourne le(s) serveur(s) sur le(s)quel(s) le bot est." - diff --git a/plugins/Status/messages.pot b/plugins/Status/messages.pot index cdbf6390e..cde3e4d90 100644 --- a/plugins/Status/messages.pot +++ b/plugins/Status/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -94,7 +94,7 @@ msgid "" msgstr "" #: plugin.py:131 -msgid "My children have taken %.2f seconds of user time and %.2f seconds of system time for a total of %.2f seconds of CPU time. " +msgid "My children have taken %.2f seconds of user time and %.2f seconds of system time for a total of %.2f seconds of CPU time." msgstr "" #: plugin.py:138 diff --git a/plugins/Todo/locale/fr.po b/plugins/Todo/locale/fr.po index 20638e8fb..dc9297752 100644 --- a/plugins/Todo/locale/fr.po +++ b/plugins/Todo/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-06-23 11:33+CEST\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -13,6 +13,12 @@ msgstr "" "X-Poedit-Country: France\n" "X-Poedit-SourceCharset: ASCII\n" +#: config.py:50 +msgid "" +"Determines whether users can read the\n" +" todo-list of another user." +msgstr "Détermine si les utilisateurs peuvent lire la todo-list d'autres utilisateurs." + #: plugin.py:135 msgid "" "[] []\n" @@ -26,45 +32,49 @@ msgstr "" "\n" "Récupère la tâche correspondant à l' donné. Si aucun id n'est donné, retourne une liste d'ids que cet utilisateur a ajouté à sa liste." -#: plugin.py:150 +#: plugin.py:146 +msgid "You are not allowed to see other users todo-list." +msgstr "Vous n'êtes pas autorisé(e) à voir la todo-list d'autres utilisateurs." + +#: plugin.py:153 msgid "#%i: %s" msgstr "#%i : %s" -#: plugin.py:155 +#: plugin.py:158 msgid "%s for %s: %L" msgstr "%s pour %s : %L" -#: plugin.py:159 +#: plugin.py:162 msgid "That user has no tasks in their todo list." msgstr "Cet utilisateur n'a pas de tâche dans sa todo-list." -#: plugin.py:161 +#: plugin.py:164 msgid "You have no tasks in your todo list." msgstr "Vous n'avez pas de tâche dans votre todo-list." -#: plugin.py:168 +#: plugin.py:171 msgid "Active" msgstr "Active" -#: plugin.py:170 +#: plugin.py:173 msgid "Inactive" msgstr "Inactive" -#: plugin.py:172 +#: plugin.py:175 msgid ", priority: %i" msgstr ", priorité : %i" -#: plugin.py:175 +#: plugin.py:178 msgid "%s todo for %s: %s (Added at %s)" msgstr "%s tâche pour %s : %s (Ajoutée à %s)" -#: plugin.py:179 -#: plugin.py:260 -#: plugin.py:274 +#: plugin.py:182 +#: plugin.py:263 +#: plugin.py:277 msgid "task id" msgstr "id de tâche" -#: plugin.py:184 +#: plugin.py:187 msgid "" "[--priority=] \n" "\n" @@ -77,11 +87,11 @@ msgstr "" "\n" "Ajoute le comme une tâche dans votre liste personnelle de choses à faire. L'argument 'priority' optionnel vous permet de définir une priorité faible ou grande. Tout entier est accepté." -#: plugin.py:195 +#: plugin.py:198 msgid "(Todo #%i added)" msgstr "(Tâche #%i ajoutée)" -#: plugin.py:201 +#: plugin.py:204 msgid "" " [ ...]\n" "\n" @@ -92,15 +102,15 @@ msgstr "" "\n" "Supprime différentes tâches, désignées par leur ID, de votre liste personnelle de choses à faire." -#: plugin.py:212 +#: plugin.py:215 msgid "Task %i could not be removed either because that id doesn't exist or it has been removed already." msgstr "La tâche %i ne peut être supprimée car cet id n'existe pas, ou a déjà été supprimé." -#: plugin.py:216 +#: plugin.py:219 msgid "No tasks were removed because the following tasks could not be removed: %L." msgstr "Aucune tâche n'a été supprimée car les tâches suivantes ne peuvent l'être : %L." -#: plugin.py:226 +#: plugin.py:229 msgid "" "[--{regexp} ] [ ...]\n" "\n" @@ -113,11 +123,11 @@ msgstr "" "\n" "Recherche parmis vos tâches celle(s) correspondant au . Si --regexp est donné, il prend la valeur associée comme étant une expression régulière et re-teste les tâches." -#: plugin.py:246 +#: plugin.py:249 msgid "No tasks matched that query." msgstr "Aucune tâche ne correspond à cette requête." -#: plugin.py:252 +#: plugin.py:255 msgid "" " \n" "\n" @@ -128,7 +138,7 @@ msgstr "" "\n" "Défini la priorité de la tâche d' donné, à la valeur choisie." -#: plugin.py:266 +#: plugin.py:269 msgid "" " \n" "\n" diff --git a/plugins/Todo/messages.pot b/plugins/Todo/messages.pot index 48525ab09..f22080184 100644 --- a/plugins/Todo/messages.pot +++ b/plugins/Todo/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-06-23 11:33+CEST\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,6 +15,12 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" +#: config.py:50 +msgid "" +"Determines whether users can read the\n" +" todo-list of another user." +msgstr "" + #: plugin.py:135 #, docstring msgid "" @@ -26,43 +32,47 @@ msgid "" " " msgstr "" -#: plugin.py:150 +#: plugin.py:146 +msgid "You are not allowed to see other users todo-list." +msgstr "" + +#: plugin.py:153 msgid "#%i: %s" msgstr "" -#: plugin.py:155 +#: plugin.py:158 msgid "%s for %s: %L" msgstr "" -#: plugin.py:159 +#: plugin.py:162 msgid "That user has no tasks in their todo list." msgstr "" -#: plugin.py:161 +#: plugin.py:164 msgid "You have no tasks in your todo list." msgstr "" -#: plugin.py:168 +#: plugin.py:171 msgid "Active" msgstr "" -#: plugin.py:170 +#: plugin.py:173 msgid "Inactive" msgstr "" -#: plugin.py:172 +#: plugin.py:175 msgid ", priority: %i" msgstr "" -#: plugin.py:175 +#: plugin.py:178 msgid "%s todo for %s: %s (Added at %s)" msgstr "" -#: plugin.py:179 plugin.py:260 plugin.py:274 +#: plugin.py:182 plugin.py:263 plugin.py:277 msgid "task id" msgstr "" -#: plugin.py:184 +#: plugin.py:187 #, docstring msgid "" "[--priority=] \n" @@ -73,11 +83,11 @@ msgid "" " " msgstr "" -#: plugin.py:195 +#: plugin.py:198 msgid "(Todo #%i added)" msgstr "" -#: plugin.py:201 +#: plugin.py:204 #, docstring msgid "" " [ ...]\n" @@ -86,15 +96,15 @@ msgid "" " " msgstr "" -#: plugin.py:212 +#: plugin.py:215 msgid "Task %i could not be removed either because that id doesn't exist or it has been removed already." msgstr "" -#: plugin.py:216 +#: plugin.py:219 msgid "No tasks were removed because the following tasks could not be removed: %L." msgstr "" -#: plugin.py:226 +#: plugin.py:229 #, docstring msgid "" "[--{regexp} ] [ ...]\n" @@ -105,11 +115,11 @@ msgid "" " " msgstr "" -#: plugin.py:246 +#: plugin.py:249 msgid "No tasks matched that query." msgstr "" -#: plugin.py:252 +#: plugin.py:255 #, docstring msgid "" " \n" @@ -118,7 +128,7 @@ msgid "" " " msgstr "" -#: plugin.py:266 +#: plugin.py:269 #, docstring msgid "" " \n" diff --git a/plugins/URL/locale/fr.po b/plugins/URL/locale/fr.po index b670cd689..95625c6d4 100644 --- a/plugins/URL/locale/fr.po +++ b/plugins/URL/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2010-10-20 09:38+CEST\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -38,14 +38,15 @@ msgid "I have %n in my database." msgstr "J'ai %n dans ma base de données." #: plugin.py:101 +#, fuzzy msgid "" "[] [--{from,with,without,near,proto} ] [--nolimit]\n" "\n" " Gives the last URL matching the given criteria. --from is from whom\n" " the URL came; --proto is the protocol the URL used; --with is something\n" " inside the URL; --without is something that should not be in the URL;\n" -" --near is something in the same message as the URL; If --nolimit is\n" -" given, returns all the URLs that are found. to just the URL.\n" +" --near is something in the same message as the URL. If --nolimit is\n" +" given, returns all the URLs that are found to just the URL.\n" " is only necessary if the message isn't sent in the channel\n" " itself.\n" " " @@ -57,4 +58,3 @@ msgstr "" #: plugin.py:143 msgid "No URLs matched that criteria." msgstr "Aucune URL ne correspond à ces critères." - diff --git a/plugins/URL/messages.pot b/plugins/URL/messages.pot index e9581dddb..7372aeed2 100644 --- a/plugins/URL/messages.pot +++ b/plugins/URL/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -45,8 +45,8 @@ msgid "" " Gives the last URL matching the given criteria. --from is from whom\n" " the URL came; --proto is the protocol the URL used; --with is something\n" " inside the URL; --without is something that should not be in the URL;\n" -" --near is something in the same message as the URL; If --nolimit is\n" -" given, returns all the URLs that are found. to just the URL.\n" +" --near is something in the same message as the URL. If --nolimit is\n" +" given, returns all the URLs that are found to just the URL.\n" " is only necessary if the message isn't sent in the channel\n" " itself.\n" " " diff --git a/plugins/Unix/locale/fr.po b/plugins/Unix/locale/fr.po index 9e6c8c717..3c64b786c 100644 --- a/plugins/Unix/locale/fr.po +++ b/plugins/Unix/locale/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Valentin Lorentz \n" "Language-Team: Supybot-fr \n" @@ -121,7 +121,7 @@ msgstr "" msgid "" " []\n" "\n" -" Returns the resulting of doing a crypt() on If is\n" +" Returns the resulting of doing a crypt() on . If is\n" " not given, uses a random salt. If running on a glibc2 system,\n" " prepending '$1$' to your salt will cause crypt to return an MD5sum\n" " based crypt rather than the standard DES based crypt.\n" diff --git a/plugins/Unix/messages.pot b/plugins/Unix/messages.pot index d871bdd01..ca4264c92 100644 --- a/plugins/Unix/messages.pot +++ b/plugins/Unix/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -118,7 +118,7 @@ msgstr "" msgid "" " []\n" "\n" -" Returns the resulting of doing a crypt() on If is\n" +" Returns the resulting of doing a crypt() on . If is\n" " not given, uses a random salt. If running on a glibc2 system,\n" " prepending '$1$' to your salt will cause crypt to return an MD5sum\n" " based crypt rather than the standard DES based crypt.\n" diff --git a/src/version.py b/src/version.py index 88ce9a07a..b7d489207 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-10T11:26:47+0200)' +version = '0.83.4.1+limnoria (2011-08-10T11:44:57+0200)' From cf436631d686495db801ff03838cc7458a892169 Mon Sep 17 00:00:00 2001 From: skizzhg Date: Wed, 10 Aug 2011 11:48:07 +0200 Subject: [PATCH 212/244] Admin & Anonymous & AutoMode & Channel & Misc & NickCapture & Seen & Todo & URL: Update l10n-it. --- plugins/Admin/locale/it.po | 4 ++-- plugins/Anonymous/locale/it.po | 18 +++++++++++++++++- plugins/AutoMode/locale/it.po | 8 ++++---- plugins/Channel/locale/it.po | 4 ++-- plugins/Misc/locale/it.po | 4 ++-- plugins/NickCapture/locale/it.po | 6 +++--- plugins/Seen/locale/it.po | 4 ++-- plugins/Todo/locale/it.po | 6 +++--- plugins/URL/locale/it.po | 4 ++-- src/version.py | 2 +- 10 files changed, 38 insertions(+), 22 deletions(-) diff --git a/plugins/Admin/locale/it.po b/plugins/Admin/locale/it.po index 1fb28a4e2..02420d7fe 100644 --- a/plugins/Admin/locale/it.po +++ b/plugins/Admin/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-31 10:07+0200\n" +"PO-Revision-Date: 2011-08-09 23:57+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -133,7 +133,7 @@ msgid "" " \n" "\n" " Gives the user specified by (or the user to whom \n" -" currently maps) the specified capability .\n" +" currently maps) the specified capability \n" " " msgstr "" " \n" diff --git a/plugins/Anonymous/locale/it.po b/plugins/Anonymous/locale/it.po index 35a93e4b4..3d4ca3b74 100644 --- a/plugins/Anonymous/locale/it.po +++ b/plugins/Anonymous/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-31 10:39+0200\n" +"PO-Revision-Date: 2011-08-10 00:13+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -72,6 +72,22 @@ msgstr "" " supybot.plugins.Anonymous.requireRegistration, che l'utente sia registrato." " " +#: plugin.py:64 +msgid "You must be in %s to %q in there." +msgstr "Devi essere in %s per %q." + +#: plugin.py:68 +msgid "I'm lobotomized in %s." +msgstr "In %s sono lobotomizzato." + +#: plugin.py:71 +msgid "That channel has set its capabilities so as to disallow the use of this plugin." +msgstr "Questo canale ha le capacità impostate in modo da impedire l'utilizzo di questo plugin." + +#: plugin.py:74 +msgid "%q cannot be used to send private messages." +msgstr "%q non può essere usato per inviare messaggi privati." + #: plugin.py:80 #, docstring msgid "" diff --git a/plugins/AutoMode/locale/it.po b/plugins/AutoMode/locale/it.po index 831f833a6..a11d4c13f 100644 --- a/plugins/AutoMode/locale/it.po +++ b/plugins/AutoMode/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-31 10:15+0200\n" +"PO-Revision-Date: 2011-08-10 00:29+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -22,15 +22,15 @@ msgstr "" #: config.py:49 msgid "" "Determines whether this plugin will automode\n" -" owners even if they don't have op/halfop/voice/whatever capability.." +" owners even if they don't have op/halfop/voice/whatever capability." msgstr "" "Determina se il plugin darà automaticamente il mode ai proprietari.\n" " anche se non hanno la capacità op, halfop, voice, ecc..." #: config.py:52 msgid "" -"Determines whether the bot will \"fall through\"\n" -" to halfop/voicing when auto-opping is turned off but\n" +"Determines whether the bot will \"fall\n" +" through\" to halfop/voicing when auto-opping is turned off but\n" " auto-halfopping/voicing are turned on." msgstr "" "Determina se il the bot non darà l'halfop o il voice\n" diff --git a/plugins/Channel/locale/it.po b/plugins/Channel/locale/it.po index 82eca8842..680395f35 100644 --- a/plugins/Channel/locale/it.po +++ b/plugins/Channel/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-21 19:43+0200\n" +"PO-Revision-Date: 2011-08-10 01:23+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -646,7 +646,7 @@ msgid "" "[] {True|False}\n" "\n" " If you have the #channel,op capability, this will set the default\n" -" response to non-power-related (that is, not {op, halfop, voice}\n" +" response to non-power-related (that is, not {op, halfop, voice})\n" " capabilities to be the value you give. is only necessary\n" " if the message isn't sent in the channel itself.\n" " " diff --git a/plugins/Misc/locale/it.po b/plugins/Misc/locale/it.po index 887a0baea..17dc655a6 100644 --- a/plugins/Misc/locale/it.po +++ b/plugins/Misc/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-10 16:55+0200\n" +"PO-Revision-Date: 2011-08-10 02:11+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -37,7 +37,7 @@ msgstr "" msgid "" "Determines whether or not\n" " the timestamp will be included in the output of last when it is part of a\n" -" nested command." +" nested command" msgstr "" "Determina se il timestamp verrà incluso o meno nell'output di \"last\" quando fa parte di un comando nidificato." diff --git a/plugins/NickCapture/locale/it.po b/plugins/NickCapture/locale/it.po index 569683200..66ccee652 100644 --- a/plugins/NickCapture/locale/it.po +++ b/plugins/NickCapture/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-12 15:03+0200\n" +"PO-Revision-Date: 2011-08-10 02:13+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -28,11 +28,11 @@ msgstr "" #: plugin.py:40 #, docstring msgid "" -"This module constantly tries to take whatever nick is configured as\n" +"This plugin constantly tries to take whatever nick is configured as\n" " supybot.nick. Just make sure that's set appropriately, and thus plugin\n" " will do the rest." msgstr "" -"Questo modulo cerca costantemente di ottenere qualsiasi nick sia impostato\n" +"Questo plugin cerca costantemente di ottenere qualsiasi nick sia impostato\n" " come supybot.nick. Assicurati che questa sia configurata correttamente\n" " e il plugin farà il resto." diff --git a/plugins/Seen/locale/it.po b/plugins/Seen/locale/it.po index b86ce4d8b..71ef8369f 100644 --- a/plugins/Seen/locale/it.po +++ b/plugins/Seen/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-20 09:37+0200\n" +"PO-Revision-Date: 2011-08-10 02:27+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -104,7 +104,7 @@ msgid "" " Returns the last time was seen and what was last seen\n" " saying. This looks up in the user seen database, which means\n" " that it could be any nick recognized as user that was seen.\n" -" if the message isn't sent in the channel\n" +" is only necessary if the message isn't sent in the channel\n" " itself.\n" " " msgstr "" diff --git a/plugins/Todo/locale/it.po b/plugins/Todo/locale/it.po index 60cf0583c..ea6d8c935 100644 --- a/plugins/Todo/locale/it.po +++ b/plugins/Todo/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-19 13:29+0200\n" +"PO-Revision-Date: 2011-08-10 02:33+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -13,14 +13,14 @@ msgstr "" #: plugin.py:135 #, docstring msgid "" -"[ []|]\n" +"[] []\n" "\n" " Retrieves a task for the given task id. If no task id is given, it\n" " will return a list of task ids that that user has added to their todo\n" " list.\n" " " msgstr "" -"[ []|]\n" +"[] []\n" "\n" " Recupera il compito corrispondente a fornito. Se non è\n" " specificato alcun id, riporta un elenco degli id che quell'utente\n" diff --git a/plugins/URL/locale/it.po b/plugins/URL/locale/it.po index 102e2645f..4b22dc14a 100644 --- a/plugins/URL/locale/it.po +++ b/plugins/URL/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-15 10:54+0200\n" +"PO-Revision-Date: 2011-08-10 02:43+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -49,7 +49,7 @@ msgid "" " Gives the last URL matching the given criteria. --from is from whom\n" " the URL came; --proto is the protocol the URL used; --with is something\n" " inside the URL; --without is something that should not be in the URL;\n" -" --near is something in the same message as the URL. If --nolimit is\n" +" --near is something in the same message as the URL. If --nolimit is\n" " given, returns all the URLs that are found to just the URL.\n" " is only necessary if the message isn't sent in the channel\n" " itself.\n" diff --git a/src/version.py b/src/version.py index b7d489207..3a9278f01 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-10T11:44:57+0200)' +version = '0.83.4.1+limnoria (2011-08-10T11:48:07+0200)' From 6dca55deeb15b156f292a79d58de5009555b2d8d Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Sun, 13 Mar 2011 14:21:46 -0400 Subject: [PATCH 213/244] Services: fix problem with some channels being mixed up between networks on startup, when noJoinsUntilIdentified is true. When noJoinsUntilIdentified config is true, the bot holds join messages in a 'waitingJoins' list, and processes them once nickserv identification comes through. The problem was that when the bot is configured to join multiple networks, join messages from different networks would get appended to the same list, without any differentiation by which message belongs to which network. Thus, if there are messages waiting for multiple networks, it would often be the case that whichever network got identification done first, would 'pick up' other network's join messages. This fix stores the network name along with the join messages in the list, and has each network pick out only its own join messages. --- plugins/Services/plugin.py | 11 +++++++---- src/version.py | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/plugins/Services/plugin.py b/plugins/Services/plugin.py index 1acd35626..09f197d06 100644 --- a/plugins/Services/plugin.py +++ b/plugins/Services/plugin.py @@ -30,6 +30,7 @@ import re import time +import copy import config @@ -78,7 +79,7 @@ class Services(callbacks.Plugin): if self.registryValue('noJoinsUntilIdentified'): self.log.info('Holding JOIN to %s until identified.', msg.args[0]) - self.waitingJoins.append(msg) + self.waitingJoins.append((irc.network, msg,)) return None return msg @@ -316,9 +317,11 @@ class Services(callbacks.Plugin): for channel in self.channels: irc.queueMsg(networkGroup.channels.join(channel)) if self.waitingJoins: - for m in self.waitingJoins: - irc.sendMsg(m) - self.waitingJoins = [] + tmp_wj = copy.deepcopy(self.waitingJoins) # can't iterate over list if we're modifying it + for netname, m in tmp_wj: + if netname == irc.network: + irc.sendMsg(m) + self.waitingJoins.remove((netname, m,)) elif 'not yet authenticated' in s: # zirc.org has this, it requires an auth code. email = s.split()[-1] diff --git a/src/version.py b/src/version.py index 3a9278f01..9c662f635 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-10T11:48:07+0200)' +version = '0.83.4.1+limnoria (2011-08-10T12:00:42+0200)' From 98996be2511a95b8f1f0608b76e5af13af22d6b8 Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Mon, 8 Aug 2011 18:45:02 -0400 Subject: [PATCH 214/244] Services: catch occasional error when removing waiting joins from list --- plugins/Services/plugin.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/Services/plugin.py b/plugins/Services/plugin.py index 09f197d06..b763202c5 100644 --- a/plugins/Services/plugin.py +++ b/plugins/Services/plugin.py @@ -321,7 +321,10 @@ class Services(callbacks.Plugin): for netname, m in tmp_wj: if netname == irc.network: irc.sendMsg(m) - self.waitingJoins.remove((netname, m,)) + try: + self.waitingJoins.remove((netname, m,)) + except ValueError: + pass # weird stuff happen sometimes elif 'not yet authenticated' in s: # zirc.org has this, it requires an auth code. email = s.split()[-1] From 3dd61131a47e4d939197040281d234ea68f8c025 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 10 Aug 2011 13:05:26 +0300 Subject: [PATCH 215/244] Seen: update l10n-fi. --- plugins/Seen/locale/fi.po | 43 ++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/plugins/Seen/locale/fi.po b/plugins/Seen/locale/fi.po index 8cf3a1d73..be8b73244 100644 --- a/plugins/Seen/locale/fi.po +++ b/plugins/Seen/locale/fi.po @@ -5,48 +5,49 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-08-07 21:26+0200\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" +"PO-Revision-Date: 2011-08-10 13:04+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" -#: plugin.py:203 -#: plugin.py:284 +#: plugin.py:204 +#: plugin.py:285 msgid "%s was last seen in %s %s ago: %s" msgstr "%s nähtiin viimeeksi kanavalla %s %s sitten: %s" -#: plugin.py:210 +#: plugin.py:211 msgid "%s (%s ago)" msgstr "%s (%s sitten)" -#: plugin.py:212 +#: plugin.py:213 msgid "%s could be %L" msgstr "%s voisi olla %L" -#: plugin.py:212 +#: plugin.py:213 msgid "or" msgstr "tai" -#: plugin.py:214 +#: plugin.py:215 msgid "I haven't seen anyone matching %s." msgstr "En ole nähnyt kenenkään täsmäävän %s." -#: plugin.py:216 -#: plugin.py:288 +#: plugin.py:217 +#: plugin.py:289 msgid "I have not seen %s." msgstr "En ole nähnyt %s:ää." -#: plugin.py:220 +#: plugin.py:221 msgid "" "[] \n" "\n" " Returns the last time was seen and what was last seen\n" " saying. is only necessary if the message isn't sent on the\n" -" channel itself.\n" +" channel itself. may contain * as a wildcard.\n" " " msgstr "" "[] \n" @@ -56,7 +57,7 @@ msgstr "" " itsellään.\n" " " -#: plugin.py:231 +#: plugin.py:232 msgid "" "[] [--user ] []\n" "\n" @@ -78,15 +79,15 @@ msgstr "" " on vaadittu vain, jos viestiä ei lähetetä kanavalla itsellään.\n" " " -#: plugin.py:261 +#: plugin.py:262 msgid "Someone was last seen in %s %s ago: %s" msgstr "Joky nähtiin viimeeksi kanavalla %s %s sitten: %s" -#: plugin.py:265 +#: plugin.py:266 msgid "I have never seen anyone." msgstr "Minä en ole nähnyt ketään." -#: plugin.py:269 +#: plugin.py:270 msgid "" "[]\n" "\n" @@ -100,7 +101,7 @@ msgstr "" " viestiä ei lähetetä kanavalla itsellään.\n" " " -#: plugin.py:292 +#: plugin.py:293 msgid "" "[] \n" "\n" @@ -120,7 +121,7 @@ msgstr "" " itsellään.\n" " " -#: plugin.py:305 +#: plugin.py:306 msgid "" "[] \n" "\n" @@ -132,15 +133,15 @@ msgstr "" " Palauttaa sen jälkeiset viestit, kun viimeksi poistui kanavalta.\n" " " -#: plugin.py:312 +#: plugin.py:313 msgid "You must be in %s to use this command." msgstr "Sinun täytyy olla %s käyttääksesi tätä komentoa." -#: plugin.py:333 +#: plugin.py:334 msgid "I couldn't find in my history of %s messages where %r last left the %s" msgstr "En voinut löytää %s viestin historiasta milloin %r viimeksi lähti kanavalta %s" -#: plugin.py:342 +#: plugin.py:343 msgid "Either %s didn't leave, or no messages were sent while %s was gone." msgstr "Joko %s ei lähtenyt, tai yhtään viestiä ei lähetetty silloin, kun %s oli poissa." From 111df53b1fa4afa71f89f95e9544b5cc166a3b99 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 10 Aug 2011 13:06:55 +0300 Subject: [PATCH 216/244] Reply: update l10n-fi. --- plugins/Reply/locale/fi.po | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/Reply/locale/fi.po b/plugins/Reply/locale/fi.po index cc2e771a3..8fd7ebdf8 100644 --- a/plugins/Reply/locale/fi.po +++ b/plugins/Reply/locale/fi.po @@ -5,10 +5,11 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-30 17:22+0200\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" +"PO-Revision-Date: 2011-08-10 13:06+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -44,7 +45,7 @@ msgstr "" msgid "" "\n" "\n" -" Replies with as an action. use nested commands to your benefit\n" +" Replies with as an action. Use nested commands to your benefit\n" " here.\n" " " msgstr "" From e8201796c46b22454aceb81366d1869c6045f668 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 10 Aug 2011 14:20:09 +0300 Subject: [PATCH 217/244] Format: update l10n-fi This was copy-pasted completetly, because Poedit and msgmerge refused to update from .pot file. I also started writing better headings as skizzhg has requested. --- plugins/Format/locale/fi.po | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/plugins/Format/locale/fi.po b/plugins/Format/locale/fi.po index 1e73c4cfa..103dce83b 100644 --- a/plugins/Format/locale/fi.po +++ b/plugins/Format/locale/fi.po @@ -1,12 +1,12 @@ -# Format plugin in Limnoria -# Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR Mika Suomalainen , 2011. +# Format plugin in Limnoria. +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-19 23:14+0200\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" +"PO-Revision-Date: 2011-08-10 14:18+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -135,7 +135,6 @@ msgstr "" " " #: plugin.py:130 -#, fuzzy msgid "" "\n" "\n" @@ -163,7 +162,7 @@ msgstr "" msgid "" "\n" "\n" -" Returns the text surrounded by double quotes.\n" +" Returns surrounded by double quotes.\n" " " msgstr "" "\n" @@ -218,7 +217,6 @@ msgstr "" " " #: plugin.py:192 -#, fuzzy msgid "" " [ ...]\n" "\n" From 97c67983a1f7b4f8f768467ab615e987dac2723d Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 10 Aug 2011 14:23:54 +0300 Subject: [PATCH 218/244] Karma: update l10n-fi Updated Finnish translation in Karma. --- plugins/Karma/locale/fi.po | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/plugins/Karma/locale/fi.po b/plugins/Karma/locale/fi.po index 4ca1021e1..21433d91a 100644 --- a/plugins/Karma/locale/fi.po +++ b/plugins/Karma/locale/fi.po @@ -1,14 +1,15 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Karma plugin in Limnoria. +# Copyright (C) 2011 Limnoria # Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-24 18:54+0200\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" +"PO-Revision-Date: 2011-08-10 14:22+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -41,10 +42,10 @@ msgstr "" #: config.py:55 msgid "" "Determines how many karma things are shown when\n" -" the most command is called.'" +" the most command is called." msgstr "" "Määrittää kuinka monta karma asiaa näytetään, kun\n" -" kun most komento on pyydetty.'" +" kun \"most\" komento on pyydetty.'" #: config.py:58 msgid "" From 9ab6f2763a53340e62c129a6da3b12641ea85533 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 10 Aug 2011 14:27:55 +0300 Subject: [PATCH 219/244] Ctcp: update l10n-fi It was probably already uptodate and errors in check_trans.py were because of Poedit. --- plugins/Ctcp/locale/fi.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/Ctcp/locale/fi.po b/plugins/Ctcp/locale/fi.po index 6e452ce9e..ea7777129 100755 --- a/plugins/Ctcp/locale/fi.po +++ b/plugins/Ctcp/locale/fi.po @@ -1,12 +1,12 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Ctcp plugin in Limnoria. +# Copyright (C) 2011 Limnoria # Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-24 17:14+0200\n" +"PO-Revision-Date: 2011-08-10 14:27+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "Language: \n" From 9d885b054d4893169f474492819dc6f7c0d52936 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 10 Aug 2011 14:30:58 +0300 Subject: [PATCH 220/244] ChannelLogger: update l10n-fi. Also fixed one typo and added header. --- plugins/ChannelLogger/locale/fi.po | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/ChannelLogger/locale/fi.po b/plugins/ChannelLogger/locale/fi.po index b6d6dc404..509b72f32 100644 --- a/plugins/ChannelLogger/locale/fi.po +++ b/plugins/ChannelLogger/locale/fi.po @@ -1,7 +1,11 @@ +# ChannelLogger plugin in Limnoria. +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. +# msgid "" msgstr "" "Project-Id-Version: Supybot Channellogger\n" -"POT-Creation-Date: 2010-10-17 10:02+CEST\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" @@ -117,10 +121,10 @@ msgstr "" #: config.py:88 msgid "" "Determines what timestamp format will be used in\n" -" the directory stucture for channel logs if\n" +" the directory structure for channel logs if\n" " supybot.plugins.ChannelLogger.directories.timestamp is True." msgstr "" -"Määrittää mitä aikaleima muotoa käytetään\n" +"Määrittää mitä aikaleimamuotoa käytetään\n" " hakemistorakenteessa kanavalokeille jos\n" " supybot.plugins.ChannelLogger.directories.timestamp on True." From 8b529437684456de0b919f2e87ff6d10a30f3b70 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 10 Aug 2011 14:37:41 +0300 Subject: [PATCH 221/244] Owner: update l10n-fi Notice: Owner plugin translations will not work so this is still empty .po file, which contains what must be translated. --- plugins/Owner/locale/fi.po | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/Owner/locale/fi.po b/plugins/Owner/locale/fi.po index 5c5be35e5..63fb28011 100755 --- a/plugins/Owner/locale/fi.po +++ b/plugins/Owner/locale/fi.po @@ -1,5 +1,5 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Owner plugin in Limnoria. +# Copyright (C) 2011 Limnoria # FIRST AUTHOR , YEAR. # WARNING: Translations of Owner plugin will not work, because it's loaded directly by supybot # and translations are more like a hack to it. @@ -7,10 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-23 21:49+0200\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" +"PO-Revision-Date: 2011-08-10 14:37+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -79,7 +80,7 @@ msgid "" " Runs the standard upkeep stuff (flushes and gc.collects()). If given\n" " a level, runs that level of upkeep (currently, the only supported\n" " level is \"high\", which causes the bot to flush a lot of caches as well\n" -" as do normal upkeep stuff.\n" +" as do normal upkeep stuff).\n" " " msgstr "" From 3a9bf0fe60a0fefae196e082c4fb77c26b109aa9 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 10 Aug 2011 14:41:44 +0300 Subject: [PATCH 222/244] Later: update l10n-fi. Translated the new strings and improved header. --- plugins/Later/locale/fi.po | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/plugins/Later/locale/fi.po b/plugins/Later/locale/fi.po index f1372aa00..b6f1808cf 100644 --- a/plugins/Later/locale/fi.po +++ b/plugins/Later/locale/fi.po @@ -1,14 +1,15 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Later plugin in Limnoria. +# Copyright (C) 2011 Limnoria # Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-25 15:51+0200\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" +"PO-Revision-Date: 2011-08-10 14:41+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -163,7 +164,27 @@ msgstr "" msgid "There were no notes for %r" msgstr " %r:lle ei ollut muistiinpanoja." -#: plugin.py:231 +#: plugin.py:212 +msgid "" +"\n" +"\n" +" Removes the latest note you sent to .\n" +" " +msgstr "" +"\n" +"\n" +" Poistaa viimeisimmän muistiinpanon, jonka olet lähettänyt .\n" +" " + +#: plugin.py:217 +msgid "There are no note waiting for %s." +msgstr "%s:lle ei ole odottavia muistiinpanoja." + +#: plugin.py:228 +msgid "There are no note from you waiting for %s." +msgstr "Sinulla ei ole odottavia muistiinpanoja %s:lle." + +#: plugin.py:252 msgid "Sent %s: <%s> %s" msgstr "Lähetetty %s: <%s> %s" From 11f6220458f9655e01d31951f16db12cb10e31a8 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 10 Aug 2011 15:03:37 +0300 Subject: [PATCH 223/244] Misc: update l10n-fi Also updated header. --- plugins/Misc/locale/fi.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/plugins/Misc/locale/fi.po b/plugins/Misc/locale/fi.po index 3c1961350..38cff73f4 100644 --- a/plugins/Misc/locale/fi.po +++ b/plugins/Misc/locale/fi.po @@ -1,12 +1,12 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Misc plugin in Limnoria. +# Copyright (C) 2011 Limnoria # Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-07-10 18:59+CEST\n" -"PO-Revision-Date: 2011-07-16 21:11+0200\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" +"PO-Revision-Date: 2011-08-10 15:00+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "Language: \n" @@ -167,12 +167,12 @@ msgstr "Nykyinen (päällä) oleva versio tästä Supybotista on %s. %s" msgid "" "takes no arguments\n" "\n" -" Returns a URL saying where to get Supybot.\n" +" Returns a URL saying where to get Limnoria.\n" " " msgstr "" "ei ota parametrejä\n" "\n" -" Palauttaa URL kertoen mistä Supybotin saa.\n" +" Palauttaa URL:n, joka kertoo mistä Limnorian saa.\n" " " #: plugin.py:243 @@ -279,7 +279,7 @@ msgstr "En ole nähnyt %s:ää, annan sinun hoitaa kertomisen." msgid "%s wants me to tell you: %s" msgstr "%s haluaa minun kertovan sinulle: %s" -#: plugin.py:430 +#: plugin.py:431 msgid "" "takes no arguments\n" "\n" @@ -291,7 +291,7 @@ msgstr "" " Tarkistaa onko botti elossa.\n" " " -#: plugin.py:434 +#: plugin.py:435 msgid "pong" msgstr "pong" From 0098ab87f9d1eacab3cce883feea7ecf53c03ecc Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Wed, 10 Aug 2011 15:07:11 +0300 Subject: [PATCH 224/244] NickCapture: update l10n-fi Also updated header. --- plugins/NickCapture/locale/fi.po | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/NickCapture/locale/fi.po b/plugins/NickCapture/locale/fi.po index af9589528..828f51631 100644 --- a/plugins/NickCapture/locale/fi.po +++ b/plugins/NickCapture/locale/fi.po @@ -1,14 +1,15 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# NickCapture plugin in Limnoria. +# Copyright (C) 2011 Limnoria # Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-23 18:31+0200\n" +"PO-Revision-Date: 2011-08-10 15:06+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -32,11 +33,11 @@ msgstr "" #: plugin.py:40 msgid "" -"This module constantly tries to take whatever nick is configured as\n" +"This plugin constantly tries to take whatever nick is configured as\n" " supybot.nick. Just make sure that's set appropriately, and thus plugin\n" " will do the rest." msgstr "" -"Tämä moduuli yrittää jatkuvasti ottaa sen nimimerkin, joka on määritetty\n" +"Tämä lisäosa yrittää jatkuvasti ottaa sen nimimerkin, joka on määritetty\n" " asetusarvossa supybot.nick. Tee vain varmaksi, että se on määritetty kunnolla\n" " ja tämä lisäosa hoitaa loput." From 54aef4f3d5504ad93eec564b40b0b5f671d60bdd Mon Sep 17 00:00:00 2001 From: skizzhg Date: Wed, 10 Aug 2011 17:23:59 +0200 Subject: [PATCH 225/244] Later & Misc & Seen & Todo: Update l10n-it. --- plugins/Later/locale/it.po | 25 +++++++++++++++++-- plugins/Misc/locale/it.po | 10 ++++---- plugins/Seen/locale/it.po | 43 ++++++++++++++++---------------- plugins/Todo/locale/it.po | 50 +++++++++++++++++++++++--------------- src/version.py | 2 +- 5 files changed, 82 insertions(+), 48 deletions(-) diff --git a/plugins/Later/locale/it.po b/plugins/Later/locale/it.po index 520b48e0d..fc610588e 100644 --- a/plugins/Later/locale/it.po +++ b/plugins/Later/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-06-26 18:57+0200\n" +"PO-Revision-Date: 2011-08-10 14:27+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -159,7 +159,28 @@ msgstr "" msgid "There were no notes for %r" msgstr "Non ci sono note per %r" -#: plugin.py:231 +#: plugin.py:212 +#, docstring +msgid "" +"\n" +"\n" +" Removes the latest note you sent to .\n" +" " +msgstr "" +"\n" +"\n" +" Rimuove l'ultima nota inviata a .\n" +" " + +#: plugin.py:217 +msgid "There are no note waiting for %s." +msgstr "Non ci sono note in attesa per %s." + +#: plugin.py:228 +msgid "There are no note from you waiting for %s." +msgstr "Non ci sono note in attesa per %s da te inviate." + +#: plugin.py:252 msgid "Sent %s: <%s> %s" msgstr "Inviata %s: <%s> %s" diff --git a/plugins/Misc/locale/it.po b/plugins/Misc/locale/it.po index 17dc655a6..b2fbb2b68 100644 --- a/plugins/Misc/locale/it.po +++ b/plugins/Misc/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-08-10 02:11+0200\n" +"PO-Revision-Date: 2011-08-10 14:39+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -161,12 +161,12 @@ msgstr "La versione di questo Supybot è %s. %s" msgid "" "takes no arguments\n" "\n" -" Returns a URL saying where to get Supybot.\n" +" Returns a URL saying where to get Limnoria.\n" " " msgstr "" "non necessita argomenti\n" "\n" -" Riporta un URL che dice dove ottenere Supybot.\n" +" Riporta un URL che dice dove ottenere Limnoria.\n" " " #: plugin.py:243 @@ -274,7 +274,7 @@ msgstr "Non ho mai visto %s, lascio a te l'invio del messaggio." msgid "%s wants me to tell you: %s" msgstr "%s vuole che ti dica: %s" -#: plugin.py:430 +#: plugin.py:431 #, docstring msgid "" "takes no arguments\n" @@ -287,7 +287,7 @@ msgstr "" " Controlla che il bot sia ancora vivo.\n" " " -#: plugin.py:434 +#: plugin.py:435 msgid "pong" msgstr "pong" diff --git a/plugins/Seen/locale/it.po b/plugins/Seen/locale/it.po index 71ef8369f..a4e2b416a 100644 --- a/plugins/Seen/locale/it.po +++ b/plugins/Seen/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-08-10 02:27+0200\n" +"PO-Revision-Date: 2011-08-10 14:43+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -10,47 +10,48 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: plugin.py:203 plugin.py:284 +#: plugin.py:204 plugin.py:285 msgid "%s was last seen in %s %s ago: %s" msgstr "%s è stato visto per l'ultima volta in %s %s fa: %s" -#: plugin.py:210 +#: plugin.py:211 msgid "%s (%s ago)" msgstr "%s (%s fa)" -#: plugin.py:212 +#: plugin.py:213 msgid "%s could be %L" msgstr "%s potrebbe essere %L" -#: plugin.py:212 +#: plugin.py:213 msgid "or" msgstr "oppure" -#: plugin.py:214 +#: plugin.py:215 msgid "I haven't seen anyone matching %s." msgstr "Non ho visto nessuno che corrisponda a %s." -#: plugin.py:216 plugin.py:288 +#: plugin.py:217 plugin.py:289 msgid "I have not seen %s." msgstr "Non ho visto %s." -#: plugin.py:220 +#: plugin.py:221 #, docstring msgid "" "[] \n" "\n" " Returns the last time was seen and what was last seen\n" " saying. is only necessary if the message isn't sent on the\n" -" channel itself.\n" +" channel itself. may contain * as a wildcard.\n" " " msgstr "" "[] \n" "\n" " Riporta l'ultima volta che è stato visto e cosa stava dicendo.\n" -" è necessario solo se il messaggio non viene inviato nel canale stesso.\n" +" è necessario solo se il messaggio non viene inviato nel canale\n" +" stesso. può contenere * come wildcard.\n" " " -#: plugin.py:231 +#: plugin.py:232 #, docstring msgid "" "[] [--user ] []\n" @@ -73,15 +74,15 @@ msgstr "" " solo se il messaggio non viene inviato nel canale stesso.\n" " " -#: plugin.py:261 +#: plugin.py:262 msgid "Someone was last seen in %s %s ago: %s" msgstr "Qualcuno è stato visto per l'ultima volta in %s %s fa: %s" -#: plugin.py:265 +#: plugin.py:266 msgid "I have never seen anyone." msgstr "Non ho mai visto nessuno." -#: plugin.py:269 +#: plugin.py:270 #, docstring msgid "" "[]\n" @@ -96,15 +97,15 @@ msgstr "" " solo se il messaggio non viene inviato nel canale stesso.\n" " " -#: plugin.py:292 +#: plugin.py:293 #, docstring msgid "" -"[] \n" +"[] \n" "\n" " Returns the last time was seen and what was last seen\n" " saying. This looks up in the user seen database, which means\n" " that it could be any nick recognized as user that was seen.\n" -" is only necessary if the message isn't sent in the channel\n" +" is only necessary if the message isn't sent in the channel\n" " itself.\n" " " msgstr "" @@ -116,7 +117,7 @@ msgstr "" " è necessario solo se il messaggio non viene inviato nel canale stesso.\n" " " -#: plugin.py:305 +#: plugin.py:306 #, docstring msgid "" "[] \n" @@ -129,15 +130,15 @@ msgstr "" " Riporta i messaggi da quando ha lasciato il canale l'ultima volta.\n" " " -#: plugin.py:312 +#: plugin.py:313 msgid "You must be in %s to use this command." msgstr "Per usare questo comando bisogna essere in %s." -#: plugin.py:333 +#: plugin.py:334 msgid "I couldn't find in my history of %s messages where %r last left the %s" msgstr "Non trovo nella cronologia dei messaggi di %s dove %r ha lasciato %s l'ultima volta." -#: plugin.py:342 +#: plugin.py:343 msgid "Either %s didn't leave, or no messages were sent while %s was gone." msgstr "%s non è uscito o non ha inviato alcun messaggio quando se n'é andato." diff --git a/plugins/Todo/locale/it.po b/plugins/Todo/locale/it.po index ea6d8c935..326ffad0a 100644 --- a/plugins/Todo/locale/it.po +++ b/plugins/Todo/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-08-10 02:33+0200\n" +"PO-Revision-Date: 2011-08-10 14:53+0200\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -10,6 +10,14 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" + +#: config.py:50 +msgid "" +"Determines whether users can read the\n" +" todo-list of another user." +msgstr "" +"Determina se un utente possa leggere la lista delle cose da fare di un altro utente." + #: plugin.py:135 #, docstring msgid "" @@ -27,43 +35,47 @@ msgstr "" " ha aggiunto alla sua lista delle cose da fare.\n" " " -#: plugin.py:150 +#: plugin.py:146 +msgid "You are not allowed to see other users todo-list." +msgstr "Non hai l'autorizzazione pe rleggere la lista delle cose da fare degli altri utenti." + +#: plugin.py:153 msgid "#%i: %s" msgstr "#%i: %s" -#: plugin.py:155 +#: plugin.py:158 msgid "%s for %s: %L" msgstr "%s per %s: %L" -#: plugin.py:159 +#: plugin.py:162 msgid "That user has no tasks in their todo list." msgstr "Questo utente non ha compiti nella sua lista delle cose da fare." -#: plugin.py:161 +#: plugin.py:164 msgid "You have no tasks in your todo list." msgstr "Non hai compiti nella tua lista delle cose da fare." -#: plugin.py:168 +#: plugin.py:171 msgid "Active" msgstr "Attivo" -#: plugin.py:170 +#: plugin.py:173 msgid "Inactive" msgstr "Inattivo" -#: plugin.py:172 +#: plugin.py:175 msgid ", priority: %i" msgstr ", priorità: %i" -#: plugin.py:175 +#: plugin.py:178 msgid "%s todo for %s: %s (Added at %s)" msgstr "%s compito per %s: %s (Aggiunto il %s)" -#: plugin.py:179 plugin.py:260 plugin.py:274 +#: plugin.py:182 plugin.py:263 plugin.py:277 msgid "task id" msgstr "id compito" -#: plugin.py:184 +#: plugin.py:187 #, docstring msgid "" "[--priority=] \n" @@ -80,11 +92,11 @@ msgstr "" " Ogni numero intero è valido.\n" " " -#: plugin.py:195 +#: plugin.py:198 msgid "(Todo #%i added)" msgstr "(Compito #%i aggiunto)" -#: plugin.py:201 +#: plugin.py:204 #, docstring msgid "" " [ ...]\n" @@ -97,15 +109,15 @@ msgstr "" " Rimuove dalla lista personale delle cose da fare.\n" " " -#: plugin.py:212 +#: plugin.py:215 msgid "Task %i could not be removed either because that id doesn't exist or it has been removed already." msgstr "Il compito %i non può essere rimosso in quanto l'id non esiste o è già stato rimosso." -#: plugin.py:216 +#: plugin.py:219 msgid "No tasks were removed because the following tasks could not be removed: %L." msgstr "Non è stato rimosso nessun compito perché i seguenti non possono essere rimossi: %L." -#: plugin.py:226 +#: plugin.py:229 #, docstring msgid "" "[--{regexp} ] [ ...]\n" @@ -121,11 +133,11 @@ msgstr "" " Se --regexp è fornita, il suo valore associato è usato come regexp e confrontato con i compiti.\n" " " -#: plugin.py:246 +#: plugin.py:249 msgid "No tasks matched that query." msgstr "Nessun compito corrisponde alla richiesta." -#: plugin.py:252 +#: plugin.py:255 #, docstring msgid "" " \n" @@ -138,7 +150,7 @@ msgstr "" " Imposta la priorità del compito con l'id fornito al valore specificato.\n" " " -#: plugin.py:266 +#: plugin.py:269 #, docstring msgid "" " \n" diff --git a/src/version.py b/src/version.py index 9c662f635..3d0bd04bf 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-10T12:00:42+0200)' +version = '0.83.4.1+limnoria (2011-08-10T17:23:59+0200)' From 1fa02674a054dd5d699581cfce101b2c0681cf7f Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 12 Aug 2011 01:06:31 +0200 Subject: [PATCH 226/244] Revert "In registry.py, test whether a requested configuration variable is a channel name before creating it automatically. Closes GH-63." This reverts commit c6facc99f3f929460d9edcf3f3c477728a2e6bb3. Conflicts: src/version.py --- plugins/Config/test.py | 5 +---- src/registry.py | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/plugins/Config/test.py b/plugins/Config/test.py index f59646683..49130b08e 100644 --- a/plugins/Config/test.py +++ b/plugins/Config/test.py @@ -34,7 +34,7 @@ import supybot.conf as conf class ConfigTestCase(ChannelPluginTestCase): # We add utilities so there's something in supybot.plugins. - plugins = ('Config', 'Utilities', 'AutoMode') + plugins = ('Config', 'Utilities') def testGet(self): self.assertNotRegexp('config get supybot.reply', r'registry\.Group') self.assertResponse('config supybot.protocols.irc.throttleTime', '0.0') @@ -49,9 +49,6 @@ class ConfigTestCase(ChannelPluginTestCase): def testHelp(self): self.assertError('config help alsdkfj') self.assertError('config help supybot.alsdkfj') - self.assertNotRegexp('config list supybot', '.*alsdkfj.*') - self.assertError('config help supybot.plugins.AutoMode.ban.alsdkfj') - self.assertNotRegexp('config list supybot.plugins.AutoMode.ban', '.*alsdkfj.*') self.assertNotError('config help supybot') # We tell the user to list. self.assertNotError('config help supybot.plugins') self.assertNotError('config help supybot.replies.success') diff --git a/src/registry.py b/src/registry.py index e8a6c340b..9850ec9b0 100644 --- a/src/registry.py +++ b/src/registry.py @@ -206,7 +206,7 @@ class Group(object): def __getattr__(self, attr): if attr in self._children: return self._children[attr] - elif self._supplyDefault and attr.startswith('#'): + elif self._supplyDefault: return self.__makeChild(attr, str(self)) else: self.__nonExistentEntry(attr) From 8d6ce790e8a7e1caffbdda97cea4748a71aa4eb5 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 12 Aug 2011 13:07:40 +0200 Subject: [PATCH 227/244] Time: Remove useless/bad/wrong error message from @tztime. --- plugins/Time/plugin.py | 2 -- src/version.py | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/plugins/Time/plugin.py b/plugins/Time/plugin.py index c7cdc8b7b..b1258a912 100644 --- a/plugins/Time/plugin.py +++ b/plugins/Time/plugin.py @@ -171,8 +171,6 @@ class Time(callbacks.Plugin): except ImportError: irc.error(_('Python-tz is required by the command, but is not ' 'installed on this computer.')) - if len(timezone.split('/')) != 2: - irc.error(_('A timezone must be in the format region/city.')) try: timezone = pytz.timezone(timezone) except pytz.UnknownTimeZoneError: diff --git a/src/version.py b/src/version.py index 3d0bd04bf..fea00c0d4 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-10T17:23:59+0200)' +version = '0.83.4.1+limnoria (2011-08-12T13:07:40+0200)' From d85cbd256bcdb5fc449f4253137910ab0aee3da0 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 12 Aug 2011 18:51:40 +0200 Subject: [PATCH 228/244] Misc: Security fix to @last: time-consuming could freeze the bot. Closes GH-157. --- plugins/Misc/plugin.py | 19 +++++++++++++++---- src/version.py | 2 +- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/plugins/Misc/plugin.py b/plugins/Misc/plugin.py index 08623811e..910bad367 100644 --- a/plugins/Misc/plugin.py +++ b/plugins/Misc/plugin.py @@ -47,6 +47,9 @@ from supybot.utils.iter import ifilter from supybot.i18n import PluginInternationalization, internationalizeDocstring _ = PluginInternationalization('Misc') +class RegexpTimeout(Exception): + pass + class Misc(callbacks.Plugin): def __init__(self, irc): self.__parent = super(Misc, self) @@ -332,10 +335,14 @@ class Misc(callbacks.Plugin): predicates.setdefault('without', []).append(f) elif option == 'regexp': def f(m, arg=arg): + startedOn = time.time() if ircmsgs.isAction(m): - return arg.search(ircmsgs.unAction(m)) + return_ = arg.search(ircmsgs.unAction(m)) else: - return arg.search(m.args[1]) + return_ = arg.search(m.args[1]) + if startedOn + 0.0001 < time.time(): + raise RegexpTimeout() + return return_ predicates.setdefault('regexp', []).append(f) elif option == 'nolimit': nolimit = True @@ -370,8 +377,12 @@ class Misc(callbacks.Plugin): showNick = True for m in iterable: for predicate in predicates: - if not predicate(m): - break + try: + if not predicate(m): + break + except RegexpTimeout: + irc.error(_('The regular expression timed out.')) + return else: if nolimit: resp.append(ircmsgs.prettyPrint(m, diff --git a/src/version.py b/src/version.py index fea00c0d4..c61e38303 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-12T13:07:40+0200)' +version = '0.83.4.1+limnoria (2011-08-12T18:51:40+0200)' From 3526d5dabf587457a43af8bee8d4db21986e8222 Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Fri, 12 Aug 2011 16:28:50 -0400 Subject: [PATCH 229/244] src/commands.py: make subprocesses raise an error on timeout, rather than return a string Conflicts: src/commands.py --- src/commands.py | 37 +++++++++++++++++++++++++++++++++++++ src/version.py | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/commands.py b/src/commands.py index 45531d322..f1ec2ded6 100644 --- a/src/commands.py +++ b/src/commands.py @@ -69,6 +69,43 @@ def thread(f): f(self, irc, msg, args, *L, **kwargs) return utils.python.changeFunctionName(newf, f.func_name, f.__doc__) +class ProcessTimeoutError(Exception): + """Gets raised when a process is killed due to timeout.""" + pass + +def process(f, *args, **kwargs): + """Runs a function in a subprocess. + + Several extra keyword arguments can be supplied. + , the pluginname, and , the command name, are strings used to + create the process name, for identification purposes. + , if supplied, limits the length of execution of target + function to seconds.""" + timeout = kwargs.pop('timeout', None) + + q = multiprocessing.Queue() + def newf(f, q, *args, **kwargs): + try: + r = f(*args, **kwargs) + q.put(r) + except Exception as e: + q.put(e) + targetArgs = (f, q,) + args + p = callbacks.CommandProcess(target=newf, + args=targetArgs, kwargs=kwargs) + p.start() + p.join(timeout) + if p.is_alive(): + p.terminate() + raise ProcessTimeoutError, "%s aborted due to timeout." % (p.name,) + try: + v = q.get(block=False) + except Queue.Empty: + v = "Nothing returned." + if isinstance(v, Exception): + v = "Error: " + str(v) + return v + class UrlSnarfThread(world.SupyThread): def __init__(self, *args, **kwargs): assert 'url' in kwargs diff --git a/src/version.py b/src/version.py index c61e38303..1915fcd35 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-12T18:51:40+0200)' +version = '0.83.4.1+limnoria (2011-08-13T01:53:58+0200)' From 91ac1c2179712677e020f9292043e956a80373c9 Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Fri, 12 Aug 2011 16:30:09 -0400 Subject: [PATCH 230/244] String: fix it up to work with the previously committed enhancement for subprocess timeout. Conflicts: plugins/String/plugin.py --- plugins/String/plugin.py | 12 ++++++++---- src/version.py | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/plugins/String/plugin.py b/plugins/String/plugin.py index ccc6496ec..2aa58c222 100644 --- a/plugins/String/plugin.py +++ b/plugins/String/plugin.py @@ -146,10 +146,14 @@ class String(callbacks.Plugin): s = _('You probably don\'t want to match the empty string.') irc.error(s) else: - irc.reply(f(text)) - re = wrap(re, [('checkCapability', 'trusted'), - first('regexpMatcher', 'regexpReplacer'), - 'text']) + t = self.registryValue('re.timeout') + try: + v = commands.process(f, text, timeout=t, pn=self.name(), cn='re') + irc.reply(v) + except commands.ProcessTimeoutError, e: + irc.error("ProcessTimeoutError: %s" % (e,)) + re = thread(wrap(re, [first('regexpMatcher', 'regexpReplacer'), + 'text'])) @internationalizeDocstring def xor(self, irc, msg, args, password, text): diff --git a/src/version.py b/src/version.py index 1915fcd35..3740e6768 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-13T01:53:58+0200)' +version = '0.83.4.1+limnoria (2011-08-13T01:55:24+0200)' From e11dc28025de877b1b6cf059013eef88337b7e44 Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Fri, 12 Aug 2011 16:30:46 -0400 Subject: [PATCH 231/244] Misc: fix potential ddos when misc.last command is fed a specially-crafted regexp. Conflicts: plugins/Misc/plugin.py --- plugins/Misc/plugin.py | 27 +++++++++++++++++++++------ src/version.py | 2 +- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/plugins/Misc/plugin.py b/plugins/Misc/plugin.py index 910bad367..2f20de0a0 100644 --- a/plugins/Misc/plugin.py +++ b/plugins/Misc/plugin.py @@ -43,6 +43,8 @@ import supybot.irclib as irclib import supybot.ircmsgs as ircmsgs import supybot.ircutils as ircutils import supybot.callbacks as callbacks +from supybot import commands + from supybot.utils.iter import ifilter from supybot.i18n import PluginInternationalization, internationalizeDocstring _ = PluginInternationalization('Misc') @@ -335,14 +337,27 @@ class Misc(callbacks.Plugin): predicates.setdefault('without', []).append(f) elif option == 'regexp': def f(m, arg=arg): - startedOn = time.time() + def f1(s, arg): + """Since we can't enqueue match objects into the multiprocessing queue, + we'll just wrap the function to return bools.""" + if arg.search(s) is not None: + return True + else: + return False if ircmsgs.isAction(m): - return_ = arg.search(ircmsgs.unAction(m)) + m1 = ircmsgs.unAction(m) + #return arg.search(ircmsgs.unAction(m)) else: - return_ = arg.search(m.args[1]) - if startedOn + 0.0001 < time.time(): - raise RegexpTimeout() - return return_ + m1 = m.args[1] + #return arg.search(m.args[1]) + try: + # use a subprocess here, since specially crafted regexps can + # take exponential time and hang up the bot. + # timeout of 0.1 should be more than enough for any normal regexp. + v = commands.process(f1, m1, arg, timeout=0.1, pn=self.name(), cn='last') + return v + except commands.ProcessTimeoutError: + return False predicates.setdefault('regexp', []).append(f) elif option == 'nolimit': nolimit = True diff --git a/src/version.py b/src/version.py index 3740e6768..a63e60d0e 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-13T01:55:24+0200)' +version = '0.83.4.1+limnoria (2011-08-13T01:56:21+0200)' From 0e3002d1f83ec59981e4f6b373060ab88f1dc262 Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Fri, 12 Aug 2011 16:38:36 -0400 Subject: [PATCH 232/244] String: set default re subprocess timeout to 0.1, since that should be quite enough. Conflicts: plugins/String/config.py --- plugins/String/config.py | 7 +++++++ src/version.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/String/config.py b/plugins/String/config.py index d451b6a9e..6ebec26de 100644 --- a/plugins/String/config.py +++ b/plugins/String/config.py @@ -53,4 +53,11 @@ conf.registerGlobalValue(String.levenshtein, 'max', this variable, to limit the size of arguments passed to the levenshtein command."""))) +conf.registerGroup(String, 're') +conf.registerGlobalValue(String.re, 'timeout', + registry.PositiveFloat(0.1, """Determines the maximum time, in seconds, that + a regular expression is given to execute before being terminated. Since + there is a possibility that user input for the re command can cause it to + eat up large amounts of ram or cpu time, it's a good idea to keep this + low. Most normal regexps should not take very long at all.""")) # vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79: diff --git a/src/version.py b/src/version.py index a63e60d0e..b9b43b32f 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-13T01:56:21+0200)' +version = '0.83.4.1+limnoria (2011-08-13T01:57:03+0200)' From 3fa45b3b5f5b6b438883dced9f599c8826c50ff9 Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Fri, 12 Aug 2011 18:10:41 -0400 Subject: [PATCH 233/244] Secure some more commands which take a regexp from untrusted user input. Namely todo.search, note.search, dunno.search. Conflicts: plugins/Note/plugin.py plugins/Todo/plugin.py src/version.py --- plugins/Note/plugin.py | 4 +++- plugins/Todo/plugin.py | 3 +++ plugins/__init__.py | 5 ++++- src/commands.py | 18 ++++++++++++++++++ src/version.py | 2 +- 5 files changed, 29 insertions(+), 3 deletions(-) diff --git a/plugins/Note/plugin.py b/plugins/Note/plugin.py index b89de964d..f76921a62 100644 --- a/plugins/Note/plugin.py +++ b/plugins/Note/plugin.py @@ -42,6 +42,7 @@ import supybot.ircmsgs as ircmsgs import supybot.plugins as plugins import supybot.ircutils as ircutils import supybot.callbacks as callbacks +from supybot import commands from supybot.i18n import PluginInternationalization, internationalizeDocstring _ = PluginInternationalization('Note') @@ -294,7 +295,8 @@ class Note(callbacks.Plugin): own = to for (option, arg) in optlist: if option == 'regexp': - criteria.append(arg.search) + criteria.append(lambda x: commands.regexp_wrapper(x, reobj=arg, + timeout=0.1, plugin_name = self.name(), fcn_name='search')) elif option == 'sent': own = frm if glob: diff --git a/plugins/Todo/plugin.py b/plugins/Todo/plugin.py index 91a2f98e8..90065e83a 100644 --- a/plugins/Todo/plugin.py +++ b/plugins/Todo/plugin.py @@ -41,6 +41,7 @@ from supybot.commands import * import supybot.plugins as plugins import supybot.ircutils as ircutils import supybot.callbacks as callbacks +from supybot import commands from supybot.i18n import PluginInternationalization, internationalizeDocstring _ = PluginInternationalization('Todo') @@ -237,6 +238,8 @@ class Todo(callbacks.Plugin): criteria = [] for (option, arg) in optlist: if option == 'regexp': + criteria.append(lambda x: commands.regexp_wrapper(x, reobj=arg, + timeout=0.1, plugin_name = self.name(), fcn_name='search')) criteria.append(arg.search) for glob in globs: glob = utils.python.glob2re(glob) diff --git a/plugins/__init__.py b/plugins/__init__.py index 2e9b2c14f..5c86f5162 100644 --- a/plugins/__init__.py +++ b/plugins/__init__.py @@ -50,6 +50,7 @@ import supybot.world as world from supybot.commands import * import supybot.ircutils as ircutils import supybot.callbacks as callbacks +from supybot import commands ## i think we don't need any of this with sqlite3 #try: @@ -431,7 +432,9 @@ class ChannelIdDatabasePlugin(callbacks.Plugin): if opt == 'by': predicates.append(lambda r, arg=arg: r.by == arg.id) elif opt == 'regexp': - predicates.append(lambda r, arg=arg: arg.search(r.text)) + predicates.append(lambda x: commands.regexp_wrapper(x.text, reobj=arg, + timeout=0.1, plugin_name = self.name(), fcn_name='search')) + #predicates.append(lambda r, arg=arg: arg.search(r.text)) if glob: def globP(r, glob=glob.lower()): return fnmatch.fnmatch(r.text.lower(), glob) diff --git a/src/commands.py b/src/commands.py index f1ec2ded6..4c26e29a6 100644 --- a/src/commands.py +++ b/src/commands.py @@ -106,6 +106,24 @@ def process(f, *args, **kwargs): v = "Error: " + str(v) return v +def regexp_wrapper(s, reobj, timeout, plugin_name, fcn_name): + '''A convenient wrapper to stuff regexp search queries through a subprocess. + + This is used because specially-crafted regexps can use exponential time + and hang the bot.''' + def re_bool(s, reobj): + """Since we can't enqueue match objects into the multiprocessing queue, + we'll just wrap the function to return bools.""" + if reobj.search(s) is not None: + return True + else: + return False + try: + v = process(re_bool, s, reobj, timeout=timeout, pn=plugin_name, cn=fcn_name) + return v + except ProcessTimeoutError: + return False + class UrlSnarfThread(world.SupyThread): def __init__(self, *args, **kwargs): assert 'url' in kwargs diff --git a/src/version.py b/src/version.py index b9b43b32f..8b46f4516 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-13T01:57:03+0200)' +version = '0.83.4.1+limnoria (2011-08-13T01:59:18+0200)' From 80c81a728e47a1b2d13668ee44436076c3f7cc14 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 13 Aug 2011 19:27:58 +0300 Subject: [PATCH 234/244] Added "*.mo" to .gitignore Poedit is generating them for me and if implementation in Limnoria doens't use .mo files, why to have them in repo? --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index cdcd23ad8..0eb42244e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ docs/plugins *.swp *.swo *~ +*.mo From 6d0622e18836c24698f44961ed184288b22f2ea2 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 13 Aug 2011 19:56:38 +0300 Subject: [PATCH 235/244] Services: added partial l10n-fi. Currently translated 52%. --- plugins/Services/locale/fi.po | 41 +++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/plugins/Services/locale/fi.po b/plugins/Services/locale/fi.po index cdd61e498..905206e05 100644 --- a/plugins/Services/locale/fi.po +++ b/plugins/Services/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-08-09 16:35+0200\n" +"PO-Revision-Date: 2011-08-13 19:56+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -20,35 +20,39 @@ msgstr "Määrittää mitä salasanaa botti käyttää, kun tunnistautuu %s:ksi #: config.py:49 msgid "What is your registered nick?" -msgstr "" +msgstr "Mikä on rekisteröity nimimerkkisi?" #: config.py:50 msgid "What is your password for that nick?" -msgstr "" +msgstr "Mikä on salasanasi tuolle nimimerkille?" #: config.py:51 msgid "What is your ChanServ named?" -msgstr "" +msgstr "Minkä niminen ChanServisi on?" #: config.py:52 msgid "What is your NickServ named?" -msgstr "" +msgstr "Minkä niminen NickServisi on?" #: config.py:70 msgid "" "Determines what nicks the bot will use with\n" " services." msgstr "" +"Määrittää mitä nimimerkkiä botti käyttää\n" +" palvelujen kanssa." #: config.py:77 msgid "" "Determines what networks this plugin\n" " will be disabled on." msgstr "" +"Määrittää missä verkoissa tämä\n" +" lisäosa on poistettu käytöstä." #: config.py:77 msgid "QuakeNet" -msgstr "" +msgstr "QuakeNet" #: config.py:81 msgid "" @@ -57,48 +61,66 @@ msgid "" " you have a vhost that isn't set until you're identified, or if you're\n" " joining +r channels that won't allow you to join unless you identify." msgstr "" +"Määrittää liittyykö botti millekään kanavalle ennen\n" +" kuin se on tunnistautunut. Tämä voi olla hyödyllinen, esimerkiksi, jos\n" +" sinulla on vhost, jota ei aseteta ennen kuin tunnistaudut, tai jos olet\n" +" liittymässä +r kanaville, jotka eivät salli sinun liittyvän, paitsi jos olet tunnistautunut." #: config.py:86 msgid "" "Determines how many seconds the bot will\n" " wait between successive GHOST attempts." msgstr "" +"Määrittää monta sekuntia botti odottaa\n" +" GHOSTaus yritysten välillä." #: config.py:89 msgid "" "Determines what nick the 'NickServ' service\n" " has." msgstr "" +"Määrittää mikä nimimerkki 'NickServ' palvelulla\n" +" on." #: config.py:93 msgid "" "Determines what nick the 'ChanServ' service\n" " has." msgstr "" +"Määrittää mikä nimimerkki 'ChanServ' palvelulla\n" +" on." #: config.py:96 msgid "" "Determines what password the bot will use with\n" " ChanServ." msgstr "" +"Määrittää mitä salasanaa botti käyttää\n" +" ChanServin kanssa." #: config.py:99 msgid "" "Determines whether the bot will request to get\n" " opped by the ChanServ when it joins the channel." msgstr "" +"Määrittää pyytääkö botti ChanServin oppaamaksi\n" +" tulemista, kun se liittyy kanavalle." #: config.py:102 msgid "" "Determines whether the bot will request to get\n" " half-opped by the ChanServ when it joins the channel." msgstr "" +"Määrittää pyytääkö botti tulla ChanServin puolioppaamaksi, kun\n" +" se liittyy kanavalle." #: config.py:105 msgid "" "Determines whether the bot will request to get\n" " voiced by the ChanServ when it joins the channel." msgstr "" +"Määrittää pyytääkö botti ChanServiltä äänen, kun\n" +" se liittyy kanavalle." #: plugin.py:47 msgid "" @@ -114,7 +136,7 @@ msgstr "" #: plugin.py:397 msgid "You must set supybot.plugins.Services.ChanServ before I'm able to send the %s command." -msgstr "" +msgstr "Sinun täytyy asettaa supybot.plugins.Services.ChanServ ennen kuin pystyn lähettämään komennon %s." #: plugin.py:403 msgid "" @@ -124,6 +146,11 @@ msgid "" " necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[]\n" +"\n" +" Yrittää päästä ChanServin oppaamaksi . on vaadittu vain,\n" +" jos viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:409 msgid "I'm already opped in %s." From 1f1861970ae2bcb017a4ebefa1fa8f5101030ca1 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 13 Aug 2011 20:32:34 +0300 Subject: [PATCH 236/244] Services: added partial l10n-fi. Three strings left to translate, 93% translated. --- plugins/Services/locale/fi.po | 42 +++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/plugins/Services/locale/fi.po b/plugins/Services/locale/fi.po index 905206e05..9f48411e0 100644 --- a/plugins/Services/locale/fi.po +++ b/plugins/Services/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-08-13 19:56+0200\n" +"PO-Revision-Date: 2011-08-13 20:32+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -154,7 +154,7 @@ msgstr "" #: plugin.py:409 msgid "I'm already opped in %s." -msgstr "" +msgstr "Minut on jo opattu kanavalla %s." #: plugin.py:416 msgid "" @@ -164,10 +164,15 @@ msgid "" " necessary if the message isn't sent in the channel itself.\n" " " msgstr "" +"[]\n" +"\n" +" Yrittää saada ChanServiltä äänen . on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " #: plugin.py:422 msgid "I'm already voiced in %s." -msgstr "" +msgstr "Minulla on jo ääni kanavalla %s." #: plugin.py:439 msgid "" @@ -198,14 +203,18 @@ msgid "" " Identifies with NickServ using the current nick.\n" " " msgstr "" +"ei ota parametrejä\n" +"\n" +" Tunnistautuu NickServille käyttämällä nykyistä nimimerkkiä.\n" +" " #: plugin.py:490 msgid "I don't have a configured password for my current nick." -msgstr "" +msgstr "Minulla ei ole määritettyä salasanaa nimimerkilleni." #: plugin.py:493 msgid "You must set supybot.plugins.Services.NickServ before I'm able to do identify." -msgstr "" +msgstr "Sinun täytyy asettaa supybot.plugins.Services.NickServ ennen kuin pystyn tunnistautumaan." #: plugin.py:499 msgid "" @@ -215,14 +224,19 @@ msgid "" " ghosts the bot's configured nick and takes it.\n" " " msgstr "" +"[]\n" +"\n" +" Ghostaa botin annetun nimimerkin ja ottaa sen. Jos nimimerkkiä ei ole annettu,\n" +" ghostaa botin määritetyn nimimerkin ja ottaa sen.\n" +" " #: plugin.py:508 msgid "I cowardly refuse to ghost myself." -msgstr "" +msgstr "Minä pelkurimaisesti kieltäydyn ghostaamasta itseäni." #: plugin.py:513 msgid "You must set supybot.plugins.Services.NickServ before I'm able to ghost a nick." -msgstr "" +msgstr "Sinun täytyy asettaa supybot.plugins.Services.NickServ ennen kuin pystyn ghostaamaan nimimerkin." #: plugin.py:519 msgid "" @@ -232,10 +246,15 @@ msgid "" " not given, removes from the configured nicks.\n" " " msgstr "" +" []\n" +"\n" +" Asettaa NickServin salasanan . Jos ei\n" +" ole annettu, poistaa määritetyistä nimimerkeistä.\n" +" " #: plugin.py:529 msgid "That nick was not configured with a password." -msgstr "" +msgstr "Tuota nimimerkkiä ei ole määritetty salasanan kanssa." #: plugin.py:540 msgid "" @@ -245,8 +264,13 @@ msgid "" " with.\n" " " msgstr "" +"ei ota parametrejä\n" +"\n" +" Palauttaa nimimerkin, jolla tämä lisäosa on määritetty tunnistautumaan ja\n" +" ghostaamaan.\n" +" " #: plugin.py:550 msgid "I'm not currently configured for any nicks." -msgstr "" +msgstr "Minulle ei ole tällä hetkellä määritetty yhtään nimimerkkiä." From 9b7e53e03e2aaecb9386858441f05499069c8026 Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 13 Aug 2011 23:03:12 +0300 Subject: [PATCH 237/244] Services: added l10n-fi And wrote a header :) --- plugins/Services/locale/fi.po | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/plugins/Services/locale/fi.po b/plugins/Services/locale/fi.po index 9f48411e0..975ff3874 100644 --- a/plugins/Services/locale/fi.po +++ b/plugins/Services/locale/fi.po @@ -1,12 +1,12 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Services plugin in Limnoria. +# Copyright (C) 2011 Limnoria # Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-08-13 20:32+0200\n" +"PO-Revision-Date: 2011-08-13 23:02+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -133,6 +133,14 @@ msgid "" " network. Other commands such as identify, op, etc. should not be\n" " necessary if the bot is properly configured." msgstr "" +"Tämä lisäosa hoitaa palvelut verkoissa, jotka tarjoavat niitä.\n" +" Perusteellisesti, sinun pitäisi käyttää komentoa \"password\" kertoaksesi botille\n" +" millä salasanalla ja tunnuksella se tunnistautuu. Voit käyttää\n" +" salasanakomentoa monta kertaa, mikäli botillasi on monta rekisteröityä\n" +" nimimerkkiä. Varmista myös, että asetusarvot täsmäävät\n" +" NickServin ja ChanServin nimimerkkeihin verkossasi.\n" +" Muiden komentojen, kuten identify, op, jne. ei\n" +" pitäisi olla vaadittuja, jos botti on määritetty hyvin." #: plugin.py:397 msgid "You must set supybot.plugins.Services.ChanServ before I'm able to send the %s command." @@ -184,6 +192,12 @@ msgid "" " itself.\n" " " msgstr "" +"[]\n" +"\n" +" Yrittää poistaa porttikiellon käyttämällä ChanServiä. on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään, mutta luultavast jos tarvitset tätä komentoa, et ole kanavallai\n" +" itsellään.\n" +" " #: plugin.py:460 msgid "" @@ -195,6 +209,13 @@ msgid "" " itself.\n" " " msgstr "" +"[]\n" +"\n" +" Yrittää saada ChanServiltä kutsun . on vaadittu vain,\n" +" jos viestiä ei lähetetä kanavalla itsellään, mutta luultavasti\n" +" jos tarvitset tätä komentoa, et lähetä sitä kanavalla\n" +" itsellään.\n" +" " #: plugin.py:481 msgid "" From aa621f96b79ce5769f305107457d8d09d7a5386d Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 13 Aug 2011 23:32:12 +0300 Subject: [PATCH 238/244] Admin: fixed l10n-fi. It seems that I have made very many spelling mistakes in Admin plugin. They are now fixed. --- plugins/Admin/locale/fi.po | 76 +++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/plugins/Admin/locale/fi.po b/plugins/Admin/locale/fi.po index 4dd96ecac..0dcd5759c 100644 --- a/plugins/Admin/locale/fi.po +++ b/plugins/Admin/locale/fi.po @@ -1,12 +1,12 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. +# Admin plugin in Limnoria. +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. # msgid "" msgstr "" "Project-Id-Version: Finnish translation of Admin plugin in Supybot\n" "POT-Creation-Date: 2010-10-16 10:43+CEST\n" -"PO-Revision-Date: 2011-02-28 14:51+0200\n" +"PO-Revision-Date: 2011-08-13 23:31+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -18,27 +18,27 @@ msgstr "" #: plugin.py:54 msgid "Nick/channel temporarily unavailable." -msgstr "Nimimerkki/kanava on väliaikaisesti saavutettavissa." +msgstr "Nimimerkki/kanava on väliaikaisesti saavuttamattomissa." #: plugin.py:72 msgid "Cannot join %s, it's full." -msgstr "Ei voida liittyä %s, se on täynnä." +msgstr "Ei voida liittyä kanavalle %s, se on täynnä." #: plugin.py:80 msgid "Cannot join %s, I was not invited." -msgstr "Ei voi liittyä %s, minua ei ole kutsuttu." +msgstr "Ei voi liittyä kanavalle %s, minua ei ole kutsuttu." #: plugin.py:88 msgid "Cannot join %s, it's banned me." -msgstr "Ei voi liittyä %s, se on bannannut minut." +msgstr "Ei voi liittyä kanavalle %s, se on antanut minulle porttikiellon." #: plugin.py:96 msgid "Cannot join %s, my keyword was wrong." -msgstr "Ei voi littyä %s, minun avainsanani oli väärä." +msgstr "En voi liittyä kanavalle %s, minun avainsana oli väärä." #: plugin.py:104 msgid "Cannot join %s, I'm not identified with the NickServ." -msgstr "Ei voi liittyä %s, minä en ole tunnistautunut NickServillä." +msgstr "En voi liittyä kanavalle %s, koska en ole tunnistautunut NickServille." #: plugin.py:134 msgid "" @@ -50,13 +50,13 @@ msgid "" msgstr "" " []\n" "\n" -"Käskee botin liittyä annetulle kanavalle. Jos on annettu, sitä käytetään\n" -"yrittäessä liittyä kanavalle.\n" +" Käskee botin liittyä annetulle kanavalle. Jos on annettu, sitä käytetään\n" +" yrittäessä liittyä kanavalle.\n" " " #: plugin.py:147 msgid "I'm already too close to maximum number of channels for this network." -msgstr "Minä olen liian lähellä kanavien maksimi määrää tällä verkolla." +msgstr "Minä olen jo liian lähellä kanavien maksimimäärää tässä verkossa." #: plugin.py:156 msgid "" @@ -68,8 +68,8 @@ msgid "" msgstr "" "Ei ota parametrejä\n" "\n" -"Palauttaa listan kanavista, joilla botti on. Täytyy antaa yksityisviestillä salaisten kanavien\n" -"salaisuuden suojelemiseksi.\n" +" Palauttaa listan kanavista, joilla botti on. Täytyy antaa yksityisviestillä salaistenkanavien\n" +" salaisuuden suojelemiseksi.\n" " " #: plugin.py:166 @@ -86,11 +86,11 @@ msgstr "Joku muu käyttää jo tuota nimimerkkiä." #: plugin.py:186 msgid "That nick is currently banned." -msgstr "Se nimimerkki on juuri nyt bannattu." +msgstr "Tuolla nimimerkillä on tällähetkellä porttikielto." #: plugin.py:193 msgid "I can't change nicks, the server said %q." -msgstr "Minä en voi vaihtaa nimimerkkiä, palvelin sanoi %q" +msgstr "Minä en voi vaihtaa nimimerkkiä, koska palvelin sanoi %q" #: plugin.py:207 msgid "" @@ -102,8 +102,8 @@ msgid "" msgstr "" "[]\n" "\n" -"Vaihtaa botin nimimerkin . Jos nimimerkkiä ei ole annettu, palauttaa\n" -"botin nykyisen nimimerkin.\n" +" Vaihtaa botin nimimerkin . Jos nimimerkkiä ei ole annettu, palauttaa\n" +" botin nykyisen nimimerkin.\n" " " #: plugin.py:222 @@ -118,15 +118,15 @@ msgid "" msgstr "" "[] []\n" "\n" -"Käskee botin poistua kanavilta, jotka annat sille. on\n" -"vaadittu jost tahdot botin poistuvat muulta, kuin \n" -"nykyiseltä kanavalta. Jos on määritetty, sitä käytetään poistumis\n" -"viestissä.\n" +" Käskee botin poistua kanavilta, jotka annat sille. on\n" +" vaadittu jos haluat botin poistuvat muulta, kuin \n" +" nykyiseltä kanavalta. Jos on määritetty, sitä käytetään\n" +" poistumisviestissä.\n" " " #: plugin.py:240 msgid "I'm not in %s." -msgstr "Minä en ole %s:ssa." +msgstr "Minä en ole kanavalla %s." #: plugin.py:252 msgid "" @@ -138,13 +138,13 @@ msgid "" msgstr "" " \n" "\n" -"Antaa määrittämälle käyttäjälle (tai käyttäjälle jonka \n" -"ilmoittaa) määritetyn valtuuden \n" +" Antaa määrittämälle käyttäjälle (tai käyttäjälle jonka \n" +" ilmoittaa) määritetyn valtuuden \n" " " #: plugin.py:272 msgid "The \"owner\" capability can't be added in the bot. Use the supybot-adduser program (or edit the users.conf file yourself) to add an owner capability." -msgstr "\"Owner\" valtuutta ei voida lisätä bottiin. Käytä supybot-adduser ohjelmaa (tai muokkaa users.conf tiedostoa itse) lisätäksesi owner valtuuden." +msgstr "\"Owner\" valtuutta ei voi lisätä botissa. Käytä supybot-adduser ohjelmaa (tai muokkaa users.conf tiedostoa itse) lisätäksesi owner valtuuden." #: plugin.py:283 msgid "You can't add capabilities you don't have." @@ -160,13 +160,13 @@ msgid "" msgstr "" " \n" "\n" -"Ottaa määrittämältä käyttäjältä (tai käyttäjältä jonka\n" -" sopii) määritetyn valtuuden \n" +" Ottaa määrittämältä käyttäjältä (tai käyttäjältä johon\n" +" sopii) määritetyn valtuuden \n" " " #: plugin.py:300 msgid "That user doesn't have that capability." -msgstr "Tuolla käyttäjällä ei ole sitä valtuutta." +msgstr "Tuolla käyttäjällä ei tuota valtuutta." #: plugin.py:302 msgid "You can't remove capabilities you don't have." @@ -184,10 +184,10 @@ msgid "" msgstr "" " []\n" "\n" -"Tämä asettaa pysyvän ignoren tai hostmaskiin,\n" -" joka on tällä hetkellä yhdistetty . on vaihtoehtoinen paremetri,\n" -"joka määrittää (in \"sekuntit\") jolloin ignore vanhentuu; jos\n" -"sitä ei ole annettu, ignore ei vanhene automaattisesti ikinä.\n" +" Tämä asettaa pysyvän ignoren tai hostmaskiin,\n" +" joka on tällä hetkellä yhdistetty . on vaihtoehtoinen paremetri,\n" +" joka määrittää (\"sekuntieissa\") joiden jälkeen ignore poistetaan; jos\n" +" sitä ei ole annettu, ignore ei vanhene koskaan automaattisesti.\n" " " #: plugin.py:323 @@ -200,8 +200,8 @@ msgid "" msgstr "" "\n" "\n" -"Tämä poistaa pysyvän ignoren tai\n" -"hostmaskista joka on tällä hetkellä yhdistetty .\n" +" Tämä poistaa pysyvän ignoren tai\n" +" hostmaskista joka on tällä hetkellä yhdistetty .\n" " " #: plugin.py:332 @@ -217,10 +217,10 @@ msgid "" msgstr "" "Ei ota parametrejä\n" "\n" -"Luetteloi hostmaskit jotka ovat botin ignoressa.\n" +" Luetteloi hostmaskit jotka ovat botin ignoressa.\n" " " #: plugin.py:345 msgid "I'm not currently globally ignoring anyone." -msgstr "Kukaan ei juuri nyt ole globaalisti estolistalla." +msgstr "Minä en tällä hetkellä pidä ketään globaalissa ignoressa." From 08ffe912ac41e7c5284202259ab2e926c3c915ce Mon Sep 17 00:00:00 2001 From: Mika Suomalainen Date: Sat, 13 Aug 2011 23:45:52 +0300 Subject: [PATCH 239/244] Alias: fix l10n-fi. Fixed typos, added space before lines in string, added header. --- plugins/Alias/locale/fi.po | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/plugins/Alias/locale/fi.po b/plugins/Alias/locale/fi.po index 498721e67..377c3cecd 100644 --- a/plugins/Alias/locale/fi.po +++ b/plugins/Alias/locale/fi.po @@ -1,3 +1,7 @@ +# Alias plugin in Limnoria. +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. +# msgid "" msgstr "" "Project-Id-Version: Supybot Alias plugin\n" @@ -22,8 +26,8 @@ msgid "" msgstr "" "Palauttaa kanavan, jolta viesti tuli tai kanavan, joka on annettu parametreissä.\n" "\n" -"Jos kanava annetaan parametreissä, parametriä muokataan (kanava\n" -"poistetaan).\n" +" Jos kanava annetaan parametreissä, parametriä muokataan (kanava\n" +" poistetaan).\n" " " #: plugin.py:164 @@ -53,7 +57,7 @@ msgid "" msgstr "" "\n" "\n" -"Lukitsee aliaksen, niin ettei kukaan muu voi muuttaa sitä.\n" +" Lukitsee aliaksen, niin ettei kukaan muu voi muuttaa sitä.\n" " " #: plugin.py:229 @@ -70,12 +74,12 @@ msgid "" msgstr "" "\n" "\n" -"Poistaa lukituksen aliaksesta, jotta ihmiset vouvat määrittää uusia aliaksia sen päälle.\n" +" Poistaa lukituksen aliaksesta, jotta ihmiset vouvat määrittää uusia aliaksia sen päälle.\n" " " #: plugin.py:254 msgid "That name isn't valid. Try %q instead." -msgstr "Nimi ei ole kelvollinen. Yritä sen sijaa %q:ta." +msgstr "Tuo nimi ei ole kelvollinen. Yritä sen sijaan %q:ta." #: plugin.py:292 msgid "" @@ -91,12 +95,12 @@ msgid "" msgstr "" " \n" "\n" -"Määrittää aliaksen , joka suorittaa . \n" -"Aliaksen pitäisi olla tavallisia \"komento parametri [sisäkkäiset parametrit]\"\n" -"parametrejä aliakselle; ne täytetään ensinmäinen, toinen, jne.\n" -"Parametrit. $1, $2, jne. voidaan käyttää vaadittuina parametreinä. @1, @2,\n" -"jne. voidaan käyttää vaihtoehtoisina parametreinä. $* tarkoittaa yksinkertaisesti \"kaikki\n" -"jäljellä olevat parametrit,\" ja johon ei voida yhdistää vaihtoehtoisia parametrejä.\n" +" Määrittää aliaksen , joka suorittaa . \n" +" pitäisi olla tavallinen \"komento parametri [sisäkkäinen komento parametrit]\"\n" +" parametrejä aliakselle; ne täytetään ensinmäinen, toinen, jne.\n" +" Parametrit. $1, $2, jne. ovat vaadittuja parametrejä. @1, @2,\n" +" jne. ovat vapaaehtoisia parametrejä. $* tarkoittaa yksinkertaisesti \"kaikki\n" +" jäljellä olevat parametrit,\" ja johon ei voida yhdistää vaihtoehtoisia parametrejä.\n" " " #: plugin.py:315 @@ -108,6 +112,6 @@ msgid "" msgstr "" "\n" "\n" -"Poistaa annetun aliaksen jos se ei ole lukittu.\n" +" Poistaa annetun aliaksen jos se ei ole lukittu.\n" " " From dd040f830d15da12111c43a7384b5ec16780b256 Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Sun, 14 Aug 2011 01:42:08 -0400 Subject: [PATCH 240/244] RSS: add channel-specific blacklist and whitelist. also fix bug introduced with the initialannounce feature, which overwrote newheadlines list when doing channel-specific things with it. --- plugins/RSS/config.py | 8 ++++++++ plugins/RSS/plugin.py | 24 ++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/plugins/RSS/config.py b/plugins/RSS/config.py index 7029f5448..d4c03e8af 100644 --- a/plugins/RSS/config.py +++ b/plugins/RSS/config.py @@ -78,6 +78,14 @@ conf.registerGlobalValue(RSS, 'defaultNumberOfHeadlines', conf.registerChannelValue(RSS, 'initialAnnounceHeadlines', registry.PositiveInteger(5, """Indicates how many headlines an rss feed will output when it is first added to announce for a channel.""")) +conf.registerChannelValue(RSS, 'keywordWhitelist', + registry.SpaceSeparatedSetOfStrings([], """Space separated list of + strings, lets you filter headlines to those containing one or more items + in this whitelist.""")) +conf.registerChannelValue(RSS, 'keywordBlacklist', + registry.SpaceSeparatedSetOfStrings([], """Space separated list of + strings, lets you filter headlines to those not containing any items + in this blacklist.""")) conf.registerGroup(RSS, 'announce') conf.registerChannelValue(RSS.announce, 'showLinks', diff --git a/plugins/RSS/plugin.py b/plugins/RSS/plugin.py index e11e23dbb..53a1ca2b7 100644 --- a/plugins/RSS/plugin.py +++ b/plugins/RSS/plugin.py @@ -184,9 +184,29 @@ class RSS(callbacks.Plugin): newheadlines[i] = None newheadlines = filter(None, newheadlines) # Removes Nones. if newheadlines: + def filter_whitelist(headline): + v = False + for kw in whitelist: + if kw in headline[0] or kw in headline[1]: + v = True + break + return v + def filter_blacklist(headline): + v = True + for kw in blacklist: + if kw in headline[0] or kw in headline[1]: + v = False + break + return v for channel in channels: if len(oldheadlines) == 0: - newheadlines = newheadlines[:self.registryValue('initialAnnounceHeadlines', channel)] + channelnewheadlines = newheadlines[:self.registryValue('initialAnnounceHeadlines', channel)] + whitelist = self.registryValue('keywordWhitelist', channel) + blacklist = self.registryValue('keywordBlacklist', channel) + if len(whitelist) != 0: + channelnewheadlines = filter(filter_whitelist, channelnewheadlines) + if len(blacklist) != 0: + channelnewheadlines = filter(filter_blacklist, channelnewheadlines) bold = self.registryValue('bold', channel) sep = self.registryValue('headlineSeparator', channel) prefix = self.registryValue('announcementPrefix', channel) @@ -194,7 +214,7 @@ class RSS(callbacks.Plugin): if bold: pre = ircutils.bold(pre) sep = ircutils.bold(sep) - headlines = self.buildHeadlines(newheadlines, channel) + headlines = self.buildHeadlines(channelnewheadlines, channel) irc.replies(headlines, prefixer=pre, joiner=sep, to=channel, prefixNick=False, private=True) finally: From 0418c645058f91b041da3bdc52a589a7515a9439 Mon Sep 17 00:00:00 2001 From: nyuszika7h Date: Mon, 15 Aug 2011 14:53:29 +0200 Subject: [PATCH 241/244] Channel & Misc & Reply: Update l10n-hu. --- plugins/Channel/locale/hu.po | 10 ++++---- plugins/Misc/locale/hu.po | 44 ++++++++++++------------------------ plugins/Reply/locale/hu.po | 23 ++++++------------- 3 files changed, 27 insertions(+), 50 deletions(-) diff --git a/plugins/Channel/locale/hu.po b/plugins/Channel/locale/hu.po index ab2e40400..106419968 100644 --- a/plugins/Channel/locale/hu.po +++ b/plugins/Channel/locale/hu.po @@ -5,10 +5,11 @@ msgid "" msgstr "" "Project-Id-Version: Limnoria Channel\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-30 19:36+0100\n" +"POT-Creation-Date: 2011-07-22 01:33+CEST\n" +"PO-Revision-Date: 2011-08-10 14:02+0100\n" "Last-Translator: nyuszika7h \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -397,7 +398,7 @@ msgid "" "\n" " If you have the #channel,op capability, this will effect a\n" " persistent ban from interacting with the bot on the given\n" -" (or the current hostmask associated with . Other\n" +" (or the current hostmask associated with ). Other\n" " plugins may enforce this ban by actually banning users with\n" " matching hostmasks when they join. is an optional\n" " argument specifying when (in \"seconds from now\") the ban should\n" @@ -515,6 +516,7 @@ msgstr "" "[] [ ...]\n" "\n" "Ha rendelkezel a #csatorna,op képességgel, ez felhasználónak (vagy felhasználójának) a képességet a csatornában. csak akkor szükséges, ha az üzenet nem a csatornában van elküldve." + #: plugin.py:634 msgid "" "[] [ ...]\n" @@ -538,7 +540,7 @@ msgid "" "[] {True|False}\n" "\n" " If you have the #channel,op capability, this will set the default\n" -" response to non-power-related (that is, not {op, halfop, voice}\n" +" response to non-power-related (that is, not {op, halfop, voice})\n" " capabilities to be the value you give. is only necessary\n" " if the message isn't sent in the channel itself.\n" " " diff --git a/plugins/Misc/locale/hu.po b/plugins/Misc/locale/hu.po index c22d33b36..5d8a46e9e 100644 --- a/plugins/Misc/locale/hu.po +++ b/plugins/Misc/locale/hu.po @@ -5,25 +5,23 @@ msgid "" msgstr "" "Project-Id-Version: Limnoria Misc\n" -"POT-Creation-Date: 2011-07-10 18:59+CEST\n" -"PO-Revision-Date: 2011-07-30 23:41+CEST\n" +"POT-Creation-Date: 2011-08-10 11:28+CEST\n" +"PO-Revision-Date: 2011-08-10 15:41+0100\n" "Last-Translator: nyuszika7h \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" - #: config.py:45 msgid "" "Determines whether the bot will list private\n" " plugins with the list command if given the --private switch. If this is\n" " disabled, non-owner users should be unable to see what private plugins\n" " are loaded." -msgstr "" -"Meghatározza, hogy a bot listázza-e a privát bővítményeket a list paranccsal, ha a --private kapcsoló meg van adva. Ha ez le van tiltva, a tulajdonoson kívül más felhasználók nem láthatják, hogy milyen privát bővítmények vannak betöltve." - +msgstr "Meghatározza, hogy a bot listázza-e a privát bővítményeket a list paranccsal, ha a --private kapcsoló meg van adva. Ha ez le van tiltva, a tulajdonoson kívül más felhasználók nem láthatják, hogy milyen privát bővítmények vannak betöltve." #: config.py:50 msgid "" @@ -31,24 +29,21 @@ msgid "" " timestamps in the Misc.last command. Refer to the Python documentation\n" " for the time module to see what formats are accepted. If you set this\n" " variable to the empty string, the timestamp will not be shown." -msgstr "" -"Meghatározza az időbélyegek formátumát a Misc.last parancsban. Hivatkozz a Python dokumentációra a time modulhoz, hogy lásd, milyen formátumok fogadhatók el. Ha üres karakterláncra állítód ezt a változót, az időbélyegző nem lesz megjelenítve." +msgstr "Meghatározza az időbélyegek formátumát a Misc.last parancsban. Hivatkozz a Python dokumentációra a time modulhoz, hogy lásd, milyen formátumok fogadhatók el. Ha üres karakterláncra állítód ezt a változót, az időbélyegző nem lesz megjelenítve." #: config.py:57 msgid "" "Determines whether or not\n" " the timestamp will be included in the output of last when it is part of a\n" " nested command" -msgstr "" -"Meghatározza, hogy a last kimenete tartalmazza-e az időbélyegzőt, ha az egy beágyazott parancs része." +msgstr "Meghatározza, hogy a last kimenete tartalmazza-e az időbélyegzőt, ha az egy beágyazott parancs része." #: config.py:61 msgid "" "Determines whether or not the\n" " nick will be included in the output of last when it is part of a nested\n" " command" -msgstr "" -"Meghatározza, hogy a last kimenete tartalmazza-e a nevet, ha az egy beágyazott parancs része." +msgstr "Meghatározza, hogy a last kimenete tartalmazza-e a nevet, ha az egy beágyazott parancs része." #: plugin.py:81 msgid "You've given me %s invalid commands within the last minute; I'm now ignoring you for %s." @@ -59,7 +54,6 @@ msgid "The %q plugin is loaded, but there is no command named %q in it. Try \"l msgstr "A %q bővítmény be van töltve, de nincs benne parancs %q névvel. Próbáld meg a \"list %s\"-t, hogy lásd a parancsokat a %q bővítményben." #: plugin.py:119 -#, docstring msgid "" "[--private] []\n" "\n" @@ -85,7 +79,6 @@ msgid "That plugin exists, but has no commands. This probably means that it has msgstr "Ez a bővítmény létezik, de nincsenek parancsai. Ez valószínűleg azt jelenti, hogy van néhány konfigurációs változója, ami megváltoztatható, hogy módosítsd a viselkedését. Próbáld meg a \"config list supybot.plugins.%s\"-t, hogy lásd, milyen konfigurációs változói vannak." #: plugin.py:164 -#, docstring msgid "" "\n" "\n" @@ -102,7 +95,6 @@ msgid "No appropriate commands were found." msgstr "Nem található megfelelő parancs." #: plugin.py:188 -#, docstring msgid "" "[] []\n" "\n" @@ -123,7 +115,6 @@ msgid "There is no command %q." msgstr "Nincs %q parancs." #: plugin.py:211 -#, docstring msgid "" "takes no arguments\n" "\n" @@ -151,23 +142,20 @@ msgid "The current (running) version of this Supybot is %s. %s" msgstr "Az aktuális (futó) verziója ennek a Supybot-nak %s. %s" #: plugin.py:239 -#, docstring msgid "" "takes no arguments\n" "\n" -" Returns a URL saying where to get Supybot.\n" +" Returns a URL saying where to get Limnoria.\n" " " msgstr "" -"paraméter nélküli" -"\n" -"Kiír egy linket, ami megmondja, honnan lehet a Supybot-ot megszerezni." +"paraméter nélküli\n" +"Kiír egy linket, ami megmondja, honnan lehet a Limnoria-t megszerezni." #: plugin.py:243 msgid "My source is at https://github.com/ProgVal/Limnoria" msgstr "A forrásom https://github.com/ProgVal/Limnoria -ban van." #: plugin.py:248 -#, docstring msgid "" "[]\n" "\n" @@ -206,7 +194,6 @@ msgid "That's all, there is no more." msgstr "Ez minden, nincs több." #: plugin.py:292 -#, docstring msgid "" "[--{from,in,on,with,without,regexp} ] [--nolimit]\n" "\n" @@ -227,16 +214,13 @@ msgid "I couldn't find a message matching that criteria in my history of %s mess msgstr "Nem találtam a kritériumra illeszkedő üzenetet a(z) %s üzenetes előzményeimben." #: plugin.py:401 -#, docstring msgid "" " \n" "\n" " Tells the whatever is. Use nested commands to your\n" " benefit here.\n" " " -msgstr "" -" " -"Megmondja -nek szöveget. Itt az előnyödre használhatod a beágyazott parancsokat." +msgstr " Megmondja -nek szöveget. Itt az előnyödre használhatod a beágyazott parancsokat." #: plugin.py:409 msgid "Dude, just give the command. No need for the tell." @@ -254,8 +238,7 @@ msgstr "Nem láttam %s-t, rád hagyom a mondást." msgid "%s wants me to tell you: %s" msgstr "%s szeretné, hogy megmondjam neked: %s" -#: plugin.py:430 -#, docstring +#: plugin.py:431 msgid "" "takes no arguments\n" "\n" @@ -266,6 +249,7 @@ msgstr "" "\n" "Ellenőrzi, hogy a bot él-e." -#: plugin.py:434 +#: plugin.py:435 msgid "pong" msgstr "pong" + diff --git a/plugins/Reply/locale/hu.po b/plugins/Reply/locale/hu.po index 26c014c1e..a14909622 100644 --- a/plugins/Reply/locale/hu.po +++ b/plugins/Reply/locale/hu.po @@ -5,28 +5,25 @@ msgid "" msgstr "" "Project-Id-Version: Limnoria Reply\n" -"POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-30 21:49+0100\n" +"POT-Creation-Date: 2011-08-10 11:27+CEST\n" +"PO-Revision-Date: 2011-08-15 14:49+0200\n" "Last-Translator: nyuszika7h \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" - #: plugin.py:37 -#, docstring msgid "" "This plugin contains a few commands that construct various types of\n" " replies. Some bot owners would be wise to not load this plugin because it\n" " can be easily abused.\n" " " -msgstr "" -"Ez a bővítmény néhány parancsot tartalmaz, amelyek különféle típusú válaszokat gyárt. Néhány bot tulajdonos bölcs lenne nem betölteni ezt a bővítményt, mert könnyen vissza lehet élni vele." +msgstr "Ez a bővítmény néhány parancsot tartalmaz, amelyek különféle típusú válaszokat gyárt. Néhány bot tulajdonos bölcs lenne nem betölteni ezt a bővítményt, mert könnyen vissza lehet élni vele." #: plugin.py:43 -#, docstring msgid "" "\n" "\n" @@ -39,20 +36,15 @@ msgstr "" "Privát üzenetben válaszol -gel. Itt az előnyödre használhatpd a beágyazott parancsokat." #: plugin.py:53 -#, docstring msgid "" "\n" "\n" -" Replies with as an action. use nested commands to your benefit\n" +" Replies with as an action. Use nested commands to your benefit\n" " here.\n" " " -msgstr "" -"\n" -"\n" -"Egy tevékenységként válaszol -gel. Itt az előnyödre használhatod a beágyazott parancsokat." +msgstr "Ez a bővítmény néhány parancsot tartalmaz, amelyek különféle típusú válaszokat gyárt. Néhány bot tulajdonos bölcs lenne nem betölteni ezt a bővítményt, mert könnyen vissza lehet élni vele." #: plugin.py:66 -#, docstring msgid "" "\n" "\n" @@ -65,7 +57,6 @@ msgstr "" "Egy közleményben válaszol -gel. Itt az előnyödre használhatod a beágyazott parancsokat. Ha egy privát közleményt szeretnál, ágyazd be a private parancsot." #: plugin.py:76 -#, docstring msgid "" "\n" "\n" @@ -77,7 +68,6 @@ msgstr "" "Válaszol -gel. Ugyanaz, mint az álnév, 'echo $nick: $1'." #: plugin.py:85 -#, docstring msgid "" " [ ...]\n" "\n" @@ -88,3 +78,4 @@ msgstr "" " [ ...]\n" "\n" "Az összes paraméterével külön üzenetben válaszol, a supybot.reply.oneToOne konfigurációjától függően." + From 37597bfe9430981bc49940ca666fc6e6b855e1b2 Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Thu, 5 Aug 2010 01:20:46 -0400 Subject: [PATCH 242/244] Create a commands.process function which runs a function inside a separate process. This is the only way to limit the execution time of a possibly long-running python statement. Use this on String.re, due to the possibility of pathologically long re matching in python. This allows us to remove the 'trusted-only' restriction on string.re. In the future, this should probably be used in other places that take user-supplied regexps, such as 'misc last --regexp', for example, as well as other potentially long-running tasks that can block the bot. Conflicts: plugins/String/plugin.py src/commands.py --- plugins/String/plugin.py | 2 ++ src/callbacks.py | 17 +++++++++++++++++ src/commands.py | 2 ++ src/version.py | 2 +- src/world.py | 10 ++++++++++ 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/plugins/String/plugin.py b/plugins/String/plugin.py index 2aa58c222..72143f72e 100644 --- a/plugins/String/plugin.py +++ b/plugins/String/plugin.py @@ -33,12 +33,14 @@ import binascii import supybot.utils as utils from supybot.commands import * +import supybot.commands as commands import supybot.plugins as plugins import supybot.ircutils as ircutils import supybot.callbacks as callbacks from supybot.i18n import PluginInternationalization, internationalizeDocstring _ = PluginInternationalization('String') +import multiprocessing class String(callbacks.Plugin): @internationalizeDocstring diff --git a/src/callbacks.py b/src/callbacks.py index 3a2eb7fe0..7944981c5 100644 --- a/src/callbacks.py +++ b/src/callbacks.py @@ -988,6 +988,23 @@ class CommandThread(world.SupyThread): finally: self.cb.threaded = self.originalThreaded +class CommandProcess(world.SupyProcess): + """Just does some extra logging and error-recovery for commands that need + to run in processes. + """ + def __init__(self, target=None, args=(), kwargs={}): + self.command = args[0] + self.cb = target.im_self + procName = 'Process #%s (for %s.%s)' % (world.processesSpawned, + self.cb.name(), + self.command) + log.debug('Spawning process %s (args: %r)', procName, args) + self.__parent = super(CommandProcess, self) + self.__parent.__init__(target=target, name=procName, + args=args, kwargs=kwargs) + + def run(self): + self.__parent.run() class CanonicalString(registry.NormalizedString): def normalize(self, s): diff --git a/src/commands.py b/src/commands.py index 4c26e29a6..82b5b2280 100644 --- a/src/commands.py +++ b/src/commands.py @@ -37,6 +37,8 @@ import types import getopt import inspect import threading +import multiprocessing #python2.6 or later! +import Queue import supybot.log as log import supybot.conf as conf diff --git a/src/version.py b/src/version.py index 8b46f4516..7f6f5aceb 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-13T01:59:18+0200)' +version = '0.83.4.1+limnoria (2011-08-15T17:24:33+0200)' diff --git a/src/world.py b/src/world.py index 23ec3789e..c69d37a7a 100644 --- a/src/world.py +++ b/src/world.py @@ -37,6 +37,7 @@ import sys import time import atexit import threading +import multiprocessing # python 2.6 and later! if sys.version_info >= (2, 5, 0): import re as sre @@ -67,6 +68,15 @@ class SupyThread(threading.Thread): super(SupyThread, self).__init__(*args, **kwargs) log.debug('Spawning thread %q.', self.getName()) +processesSpawned = 1 # Starts at one for the initial process. +class SupyProcess(multiprocessing.Process): + def __init__(self, *args, **kwargs): + global processesSpawned + processesSpawned += 1 + super(SupyProcess, self).__init__(*args, **kwargs) + log.debug('Spawning process %q.', self.name) + + commandsProcessed = 0 ircs = [] # A list of all the IRCs. From 22eb14711656ebee18c320cfbacbf202bc7d63fc Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Tue, 16 Aug 2011 13:22:23 +0200 Subject: [PATCH 243/244] Channel: Really deny access to the nicks list. Closes GH-172. --- plugins/Channel/plugin.py | 1 + src/version.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Channel/plugin.py b/plugins/Channel/plugin.py index 8880d3661..78ff7455b 100644 --- a/plugins/Channel/plugin.py +++ b/plugins/Channel/plugin.py @@ -828,6 +828,7 @@ class Channel(callbacks.Plugin): (ircutils.isChannel(msg.args[0]) or \ msg.nick not in irc.state.channels[channel].users): irc.error(_('You don\'t have access to that information.')) + return L = list(irc.state.channels[channel].users) keys = [option for (option, arg) in optlist] if 'count' not in keys: diff --git a/src/version.py b/src/version.py index 7f6f5aceb..d6fdb5684 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-15T17:24:33+0200)' +version = '0.83.4.1+limnoria (2011-08-16T13:22:23+0200)' From cebf67fe893036b88f26a44ca2b6b21efc7b925a Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 18 Aug 2011 11:07:26 +0200 Subject: [PATCH 244/244] Time: Fix redundant (and un-user-friendly) error message. --- plugins/Time/plugin.py | 1 + src/version.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/Time/plugin.py b/plugins/Time/plugin.py index b1258a912..33af76faa 100644 --- a/plugins/Time/plugin.py +++ b/plugins/Time/plugin.py @@ -175,6 +175,7 @@ class Time(callbacks.Plugin): timezone = pytz.timezone(timezone) except pytz.UnknownTimeZoneError: irc.error(_('Unknown timezone')) + return irc.reply(str(datetime.now(timezone))) tztime = wrap(tztime, ['text']) diff --git a/src/version.py b/src/version.py index d6fdb5684..bbb1d7295 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-08-16T13:22:23+0200)' +version = '0.83.4.1+limnoria (2011-08-18T11:07:25+0200)'