diff --git a/.gitignore b/.gitignore index cdcd23ad8..0eb42244e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ docs/plugins *.swp *.swo *~ +*.mo diff --git a/locale/fr.po b/locale/fr.po index 1bc929a46..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,30 +353,30 @@ 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" " 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 +#: ../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,15 +415,15 @@ 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" " 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 +#: ../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,29 +542,29 @@ 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" " 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 +#: ../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" @@ -562,50 +574,50 @@ 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 +#: ../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 "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 +#: ../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/it.po b/locale/it.po new file mode 100644 index 000000000..1710aa2e0 --- /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 fai 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/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 "" + 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." diff --git a/plugins/Admin/locale/fr.po b/plugins/Admin/locale/fr.po index 88c6d002e..22034eb42 100644 --- a/plugins/Admin/locale/fr.po +++ b/plugins/Admin/locale/fr.po @@ -129,11 +129,11 @@ 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." -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/Admin/locale/it.po b/plugins/Admin/locale/it.po new file mode 100644 index 000000000..02420d7fe --- /dev/null +++ b/plugins/Admin/locale/it.po @@ -0,0 +1,229 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-08-09 23: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" + + +#: 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,\n" +" viene usata 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. Deve essere richiesto in\n" +" privato per preservare la segretezza dei canali privati.\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 questo 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 nick 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. è 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 +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 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 puoi aggiungere capacità che non hai." + +#: 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 specificata\n" +" " + +#: plugin.py:300 +msgid "That user doesn't have that capability." +msgstr "Questo utente non ha tale capacità." + +#: plugin.py:302 +msgid "You can't remove capabilities you don't have." +msgstr "Non puoi rimuovere capacità che non hai." + +#: 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 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 +#, 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 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 non sto ignorando nessuno." + diff --git a/plugins/Alias/locale/fi.po b/plugins/Alias/locale/fi.po index f31f38dfb..377c3cecd 100644 --- a/plugins/Alias/locale/fi.po +++ b/plugins/Alias/locale/fi.po @@ -1,7 +1,11 @@ +# Alias plugin in Limnoria. +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. +# 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" @@ -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 @@ -40,6 +44,10 @@ msgstr "" "\n" "Alias %q:lle." +#: plugin.py:166 +msgid "argument" +msgstr "parametri" + #: plugin.py:220 msgid "" "\n" @@ -49,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 @@ -66,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 "" @@ -87,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 @@ -104,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" " " diff --git a/plugins/Alias/locale/it.po b/plugins/Alias/locale/it.po new file mode 100644 index 000000000..1b85c3b57 --- /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. Prova %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 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 +#, docstring +msgid "" +"\n" +"\n" +" Removes the given alias, if unlocked.\n" +" " +msgstr "" +"\n" +"\n" +" Rimuove l'alias specificato, se questo non è bloccato.\n" +" " + 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. 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/Anonymous/locale/fr.po b/plugins/Anonymous/locale/fr.po index 527d8bc2a..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" @@ -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 "" @@ -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/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." + diff --git a/plugins/Anonymous/locale/it.po b/plugins/Anonymous/locale/it.po new file mode 100644 index 000000000..3d4ca3b74 --- /dev/null +++ b/plugins/Anonymous/locale/it.po @@ -0,0 +1,118 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-08-10 00: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" + + +#: 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ò 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 è 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." +" " + +#: 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 "" +" \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/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..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') @@ -61,17 +61,17 @@ def _preCheck(self, irc, msg, target, action): 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) 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 ). diff --git a/plugins/AutoMode/config.py b/plugins/AutoMode/config.py index 052bed457..aa8766655 100644 --- a/plugins/AutoMode/config.py +++ b/plugins/AutoMode/config.py @@ -47,10 +47,10 @@ def configure(advanced): """))) 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 + 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..2a4873667 100644 --- a/plugins/AutoMode/locale/fi.po +++ b/plugins/AutoMode/locale/fi.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot AutoMode\n" -"POT-Creation-Date: 2010-10-16 18:48+CEST\n" +"POT-Creation-Date: 2011-06-27 12:02+CEST\n" "PO-Revision-Date: \n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" @@ -23,18 +23,18 @@ 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 "" -"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..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: 2010-10-16 18:48+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,13 +22,13 @@ 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 "" -"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/locale/it.po b/plugins/AutoMode/locale/it.po new file mode 100644 index 000000000..a11d4c13f --- /dev/null +++ b/plugins/AutoMode/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-08-10 00: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: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\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" +" 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 applica a un utente." + diff --git a/plugins/AutoMode/messages.pot b/plugins/AutoMode/messages.pot index b6f4770f0..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-02-26 09:49+CET\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,13 +24,13 @@ 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 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 "" diff --git a/plugins/AutoMode/plugin.py b/plugins/AutoMode/plugin.py index f1d321efb..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 @@ -51,7 +52,8 @@ def doJoin(self, irc, msg): 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) 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" 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/BadWords/locale/it.po b/plugins/BadWords/locale/it.po new file mode 100644 index 000000000..c54f69e7e --- /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/Channel/locale/fi.po b/plugins/Channel/locale/fi.po index 55fc37a28..3106891b1 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" @@ -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" @@ -647,12 +647,11 @@ 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" " 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" " " @@ -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" +msgstr "Hälytys kaikille kanavan %s operaattoreille: %s" -#: plugin.py:842 +#: plugin.py:848 msgid " (from %s)" -msgstr "(%s:tä)" +msgstr "(lähettänyt %s)" -#: plugin.py:850 +#: plugin.py:856 msgid "" "[] \n" "\n" diff --git a/plugins/Channel/locale/fr.po b/plugins/Channel/locale/fr.po index d9fc7bdfe..05ed97b35 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." @@ -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" @@ -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." @@ -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" " " @@ -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/Channel/locale/hu.po b/plugins/Channel/locale/hu.po new file mode 100644 index 000000000..106419968 --- /dev/null +++ b/plugins/Channel/locale/hu.po @@ -0,0 +1,685 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria Channel\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" +"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 "" +"[]\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" +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 "kikapcsolni a moderálást a csatornán" + +#: 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 "" +"[] []\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 "hangot adni valakinek" + +#: 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 "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 "eltávolítani az operátor státuszt valakiről" + +#: 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 "" +"[] [ ...]\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 "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 "eltávolítani a fél-operátor státuszt valakiről" + +#: 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 "" +"[] [ ...]\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 "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 "" +"[]\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" +"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 "" +"[] [, , ...] []\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" +"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 "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 "A megadott ok hosszabb a KICK parancs megengedett hosszúságánál ezen a szerveren." + +#: plugin.py:286 +msgid "kick someone" +msgstr "kirúgni valakit" + +#: 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 "" +"[] [--{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 "Gyáván megtagadom, hogy kirúgjam és kitiltsam magam." + +#: plugin.py:318 +msgid "I haven't seen %s." +msgstr "Nem láttam %s-t." + +#: plugin.py:326 +msgid "I cowardly refuse to ban myself." +msgstr "Gyáván megtagadom, hogy kitiltsam magam." + +#: plugin.py:352 +msgid "%s has %s too, you can't ban him/her/it." +msgstr "%s-nek is van %s, nem tilthatod ki őt." + +#: plugin.py:364 +msgid "kick or ban someone" +msgstr "kirúgni vagy kitiltani valakit" + +#: 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 "" +"[] []\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 "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 "Nem található %s-ra illeszkedő tiltás %s-ban." + +#: plugin.py:395 +msgid "unban someone" +msgstr "eltávolítani a tiltást valakiről" + +#: 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 "" +"[ \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 "meghívni valakit" + +#: plugin.py:428 +msgid "%s is already in %s." +msgstr "%s már %s-ban van." + +#: plugin.py:435 +msgid "There is no %s on this network." +msgstr "Nincs %s ezen a hálózaton." + +#: 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 "" +"[]\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 "" +"[]\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" +"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 "" +"takes no arguments\n" +"\n" +" 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 "Jelenleg némítva vagyok %L-ban." + +#: plugin.py:495 +msgid "I'm not currently lobotomized in any channels that you're in." +msgstr "Jelenleg nem vagyok némítva egy csatornában sem, ahol vagy." + +#: 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 "" +"[] []\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 "" +"[] \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" +"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 "Nincsenek tiltások erre a hosztra." + +#: 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 "" +"[]\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 "%q (lejár %t)" + +#: plugin.py:552 +msgid "%q (never expires)" +msgstr "%q (soha nem jár le)" + +#: plugin.py:556 +msgid "There are no persistent bans on %s." +msgstr "Nincsenek tiltások %s-on." + +#: 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 "" +"[] []\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 "" +"[] \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" +"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 "Nincsenek mellőzések erre a hosztra." + +#: 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 "" +"[\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 "Nem mellőzők egy hosztot sem %q-ban." + +#: 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 "" +"[] [ ...]\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" +"\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" +"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 "A felhasználónak nem volt a(z) %L %s." + +#: 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 "" +"[] {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 "" +"[] [ ...]\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" +"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 "" +"[] [ ...]\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" +"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 "képesség" + +#: plugin.py:714 +msgid "I do not know about the %L %s." +msgstr "Nem tudok a %L %s-ról." + +#: 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 "" +"[]\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 "" +"[] [] []\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" +"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 "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 "Nem található bővítmény vagy parancs %s néven." + +#: 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 "" +"[] [] []\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 "%s nem volt letiltva." + +#: 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 "" +"[] [--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 "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 "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 "Riasztás minden %s operátornak: %s" + +#: plugin.py:848 +msgid " (from %s)" +msgstr "(%s-tól)" + +#: 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." + diff --git a/plugins/Channel/locale/it.po b/plugins/Channel/locale/it.po new file mode 100644 index 000000000..680395f35 --- /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-08-10 01: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" + + +#: 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 password" + +#: 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/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 f483c800b..78ff7455b 100644 --- a/plugins/Channel/plugin.py +++ b/plugins/Channel/plugin.py @@ -73,7 +73,7 @@ def mode(self, irc, msg, args, channel, modes): 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 @@ def moderate(self, irc, msg, args, channel): 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 @@ def unmoderate(self, irc, msg, args, channel): 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 @@ def key(self, irc, msg, args, channel, key): 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 @@ def f(L): 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 @@ def devoice(self, irc, msg, args, channel, nicks): 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 @@ def kick(self, irc, msg, args, channel, nicks, reason): 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 @@ def f(): 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 @@ def unban(self, irc, msg, args, channel, hostmask): 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,11 +406,11 @@ def invite(self, irc, msg, args, channel, nick): 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): - (_, 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 @@ def do341(self, irc, msg): 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: @@ -438,7 +438,7 @@ def do504(self, irc, msg): 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): @@ -503,7 +503,7 @@ def add(self, irc, msg, args, channel, banmask, expires): 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 @@ def setdefault(self, irc, msg, args, channel, v): """[] {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. """ @@ -828,6 +828,7 @@ def nicks(self, irc, msg, args, channel, optlist): (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/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. 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 @@ def configure(advanced): 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/ChannelLogger/locale/fi.po b/plugins/ChannelLogger/locale/fi.po index 43e2d7734..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" @@ -24,14 +28,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 +44,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 +53,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 +64,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 +78,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 +90,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 +98,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 +106,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,15 +116,15 @@ 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 "" "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" -"hakemistorakenteessa kanavalokeille jos\n" +"Määrittää mitä aikaleimamuotoa käytetään\n" +" hakemistorakenteessa kanavalokeille jos\n" " supybot.plugins.ChannelLogger.directories.timestamp on True." 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/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." + 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/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/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. 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/Conditional/locale/fi.po b/plugins/Conditional/locale/fi.po new file mode 100644 index 000000000..bad3da841 --- /dev/null +++ b/plugins/Conditional/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-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" +"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 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" +" 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 yksikin 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 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" +" " + diff --git a/plugins/Conditional/locale/fr.po b/plugins/Conditional/locale/fr.po index 91f8d1cbf..ebf6820c6 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" +"Project-Id-Version: Limnoria\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,9 +182,9 @@ msgstr "" #: plugin.py:250 msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" -" Returns true if they is greater than .\n" +"\n" +" Does a numeric comparison on and .\n" +" Returns true if is greater than .\n" " " msgstr "" "<élément1> <élément2>\n" @@ -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/locale/it.po b/plugins/Conditional/locale/it.po new file mode 100644 index 000000000..ca7747b55 --- /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" +" Utilizza gli altri operatori logici presenti in questo plugin e i comandi nidificati a tuo 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/Conditional/messages.pot b/plugins/Conditional/messages.pot index 0fd941dbd..256b73d00 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,9 +161,9 @@ msgstr "" #, docstring msgid "" " \n" -" \n" -" Does a numeric comparison on and . \n" -" Returns true if they is greater than .\n" +"\n" +" Does a numeric comparison on and .\n" +" Returns true if 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..323efdc9e 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 @@ def cif(self, irc, msg, args, condition, ifcommand, elsecommand): 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 @@ def cand(self, irc, msg, args, conds): 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 @@ def cor(self, irc, msg, args, conds): 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 @@ def cxor(self, irc, msg, args, conds): 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 @@ def ceq(self, irc, msg, args, item1, item2): 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 @@ def ne(self, irc, msg, args, item1, item2): 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 @@ def gt(self, irc, msg, args, item1, item2): 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 @@ def ge(self, irc, msg, args, item1, item2): 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 @@ def lt(self, irc, msg, args, item1, item2): 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 @@ def le(self, irc, msg, args, item1, item2): @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 @@ def match(self, irc, msg, args, item1, item2): @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 @@ def nceq(self, irc, msg, args, item1, item2): 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,25 +244,25 @@ def nne(self, irc, msg, args, item1, item2): else: irc.reply('false') nne = wrap(nne, ['float', 'float']) - + @internationalizeDocstring def ngt(self, irc, msg, args, item1, item2): """ - - Does a numeric comparison on and . - Returns true if they is greater than . + + Does a numeric comparison on and . + Returns true if is greater than . """ if item1 > item2: irc.reply('true') 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 @@ def nge(self, irc, msg, args, item1, item2): 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 @@ def nlt(self, irc, msg, args, item1, item2): 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/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." diff --git a/plugins/Config/locale/it.po b/plugins/Config/locale/it.po new file mode 100644 index 000000000..a0b9a1ab7 --- /dev/null +++ b/plugins/Config/locale/it.po @@ -0,0 +1,180 @@ +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 un valore. Utilizzare il comando \"list\" 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. Prova \"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 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/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. diff --git a/plugins/Ctcp/locale/fi.po b/plugins/Ctcp/locale/fi.po new file mode 100755 index 000000000..ea7777129 --- /dev/null +++ b/plugins/Ctcp/locale/fi.po @@ -0,0 +1,65 @@ +# 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-08-10 14:27+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: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 versioketjut\n" +" annetaan.\n" +" " + 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." diff --git a/plugins/Ctcp/locale/it.po b/plugins/Ctcp/locale/it.po new file mode 100644 index 000000000..7169ebbe8 --- /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 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" +" alle stringhe di versione; altrimenti vengono fornite solo le stringhe.\n" +" " + 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/plugins/Dict/locale/fi.po b/plugins/Dict/locale/fi.po new file mode 100644 index 000000000..b929f069e --- /dev/null +++ b/plugins/Dict/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-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" +"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 +msgid "" +"takes no arguments\n" +"\n" +" Returns the dictionaries valid for the dict command.\n" +" " +msgstr "" +"Ei ota parametrejä\n" +"\n" +" Palauttaa sanakirjat, jotka kelpaavat 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" +"\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/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/locale/it.po b/plugins/Dict/locale/it.po new file mode 100644 index 000000000..ca5194dee --- /dev/null +++ b/plugins/Dict/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-28 20: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: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" +" Riporta 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" +" Riporta un dizionario casuale.\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" +"\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" +"\n" +" Ricava un sinonimo casuale dal database di Moby Thesaurus (moby-thes).\n" +"\n" +" Se sono state fornite più parole ottiene un sinonimo casuale per ognuna.\n" +"\n" +" Affinché vengano trattate come un'unica frase racchiuderle tra virgolette.\n" +" " + 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 @@ def dict(self, irc, msg, args, words): 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 @@ def synonym(self, irc, msg, args, words): 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/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. 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." + 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/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. diff --git a/plugins/Factoids/locale/fi.po b/plugins/Factoids/locale/fi.po new file mode 100644 index 000000000..a1e27bbe6 --- /dev/null +++ b/plugins/Factoids/locale/fi.po @@ -0,0 +1,380 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-06-28 19:40+CEST\n" +"PO-Revision-Date: 2011-07-21 19:18+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ää $value, 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ä 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 "" +"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 yhden komennon täsmäävään\n" +" factoidiin, jos vain yksi täsmää \"search\" komentoa käytettäessä.\n" + +#: 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 "" +"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 "" +"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 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 "$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 "" +"[] %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 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 "" +"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-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 "Tuo ei ole kelvollinen numero tuolle avaimelle." + +#: plugin.py:279 +#: plugin.py:372 +#: plugin.py:598 +msgid "No factoid matches that key." +msgstr "Mikään factoidi ei täsmää tuota avainta." + +#: 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 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 "avaimen id" + +#: plugin.py:334 +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ää 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 "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 "Tähän avaimeen on liitetty useampi, kuin yksi factoidi, mutta sinä et antanut numeroa." + +#: plugin.py:403 +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 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 "" +"[] \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 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 "" +"[] \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 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 "" +"[] [|*]\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\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 "Tuollaista factoidia ei ole-" + +#: plugin.py:547 +msgid "Invalid factoid number." +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 "%s factoidilla on tuo avain. Ole hyvä ja määritä mikä poistetaan, tai käytä * poistaaksesi ne kaikki." + +#: plugin.py:560 +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:582 +msgid "I couldn't find a factoid." +msgstr "En voinut löytää factoidia." + +#: plugin.py:587 +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 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 "#%i:inlisäsi %s %s, aja on kutsuttu %n" + +#: plugin.py:616 +msgid "time" +msgstr "aika" + +#: plugin.py:626 +msgid "" +"[] \n" +"\n" +" Changes the factoid # associated with according to\n" +" .\n" +" " +msgstr "" +"[] \n" +"\n" +" Vaihtaa factoidin #, joka on liitetty \n" +" mukaan.\n" +" " + +#: plugin.py:640 +msgid "I couldn't find any key %q" +msgstr "En voinut löytää yhtään avainta %q" + +#: plugin.py:655 +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" +" 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 "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 "Yli 100 avainta täsmäsi tuohon hakuun; ole hyvä ja kavenna hakuasi." + diff --git a/plugins/Factoids/locale/fr.po b/plugins/Factoids/locale/fr.po index 9cc269f84..430206d9c 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,16 +271,16 @@ 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" " 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 "" @@ -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/locale/it.po b/plugins/Factoids/locale/it.po new file mode 100644 index 000000000..979c5720f --- /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; specifica quale desideri rimuovere o utilizza * 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, restringi la ricerca." + diff --git a/plugins/Factoids/messages.pot b/plugins/Factoids/messages.pot index d7f98ee95..c6ea584b9 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,26 +249,26 @@ 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" "\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 "" -#: 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..2bf2cbf17 100644 --- a/plugins/Factoids/plugin.py +++ b/plugins/Factoids/plugin.py @@ -129,7 +129,7 @@ def getCommandHelp(self, command, simpleSyntax=None): 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() @@ -655,7 +655,7 @@ def search(self, irc, msg, args, channel, optlist, globs): """[] [--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/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 :) 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" +" " + diff --git a/plugins/Filter/locale/fr.po b/plugins/Filter/locale/fr.po index 19b7e28e6..2d192fe45 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 "" @@ -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 "" diff --git a/plugins/Filter/locale/it.po b/plugins/Filter/locale/it.po new file mode 100644 index 000000000..6a0870f6d --- /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 lettera\n" +" interna (tutte le lettere tranne la prima e l'ultima) è mischiata con le altre.\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/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. diff --git a/plugins/Format/locale/fi.po b/plugins/Format/locale/fi.po new file mode 100644 index 000000000..103dce83b --- /dev/null +++ b/plugins/Format/locale/fi.po @@ -0,0 +1,238 @@ +# Format plugin in Limnoria. +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \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" +"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 +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 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 +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/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/locale/it.po b/plugins/Format/locale/it.po new file mode 100644 index 000000000..e2ae21a98 --- /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 di e colore di (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 " deve 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. Nota 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. Assicurati 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/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/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 @@ def title(self, irc, msg, args, text): 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/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. diff --git a/plugins/Games/locale/fi.po b/plugins/Games/locale/fi.po new file mode 100644 index 000000000..903c61db1 --- /dev/null +++ b/plugins/Games/locale/fi.po @@ -0,0 +1,148 @@ +# 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-20 15:29+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ä 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!" +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 "" +"[spin]\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 "lataa 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" + diff --git a/plugins/Games/locale/it.po b/plugins/Games/locale/it.po new file mode 100644 index 000000000..6e2310b2a --- /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" +" Poni una domanda e otterrai 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/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." + diff --git a/plugins/Google/locale/it.po b/plugins/Google/locale/it.po new file mode 100644 index 000000000..1dcbe751b --- /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 decrescente in base al numero di risultati.\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/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. diff --git a/plugins/Herald/locale/fi.po b/plugins/Herald/locale/fi.po new file mode 100644 index 000000000..5d1e32d28 --- /dev/null +++ b/plugins/Herald/locale/fi.po @@ -0,0 +1,186 @@ +# 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 12:56+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 messages will be sent to the\n" +" channel when a recognized user joins; basically enables or disables the\n" +" plugin." +msgstr "" +"Määrittää lähetetäänkö viestejä kanavalle, kun\n" +" tunnistettu käyttäjä liittyy; perusteellisesti ottaa tai poistaa käytöstä\n" +" tämän lisäosan." + +#: config.py:50 +msgid "" +"Determines what capability (if any) is required to\n" +" add/change/remove the herald of another user." +msgstr "" +"Määrittää mikä valtuus (jos mikään) on vaadittu\n" +" toisen käyttäjän airueen lisäämisessä/muuttamisessa/poistamisessa." + +#: config.py:53 +msgid "" +"Determines the minimum number of seconds\n" +" between heralds." +msgstr "" +"Määrittää minimi määrän sekunteja\n" +" airueiden välillä." + +#: 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 "" +"Määrittää minimi määrän sekunteja, jolloin\n" +" henkilön poistumisen jälkeen botti ei toimi airueena, kun hän\n" +" palaa." + +#: 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 "" +"Määritt'' minimi määrän sekunteja netsplitin jälkeen\n" +" jolloin botti ei toimi airueena käyttäjille, jotka splittaantuivat." + +#: 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 "" +"Asettaa oletusairueen käytettäväksi. Jos käyttäjällä on oma\n" +" henkilökohtainen airue määritettynä, sitä käytetään sen sijaan. Jos asetettu tyhjäksi\n" +" merkkiketjuksi, oletus airue poistetaan käytöstä." + +#: config.py:67 +msgid "" +"Determines whether the default herald will be\n" +" sent as a NOTICE instead of a PRIVMSG." +msgstr "" +"Määrittää lähetetäänkö oletus airue NOTICEna\n" +" PRIVMSG:gen sijaan." + +#: config.py:70 +msgid "" +"Determines whether the default herald will be\n" +" sent publicly." +msgstr "" +"Määrittää lähetetäänkö oletus airut \n" +" julkisesti." + +#: plugin.py:143 +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" +" Jos on annettu, asettaa oletusairueen . \"\"\n" +" poistaa oletus airueen. Jos ei anneta, palauttaa\n" +" nykyisen oletusairueen. on vaadittu vain jos viestiä ei lähetetä kanavalla itsellään\n" + +#: plugin.py:162 +msgid "I do not have a default herald set for %s." +msgstr "Minulla ei ole oletus airuetta asetettuna %s:lle." + +#: plugin.py:170 +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" +" Palauttaa nykyisen airue viestin (tai käyttäjälle\n" +" on tunnistetty). Jos \n" +" ei ole annettu, se on oletuksenena komennon antanut henkilö. \n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:181 +msgid "I have no herald for %s." +msgstr "Minulla ei ole airuetta %s:lle." + +#: plugin.py:201 +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" +" Asettaa airueen (tai käyttäjän, johon \n" +" tällä hetkellä on tunnistautunut, tai tunnistettu) . on\n" +" vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:214 +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" +" Poistaa airue viestin, joka on asetettu , tai\n" +" joka on tällä hetkellä tunnistettu tai tunnistautunut. Jos \n" +" ei ole annettu, se on oletuksena komennon antanut käyttäjä.\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " + +#: plugin.py:227 +msgid "I have no herald for that user." +msgstr "Minulla ei ole airuetta tuolle käyttäjälle." + +#: plugin.py:232 +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" +" Vaihtaa airueen, tai käyttäjän joka\n" +" on tunnistautunut tai tunnistettu, . Jos\n" +" ei ole annettu, se on oletuksena komennon antanut käyttäjä. on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " + 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/Herald/locale/it.po b/plugins/Herald/locale/it.po new file mode 100644 index 000000000..4d4140418 --- /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 invierà 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/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 @@ def default(self, irc, msg, args, channel, optlist, text): """ 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() 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. diff --git a/plugins/Internet/locale/fi.po b/plugins/Internet/locale/fi.po new file mode 100644 index 000000000..e4a10ff38 --- /dev/null +++ b/plugins/Internet/locale/fi.po @@ -0,0 +1,94 @@ +# 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-23 15:37+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 "Add the help for \"@help Internet\" here." +msgstr "Lisää ohje \"@help Internet:ille\" tähän." + +#: plugin.py:46 +msgid "" +"\n" +"\n" +" Returns the ip of or the reverse DNS hostname of .\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa ip:een tai käänteisen isäntänimen.\n" +" " + +#: plugin.py:53 +#: plugin.py:60 +#: plugin.py:64 +msgid "Host not found." +msgstr "Isäntää ei löytynyt." + +#: plugin.py:76 +msgid "" +"\n" +"\n" +" Returns WHOIS information on the registration of .\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa WHOIS tiedot rekisteröimisestä.\n" +" " + +#: plugin.py:82 +msgid "domain" +msgstr "verkkotunnus" + +#: plugin.py:111 +msgid "updated %s" +msgstr "päivitetty %s" + +#: plugin.py:114 +msgid "registered %s" +msgstr "rekisteröity %s" + +#: plugin.py:117 +msgid "expires %s" +msgstr "vanhenee %s" + +#: plugin.py:137 +msgid " " +msgstr " " + +#: plugin.py:139 +msgid " " +msgstr " " + +#: plugin.py:144 +msgid "%s%s is %L." +msgstr "%s%s on %L." + +#: plugin.py:147 +msgid "I couldn't find such a domain." +msgstr "En voi löytää sellaista verkkotunnusta." + +#: plugin.py:152 +msgid "" +"\n" +"\n" +" Returns the hexadecimal IP for that IP.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa IP:een heksadesimaalisen IP:een IP:lle.\n" +" " + 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/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 @@ def configure(advanced): 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/Karma/locale/fi.po b/plugins/Karma/locale/fi.po new file mode 100644 index 000000000..21433d91a --- /dev/null +++ b/plugins/Karma/locale/fi.po @@ -0,0 +1,182 @@ +# Karma plugin in Limnoria. +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \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" +"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 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/Karma/locale/fr.po b/plugins/Karma/locale/fr.po index 6daa8c964..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" @@ -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 "" @@ -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/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/Karma/messages.pot b/plugins/Karma/messages.pot index 19a85d552..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 @@ -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 @@ def karma(self, irc, msg, args, channel, things): 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: 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/Lart/locale/it.po b/plugins/Lart/locale/it.po new file mode 100644 index 000000000..0118a7993 --- /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 ,\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/Later/locale/fi.po b/plugins/Later/locale/fi.po new file mode 100644 index 000000000..b6f1808cf --- /dev/null +++ b/plugins/Later/locale/fi.po @@ -0,0 +1,190 @@ +# Later plugin in Limnoria. +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \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" +"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 nähdään 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: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" + 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/locale/it.po b/plugins/Later/locale/it.po new file mode 100644 index 000000000..fc610588e --- /dev/null +++ b/plugins/Later/locale/it.po @@ -0,0 +1,186 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-08-10 14: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 +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 vuoi questa caratteristica considera 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 questo 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 questo 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: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/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/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 @@ def remove(self, irc, msg, args, nick): 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 @@ def testLaterRemove(self): 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/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" +" " + 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/locale/it.po b/plugins/Limiter/locale/it.po new file mode 100644 index 000000000..fff917e78 --- /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 appena 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/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. """ 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" +" " + diff --git a/plugins/Math/locale/hu.po b/plugins/Math/locale/hu.po new file mode 100644 index 000000000..d4917b58d --- /dev/null +++ b/plugins/Math/locale/hu.po @@ -0,0 +1,147 @@ +# 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-08-02 21:06+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" + + +#: 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 "" +"[]\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." diff --git a/plugins/Math/locale/it.po b/plugins/Math/locale/it.po new file mode 100644 index 000000000..5bd0e74b8 --- /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 a un'altra.\n" +" Se non è specificata, 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; ti invito a 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 a 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à, utilizza 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/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 @@ def configure(advanced): 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 new file mode 100644 index 000000000..4e28cf37a --- /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 regexps 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 parentheses.\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" +" " + diff --git a/plugins/MessageParser/locale/fr.po b/plugins/MessageParser/locale/fr.po index 64968eefa..cceaf348d 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" @@ -46,11 +46,11 @@ 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 +#: 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." @@ -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,8 +196,8 @@ 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" +" is only necessary if the message isn't sent in the channel\n" +" itself. Regexp ID listed in parentheses.\n" " " msgstr "" "[]\n" @@ -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,16 +226,16 @@ 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 "" "[]\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/MessageParser/locale/it.po b/plugins/MessageParser/locale/it.po new file mode 100644 index 000000000..f7eb307f0 --- /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. 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." + +#: 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" +" Utilizza 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 "Utilizzalo 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 parentheses.\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 . 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/MessageParser/messages.pot b/plugins/MessageParser/messages.pot index 6a9766807..50eb87378 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,9 +50,9 @@ msgid "" " capability." msgstr "" -#: config.py:69 +#: 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 "" @@ -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,8 +188,8 @@ 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" +" is only necessary if the message isn't sent in the channel\n" +" itself. Regexp ID listed in parentheses.\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 "" diff --git a/plugins/MessageParser/plugin.py b/plugins/MessageParser/plugin.py index d72516696..b9fd2c754 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 @@ def makeDb(self, filename): )""") db.commit() return db - + # override this because sqlite3 doesn't have autocommit # use isolation_level instead. def getDb(self, channel): @@ -113,7 +113,7 @@ def getDb(self, channel): 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 @@ def _updateRank(self, channel, regexp): 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 @@ def _checkManageCapabilities(self, irc, msg, channel): return False else: return True - + def doPrivmsg(self, irc, msg): channel = msg.args[0] if not irc.isChannel(channel): @@ -170,17 +170,17 @@ def doPrivmsg(self, irc, msg): 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 @@ def add(self, irc, msg, args, channel, regexp, action): 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 @@ def remove(self, irc, msg, args, channel, optlist, regexp): 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 @@ def show(self, irc, msg, args, channel, optlist, regexp): """[] [--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 @@ def show(self, irc, msg, args, channel, optlist, regexp): 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 @@ def info(self, irc, msg, args, channel, optlist, regexp): """[] [--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 @@ def info(self, irc, msg, args, channel, optlist, regexp): 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,8 +371,8 @@ def list(self, irc, msg, args, channel): """[] 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. + is only necessary if the message isn't sent in the channel + itself. Regexp ID listed in parentheses. """ db = self.getDb(channel) cursor = db.cursor() @@ -383,7 +383,7 @@ def list(self, irc, msg, args, channel): 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 @@ def list(self, irc, msg, args, channel): @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 @@ def rank(self, irc, msg, args, channel): @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') diff --git a/plugins/Misc/locale/fi.po b/plugins/Misc/locale/fi.po new file mode 100644 index 000000000..38cff73f4 --- /dev/null +++ b/plugins/Misc/locale/fi.po @@ -0,0 +1,297 @@ +# Misc plugin in Limnoria. +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \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" +"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 Limnoria.\n" +" " +msgstr "" +"ei ota parametrejä\n" +"\n" +" Palauttaa URL:n, joka kertoo mistä Limnorian 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:431 +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:435 +msgid "pong" +msgstr "pong" + diff --git a/plugins/Misc/locale/fr.po b/plugins/Misc/locale/fr.po index 560125e56..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: 2010-10-17 15:35+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" @@ -123,34 +123,38 @@ 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" -" 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:234 -msgid "My source is at http://supybot.com/" -msgstr "Ma source est disponible sur http://supybot.com/" +#: plugin.py:243 +msgid "My source is at https://github.com/ProgVal/Limnoria" +msgstr "Ma source est disponible sur https://github.com/ProgVal/Limnoria" -#: 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:431 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:435 msgid "pong" msgstr "pong" diff --git a/plugins/Misc/locale/hu.po b/plugins/Misc/locale/hu.po new file mode 100644 index 000000000..5d8a46e9e --- /dev/null +++ b/plugins/Misc/locale/hu.po @@ -0,0 +1,255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria Misc\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." + +#: 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 +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 +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 +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 +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 +msgid "" +"takes no arguments\n" +"\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 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 +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 +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} <é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 "Nem találtam a kritériumra illeszkedő üzenetet a(z) %s üzenetes előzményeimben." + +#: plugin.py:401 +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." + +#: plugin.py:409 +msgid "Dude, just give the command. No need for the tell." +msgstr "Haver, csak add meg a parancsot. Nem kell mondani." + +#: plugin.py:414 +msgid "You just told me, why should I tell myself?" +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 "Nem láttam %s-t, rád hagyom a mondást." + +#: plugin.py:424 +msgid "%s wants me to tell you: %s" +msgstr "%s szeretné, hogy megmondjam neked: %s" + +#: plugin.py:431 +msgid "" +"takes no arguments\n" +"\n" +" 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:435 +msgid "pong" +msgstr "pong" + diff --git a/plugins/Misc/locale/it.po b/plugins/Misc/locale/it.po new file mode 100644 index 000000000..b2fbb2b68 --- /dev/null +++ b/plugins/Misc/locale/it.po @@ -0,0 +1,293 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-08-10 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: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 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 +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 non ha 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. 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 +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. Specifica per quale vuoi 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 Limnoria.\n" +" " +msgstr "" +"non necessita argomenti\n" +"\n" +" Riporta un URL che dice dove ottenere Limnoria.\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 . Utilizza i comandi nidificati a tuo 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 ripetermelo?" + +#: 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:431 +#, 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:435 +msgid "pong" +msgstr "pong" + diff --git a/plugins/Misc/messages.pot b/plugins/Misc/messages.pot index 61ee56d81..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-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" @@ -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,32 +117,36 @@ 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" "\n" -" Returns a URL saying where to get Supybot.\n" +" Returns a URL saying where to get Limnoria.\n" " " msgstr "" -#: plugin.py:233 -msgid "My source is at http://supybot.com/" +#: plugin.py:243 +msgid "My source is at https://github.com/ProgVal/Limnoria" 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:431 #, docstring msgid "" "takes no arguments\n" @@ -232,7 +236,7 @@ msgid "" " " msgstr "" -#: plugin.py:424 +#: plugin.py:435 msgid "pong" msgstr "" diff --git a/plugins/Misc/plugin.py b/plugins/Misc/plugin.py index 4f9510148..2f20de0a0 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 @@ -42,10 +43,15 @@ 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') +class RegexpTimeout(Exception): + pass + class Misc(callbacks.Plugin): def __init__(self, irc): self.__parent = super(Misc, self) @@ -212,13 +218,22 @@ def version(self, irc, msg, args): 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) @@ -228,9 +243,9 @@ def version(self, irc, msg, args): 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 http://supybot.com/')) + irc.reply(_('My source is at https://github.com/ProgVal/Limnoria')) source = wrap(source) @internationalizeDocstring @@ -322,10 +337,27 @@ def f(m, arg=arg): predicates.setdefault('without', []).append(f) elif option == 'regexp': def f(m, arg=arg): + 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]) + 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 @@ -360,8 +392,12 @@ def notSecretMsg(m): 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, @@ -413,6 +449,7 @@ def tell(self, irc, msg, args, target, text): 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/plugins/MoobotFactoids/README.txt b/plugins/MoobotFactoids/README.txt index d60b47a97..1ed9ff1da 100644 --- a/plugins/MoobotFactoids/README.txt +++ b/plugins/MoobotFactoids/README.txt @@ -1 +1,11 @@ -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 +"@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): +"@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. diff --git a/plugins/MoobotFactoids/locale/fi.po b/plugins/MoobotFactoids/locale/fi.po new file mode 100644 index 000000000..80c00f724 --- /dev/null +++ b/plugins/MoobotFactoids/locale/fi.po @@ -0,0 +1,336 @@ +# 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 13: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:46 +msgid "" +"Determines whether\n" +" 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 "%s on %s" + +#: plugin.py:365 +msgid "Factoid %q is locked." +msgstr "Factoidi %q on lukittu." + +#: plugin.py:372 +msgid "Factoid %q not found." +msgstr "Factoidia %q ei löytynyt." + +#: plugin.py:382 +msgid "Missing an 'is' or '_is_'." +msgstr "Puuttuva 'is' tai '_is_'." + +#: plugin.py:398 +msgid "Factoid %q already exists." +msgstr "Factoidi %q on jo olemassa." + +#: plugin.py:432 +msgid "%s, or %s" +msgstr "%s, tai %s" + +#: 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 "" +"[] \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 "" +"[] \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" +" 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 "Ei sellaista factoidia: %q" + +#: plugin.py:486 +msgid "Created by %s on %s." +msgstr "luonut %s kello %s." + +#: plugin.py:492 +msgid " Last modified by %s on %s." +msgstr "Viimeeksi muokattu %s kello %s." + +#: plugin.py:500 +msgid " Last requested by %s on %s, requested %n." +msgstr "Viimeeksi pyytänyt %s kello %s, pyytänyt %n." + +#: plugin.py:507 +msgid " Locked by %s on %s." +msgstr "%s:än lukitsema %s:llä." + +#: plugin.py:522 +msgid "Factoid %q is already locked." +msgstr "Factoidi %q on jo lukittu." + +#: plugin.py:525 +msgid "Factoid %q is not locked." +msgstr "Factoidi %q is not locked." + +#: plugin.py:535 +msgid "Cannot %s someone else's factoid unless you are an admin." +msgstr "Et voi %s jonkun muun factoidia paitsi, jos olet admin." + +#: 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 "" +"[] \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 "" +"[] \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" +" 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 "" +"[] {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" +" 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 "kirjoittaja" + +#: plugin.py:593 +msgid "authors" +msgstr "kirjoittajat" + +#: plugin.py:594 +msgid "Most prolific %s: %L" +msgstr "Tuottoisimmat %s: %L" + +#: plugin.py:596 +#: plugin.py:608 +msgid "There are no factoids in my database." +msgstr "Tietokannassani ei ole factoideja." + +#: plugin.py:603 +msgid "latest factoid" +msgstr "viimeisin factoidi" + +#: plugin.py:605 +msgid "latest factoids" +msgstr "viimeisimmät factoidit" + +#: plugin.py:606 +msgid "%s: %L" +msgstr "%s: %L" + +#: plugin.py:615 +msgid "requested factoid" +msgstr "pyydetty factoidi" + +#: plugin.py:617 +msgid "requested factoids" +msgstr "pyydetyt factoidit" + +#: plugin.py:618 +msgid "Top %s: %L" +msgstr "Top %s: %L" + +#: plugin.py:620 +msgid "No factoids have been requested from my database." +msgstr "Factoideja ei ole pyydetty tietokannastani." + +#: 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 "" +"[] \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 "%q:n kirjoittamia factoideja ei löytynyt." + +#: plugin.py:640 +msgid "Author search for %q (%i found): %L" +msgstr "Kirjoittaja haku %q:lle (%i löytynyt): %L" + +#: 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 "" +"[] \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 "Avaimia, jotka täsmäävät %q:un ei löytynyt." + +#: plugin.py:662 +msgid "Key search for %q (%i found): %L" +msgstr "Avain haku %q:lle (%i löytynyt): %L" + +#: 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 "" +"[] \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 "%q:un täsmääviä avaimia ei löytynyt." + +#: plugin.py:680 +msgid "Value search for %q (%i found): %L" +msgstr "Arvo haku %q:lle (%i löytynyt): %L" + +#: 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 "" +"[] \n" +"\n" +" Poistaa factoidin annetulla avaimella. on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: 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 "" +"[]\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 "Tietokannassa ei ole factoideja." + diff --git a/plugins/MoobotFactoids/locale/it.po b/plugins/MoobotFactoids/locale/it.po new file mode 100644 index 000000000..20b4a9e7a --- /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. 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" +" " + +#: 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/MoobotFactoids/plugin.py b/plugins/MoobotFactoids/plugin.py old mode 100644 new mode 100755 index 1063c63dd..8729d6785 --- a/plugins/MoobotFactoids/plugin.py +++ b/plugins/MoobotFactoids/plugin.py @@ -109,11 +109,11 @@ def _getDb(self, channel): 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() @@ -283,7 +283,7 @@ def getKeysByValueGlob(self, channel, glob): 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 diff --git a/plugins/Network/locale/fi.po b/plugins/Network/locale/fi.po new file mode 100644 index 000000000..2810b4a96 --- /dev/null +++ b/plugins/Network/locale/fi.po @@ -0,0 +1,212 @@ +# 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 17: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: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 "" +"[--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 "Olen jo verkkoon %s." + +#: plugin.py:87 +msgid "A server must be provided if the network is not already registered." +msgstr "Palvelin täytyy antaa, mikäli verkko ei ole jo rekisteröity." + +#: plugin.py:95 +msgid "Connection to %s initiated." +msgstr "Yhdistäminen verkkoon %s aloitettu." + +#: 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 "" +"[] []\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 "Yhteyden katkaisu verkosta %s aloitettu." + +#: 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 "" +"[] []\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 "" +" [ ...]\n" +"\n" +" 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 "on kanavaoperaattori %L:llä" + +#: plugin.py:212 +msgid "is a halfop on %L" +msgstr "on puolioperaattori %L:llä." + +#: plugin.py:214 +msgid "is voiced on %L" +msgstr "on ääni %L:llä" + +#: plugin.py:217 +msgid "is also on %L" +msgstr "on myös %L:llä" + +#: plugin.py:219 +msgid "is on %L" +msgstr "on %L:llä." + +#: plugin.py:221 +msgid "isn't on any non-secret channels" +msgstr "Ei ole yhdelläkään ei-salaisella kanavalla." + +#: plugin.py:228 +#: plugin.py:229 +#: plugin.py:233 +msgid "" +msgstr "" + +#: plugin.py:240 +msgid " identified" +msgstr "tunnistautunut" + +#: plugin.py:245 +msgid "%s (%s) has been%s on server %s since %s (idle for %s) and %s.%s" +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 "%s:ää ei ole verkossa %s." + +#: 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 "" +"[] \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 "" +"takes no arguments\n" +"\n" +" 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 "%.2f sekuntia." + +#: 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 "" +"[]\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 "Viiveen tarkistus (%s:ltä)." + +#: 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 "" +"[]\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" +" " + diff --git a/plugins/Network/locale/it.po b/plugins/Network/locale/it.po new file mode 100644 index 000000000..b6281a336 --- /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 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" +" " + +#: 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 a ).\n" +" Se è specificato, esce con tale messaggio.\n" +" è necessaria solo se la rete è differente da quella sulla quale è 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 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" +" " + +#: 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) è%s sul server %s dalle %s (inattivo da %s) ed %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 sulla quale è 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 sulla quale è 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 sulla quale è inviato il comando.\n" +" " + diff --git a/plugins/News/locale/fi.po b/plugins/News/locale/fi.po new file mode 100644 index 000000000..492fbd174 --- /dev/null +++ b/plugins/News/locale/fi.po @@ -0,0 +1,135 @@ +# 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: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:57 +msgid "%s (Subject: %q, added by %s on %s)" +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 "%s (Aihe: %q, lisännyt %s kanavalla %s, vanhenee %s)" + +#: 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 "" +"[] : \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 "(Uutisaihe #%i lisätty)" + +#: 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 "" +"[] []\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 "Uutisia %s::lle %s" + +#: plugin.py:151 +msgid "No news for %s." +msgstr "Ei uutisia %s:lle." + +#: plugin.py:157 +#: plugin.py:171 +#: plugin.py:187 +#: plugin.py:203 +msgid "news item id" +msgstr "uutisaihe id" + +#: 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 "" +"[] \n" +"\n" +" Poistaa uutisaiheen . on vaadittu\n" +" vain jos viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: 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 "" +"[] \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 "" +"[] []\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" +" 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 "Vanhoja uutisia %s:lle %s" + +#: plugin.py:211 +msgid "No old news for %s." +msgstr "Ei vanhoja uutisia %s:lle." + 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/NickCapture/locale/fi.po b/plugins/NickCapture/locale/fi.po new file mode 100644 index 000000000..828f51631 --- /dev/null +++ b/plugins/NickCapture/locale/fi.po @@ -0,0 +1,47 @@ +# 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-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" +"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 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ä 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." + +#: plugin.py:89 +msgid "This is returned by the ISON command." +msgstr "Tämä on ISON komennon palauttama." + 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/locale/it.po b/plugins/NickCapture/locale/it.po new file mode 100644 index 000000000..66ccee652 --- /dev/null +++ b/plugins/NickCapture/locale/it.po @@ -0,0 +1,43 @@ +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: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" + +#: 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 "" +"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 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." + +#: plugin.py:89 +#, docstring +msgid "This is returned by the ISON command." +msgstr "Questo è restituito dal comando ISON." + 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 @@ _ = 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/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%%." + 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/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" +" " + diff --git a/plugins/Note/locale/it.po b/plugins/Note/locale/it.po new file mode 100644 index 000000000..65058f6fd --- /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 hai da leggere, utilizza 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/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.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 @@ def frm(note): 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/Owner/locale/fi.po b/plugins/Owner/locale/fi.po new file mode 100755 index 000000000..63fb28011 --- /dev/null +++ b/plugins/Owner/locale/fi.po @@ -0,0 +1,172 @@ +# 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. +# +msgid "" +msgstr "" +"Project-Id-Version: \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" +"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 "" + diff --git a/plugins/Owner/locale/fr.po b/plugins/Owner/locale/fr.po index c20805298..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: 2010-10-29 14:47+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" @@ -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,21 +87,21 @@ 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" " 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: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" @@ -149,11 +149,11 @@ 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 +#: plugin.py:528 msgid "" "[] \n" "\n" @@ -166,9 +166,9 @@ 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 +#: 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." + 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." diff --git a/plugins/Owner/locale/it.po b/plugins/Owner/locale/it.po new file mode 100644 index 000000000..32868920f --- /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 salvataggio 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/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/Owner/plugin.py b/plugins/Owner/plugin.py index 922387f51..ad47ee043 100644 --- a/plugins/Owner/plugin.py +++ b/plugins/Owner/plugin.py @@ -252,7 +252,7 @@ def doPrivmsg(self, irc, msg): self.commands.enqueue(msg) if conf.supybot.abuse.flood.command() \ and self.commands.len(msg) > maximum \ - and not ircdb.checkCapability(msg.prefix, 'owner'): + and not ircdb.checkCapability(msg.prefix, 'trusted'): punishment = conf.supybot.abuse.flood.command.punishment() banmask = ircutils.banmask(msg.prefix) self.log.info('Ignoring %s for %s seconds due to an apparent ' @@ -378,7 +378,7 @@ def upkeep(self, irc, msg, args, level): 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': @@ -540,11 +540,11 @@ def disable(self, irc, msg, args, plugin, command): 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 @@ def enable(self, irc, msg, args, plugin, command): """ 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) diff --git a/plugins/Plugin/locale/fi.po b/plugins/Plugin/locale/fi.po new file mode 100755 index 000000000..4bb0e10aa --- /dev/null +++ b/plugins/Plugin/locale/fi.po @@ -0,0 +1,274 @@ +# 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 17:55+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äosissa" + +#: plugin.py:93 +msgid "plugin" +msgstr "lisäosassa" + +#: 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 "" +"\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 "" +"\n" +" Sort the list of 'long names' based on the number of contributions\n" +" associated with each.\n" +" " +msgstr "" +"\n" +" Lajittelee listan 'pitkistä nimistä' perustuen osallistumisen määrän\n" +" liitettynä toisiinsa.\n" +" " + +#: plugin.py:183 +msgid "" +"\n" +" Build the list of author + contributors (if any) for the requested\n" +" 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 "%s lisäosa" + +#: plugin.py:188 +msgid "has not been claimed by an author" +msgstr "ei ole kirjoittajan omakseen väittämä" + +#: plugin.py:189 +msgid "and" +msgstr "ja" + +#: plugin.py:190 +msgid "has no contributors listed." +msgstr "ei ole lueteltuja osallistumisia." + +#: plugin.py:195 +msgid "was written by %s" +msgstr "kirjoittanut %s" + +#: plugin.py:206 +msgid "%s %h contributed to it." +msgstr "%s %h osallistuivat siihen." + +#: plugin.py:211 +msgid "has no additional contributors listed." +msgstr "ei ole vaihtoehtoisia osallistujia lueteltuna." + +#: plugin.py:213 +msgid "but" +msgstr "mutta" + +#: plugin.py:216 +msgid "" +"\n" +" Build the list of contributions (if any) for the requested person\n" +" 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 "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 "Lisäosalla %s ei ole '%s':ää lueteltuna osallistujaksi." + +#: plugin.py:244 +msgid "command" +msgstr "komento" + +#: plugin.py:247 +msgid "the %L %s" +msgstr "%L %s" + +#: plugin.py:249 +msgid "the %L" +msgstr "%L" + +#: plugin.py:252 +msgid "%s wrote the %s plugin and also contributed %L." +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 "%s osallistui %L:stä %s lisäosaan." + +#: plugin.py:258 +msgid "%s wrote the %s plugin" +msgstr "%s kirjoitti lisäosan %s" + +#: plugin.py:261 +msgid "%s has no listed contributions for the %s plugin." +msgstr "%s:llä ei ole lueteltuja osallistujia lisäosaan %s." + 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/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 @@ def install(self, plugin): 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/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" + diff --git a/plugins/Praise/locale/it.po b/plugins/Praise/locale/it.po new file mode 100644 index 000000000..ca61e6316 --- /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. 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 +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/Protector/locale/fi.po b/plugins/Protector/locale/fi.po new file mode 100644 index 000000000..dc9d2c663 --- /dev/null +++ b/plugins/Protector/locale/fi.po @@ -0,0 +1,35 @@ +# 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: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." + 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/Protector/plugin.py b/plugins/Protector/plugin.py index b90e3c2de..26a1b8824 100644 --- a/plugins/Protector/plugin.py +++ b/plugins/Protector/plugin.py @@ -68,7 +68,7 @@ def isProtected(self, irc, channel, hostmask): 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): @@ -98,7 +98,7 @@ def doMode(self, irc, msg): 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:]): @@ -143,10 +143,16 @@ def doKick(self, irc, msg): 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(channel, msg.nick) + self.demote(irc, channel, msg.nick) Class = Protector 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." + 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/QuoteGrabs/locale/fi.po b/plugins/QuoteGrabs/locale/fi.po new file mode 100755 index 000000000..cdb869455 --- /dev/null +++ b/plugins/QuoteGrabs/locale/fi.po @@ -0,0 +1,210 @@ +# 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-29 19:38+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 "" +"[] \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 "En voinut löytää yhtään kaapattuja lainauksia %s:ltä." + +#: 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 "" +"[] []\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 "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 "Satunnaista lainausta ei voitu noutaa. Onko tietokannassa yhtään kaapattuja lainauksia?" + +#: 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 "" +"[] \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 "Ei kaapattuja lainauksia %s:lle." + +#: 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 "" +"[] \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 "Ei %s:ään täsmääviä lainauksia" + 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/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 @@ class FeedNames(registry.SpaceSeparatedListOfStrings): 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/locale/fi.po b/plugins/RSS/locale/fi.po new file mode 100755 index 000000000..4461458f4 --- /dev/null +++ b/plugins/RSS/locale/fi.po @@ -0,0 +1,230 @@ +# 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:15+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 "" +"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 "" +"Determines what\n" +" 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 "" +"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 "" +"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 "" +"Indicates how many seconds the bot will\n" +" 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 "" +"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 "" +"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 "" +"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 "" +"Determines whether the bot will list the link\n" +" 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 "" +"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 "" +"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 "" +" \n" +"\n" +" Adds a command to this plugin that will look up the RSS feed at the\n" +" 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 "" +"\n" +"\n" +" Removes the command for looking up RSS feeds at from\n" +" 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 "Tuo ei ole kelvollinen RSS sylte komento nimi." + +#: 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 "" +"[]\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 "Minä en tällä hetkellä kuuluta yhtään syötettä." + +#: 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 "" +"[] [ ...]\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 "" +"[] [ ...]\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" +" 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 "" +" []\n" +"\n" +" Gets the title components of the given RSS feed.\n" +" 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 "RSS syötettä ei pystytty hakemaan." + +#: 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 "" +"\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 "En voinut noutaa tuota RSS syötettä." + +#: plugin.py:446 +msgid "Title: %s; URL: %u; Description: %s; Last updated: %s." +msgstr "Otsikko: %s; URL: %u; Kuvaus: %s; Viimeeksi päivitetty: %s." + 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." + diff --git a/plugins/RSS/locale/it.po b/plugins/RSS/locale/it.po new file mode 100644 index 000000000..347482f31 --- /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. Utilizza 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/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 @@ def normalize(headline): 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 @@ def normalize(headline): 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: diff --git a/plugins/Relay/locale/fi.po b/plugins/Relay/locale/fi.po new file mode 100644 index 000000000..5628d4793 --- /dev/null +++ b/plugins/Relay/locale/fi.po @@ -0,0 +1,255 @@ +# 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: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: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 "Minkä kanavien? Erota ne välilyönnillä." + +#: config.py:42 +msgid "Would you like to use color to distinguish between nicks?" +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 "" +"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 "" +"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 "" +"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 "" +"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 "" +"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 "" +"Determines whether the bot\n" +" 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 "" +"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 "" +"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 "" +"[]\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" +" 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 "" +"\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" +" Pysäyttää välittämisen kaikissa verkoissa. Botti\n" +" poistuu kanavalta kaikissa verkoissa, joilla se on\n" +" kanavalla.\n" +" " + +#: 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 "" +"[]\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 "on operaattori kanavalla %L" + +#: plugin.py:225 +msgid "is a halfop on %L" +msgstr "on puolioperaattori kanavalla %L" + +#: plugin.py:227 +msgid "is voiced on %L" +msgstr "omaa äänen kanavalla %L" + +#: plugin.py:230 +msgid "is also on %L" +msgstr "on myös kanavilla %L" + +#: plugin.py:232 +msgid "is on %L" +msgstr "on myös kanavalla %L" + +#: plugin.py:234 +msgid "isn't on any non-secret channels" +msgstr "ei ole yhdelläkään ei salaisella kanavalla" + +#: plugin.py:241 +#: plugin.py:242 +#: plugin.py:246 +msgid "" +msgstr "" + +#: plugin.py:248 +msgid " %s is away: %s." +msgstr " %s on poissa: %s." + +#: plugin.py:253 +msgid " identified" +msgstr "tunnistautunut" + +#: plugin.py:258 +msgid "%s (%s) has been%s on server %s since %s (idle for %s) and %s.%s" +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 "verkossa %s ei ole %s:ää." + +#: plugin.py:342 +msgid "You seem to be relaying, punk." +msgstr "Sinä näytät välittävän, punkki." + +#: plugin.py:395 +msgid "%s%s has joined on %s" +msgstr "%s%s on liittynyt verkossa %s" + +#: plugin.py:410 +msgid "%s%s has left on %s (%s)" +msgstr "%s%s on lähtenyt verkossa %s (%s)" + +#: plugin.py:413 +msgid "%s%s has left on %s" +msgstr "%s%s on lähtenyt verkossa %s" + +#: plugin.py:423 +msgid "mode change by %s on %s: %s" +msgstr "tilan muutos %s verkossa %s: %s" + +#: plugin.py:435 +msgid "%s was kicked by %s on %s (%s)" +msgstr "%s potkittiin, potkija %s verkossa %s (%s)" + +#: plugin.py:438 +msgid "%s was kicked by %s on %s" +msgstr "%s potkittiin, potkija %s verkossa %s" + +#: plugin.py:447 +msgid "nick change by %s to %s on %s" +msgstr "nimimerkin vaihto %s %s:ksi verkossa %s" + +#: plugin.py:477 +msgid "topic change by %s on %s: %s" +msgstr "aiheen vaihto, vaihtanut %s %s: %s:ksi." + +#: plugin.py:486 +msgid "%s has quit %s (%s)" +msgstr "%s on lopettanut %s verkossa (%s)" + +#: plugin.py:488 +msgid "%s has quit %s." +msgstr "%on lopettanut %s." + +#: plugin.py:498 +msgid "disconnected from %s: %s" +msgstr "yhteys katkaistu verkosta %s: %s" + diff --git a/plugins/Relay/locale/it.po b/plugins/Relay/locale/it.po new file mode 100644 index 000000000..33e6a77b6 --- /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 renderne 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/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 @@ def doJoin(self, irc, msg): 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 @@ def doPart(self, irc, msg): 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: diff --git a/plugins/Reply/locale/fi.po b/plugins/Reply/locale/fi.po new file mode 100644 index 000000000..8fd7ebdf8 --- /dev/null +++ b/plugins/Reply/locale/fi.po @@ -0,0 +1,97 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \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" +"Generated-By: pygettext.py 1.5\n" + +#: plugin.py:37 +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 "" +"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" +" " + diff --git a/plugins/Reply/locale/fr.po b/plugins/Reply/locale/fr.po index 4bcc56a98..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" @@ -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" " " @@ -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/locale/hu.po b/plugins/Reply/locale/hu.po new file mode 100644 index 000000000..a14909622 --- /dev/null +++ b/plugins/Reply/locale/hu.po @@ -0,0 +1,81 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria Reply\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 +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." + +#: plugin.py:43 +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 +msgid "" +"\n" +"\n" +" Replies with as an action. Use nested commands to your benefit\n" +" here.\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: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" +"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 +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 +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." + diff --git a/plugins/Reply/locale/it.po b/plugins/Reply/locale/it.po new file mode 100644 index 000000000..96d038b11 --- /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 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 "" +"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. Utilizza i comandi nidificati a tuo 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. Utilizza i comandi nidificati a tuo 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. Utilizza i comandi nidificati a tuo vantaggio.\n" +" Se desideri un notice privato, nidifica 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/Reply/messages.pot b/plugins/Reply/messages.pot index 29b3d2c2a..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" @@ -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" " " @@ -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/Reply/plugin.py b/plugins/Reply/plugin.py index fb4618359..fb7bc236e 100644 --- a/plugins/Reply/plugin.py +++ b/plugins/Reply/plugin.py @@ -34,7 +34,7 @@ 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. """ @@ -52,7 +52,7 @@ def private(self, irc, msg, args, text): 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/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." + diff --git a/plugins/Scheduler/locale/it.po b/plugins/Scheduler/locale/it.po new file mode 100644 index 000000000..7b88bc955 --- /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-07-31 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). Presta 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, scegline 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/Scheduler/plugin.py b/plugins/Scheduler/plugin.py index cb4d1f657..226f12e45 100644 --- a/plugins/Scheduler/plugin.py +++ b/plugins/Scheduler/plugin.py @@ -80,7 +80,7 @@ def _restoreEvents(self, irc): 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 @@ def remove(self, irc, msg, args, id): 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, @@ -202,9 +202,6 @@ def list(self, irc, msg, args): 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/plugins/Seen/locale/fi.po b/plugins/Seen/locale/fi.po new file mode 100644 index 000000000..be8b73244 --- /dev/null +++ b/plugins/Seen/locale/fi.po @@ -0,0 +1,147 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \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: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:211 +msgid "%s (%s ago)" +msgstr "%s (%s sitten)" + +#: plugin.py:213 +msgid "%s could be %L" +msgstr "%s voisi olla %L" + +#: plugin.py:213 +msgid "or" +msgstr "tai" + +#: 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:217 +#: plugin.py:289 +msgid "I have not seen %s." +msgstr "En ole nähnyt %s:ää." + +#: 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. may contain * as a wildcard.\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:232 +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:262 +msgid "Someone was last seen in %s %s ago: %s" +msgstr "Joky nähtiin viimeeksi kanavalla %s %s sitten: %s" + +#: plugin.py:266 +msgid "I have never seen anyone." +msgstr "Minä en ole nähnyt ketään." + +#: plugin.py:270 +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:293 +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:306 +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: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: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: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." + 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/locale/it.po b/plugins/Seen/locale/it.po new file mode 100644 index 000000000..a4e2b416a --- /dev/null +++ b/plugins/Seen/locale/it.po @@ -0,0 +1,144 @@ +msgid "" +msgstr "" +"Project-Id-Version: Supybot-fr\n" +"POT-Creation-Date: 2011-02-26 09:49+CET\n" +"PO-Revision-Date: 2011-08-10 14: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: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:211 +msgid "%s (%s ago)" +msgstr "%s (%s fa)" + +#: plugin.py:213 +msgid "%s could be %L" +msgstr "%s potrebbe essere %L" + +#: plugin.py:213 +msgid "or" +msgstr "oppure" + +#: plugin.py:215 +msgid "I haven't seen anyone matching %s." +msgstr "Non ho visto nessuno che corrisponda a %s." + +#: plugin.py:217 plugin.py:289 +msgid "I have not seen %s." +msgstr "Non ho visto %s." + +#: 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. 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\n" +" stesso. può contenere * come wildcard.\n" +" " + +#: plugin.py:232 +#, 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: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:266 +msgid "I have never seen anyone." +msgstr "Non ho mai visto nessuno." + +#: plugin.py:270 +#, 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:293 +#, 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" +" is only necessary 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:306 +#, 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:313 +msgid "You must be in %s to use this command." +msgstr "Per usare questo comando bisogna essere in %s." + +#: 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: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/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/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 @@ def seen(self, irc, msg, args, channel, name): 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/plugins/Services/locale/fi.po b/plugins/Services/locale/fi.po new file mode 100644 index 000000000..975ff3874 --- /dev/null +++ b/plugins/Services/locale/fi.po @@ -0,0 +1,297 @@ +# 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 23:02+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 "Mikä on rekisteröity nimimerkkisi?" + +#: config.py:50 +msgid "What is your password for that nick?" +msgstr "Mikä on salasanasi tuolle nimimerkille?" + +#: config.py:51 +msgid "What is your ChanServ named?" +msgstr "Minkä niminen ChanServisi on?" + +#: config.py:52 +msgid "What is your NickServ named?" +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 "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 "" +"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 "" +"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 "" +"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." +msgstr "Sinun täytyy asettaa supybot.plugins.Services.ChanServ ennen kuin pystyn lähettämään komennon %s." + +#: 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 "" +"[]\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." +msgstr "Minut on jo opattu kanavalla %s." + +#: 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 "" +"[]\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 "Minulla on jo ääni kanavalla %s." + +#: 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 "" +"[]\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 "" +"[]\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" +" 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 "" +"takes no arguments\n" +"\n" +" 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 "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 "Sinun täytyy asettaa supybot.plugins.Services.NickServ ennen kuin pystyn tunnistautumaan." + +#: 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 "" +"[]\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 "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 "Sinun täytyy asettaa supybot.plugins.Services.NickServ ennen kuin pystyn ghostaamaan nimimerkin." + +#: plugin.py:519 +msgid "" +" []\n" +"\n" +" Sets the NickServ password for to . If is\n" +" 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 "Tuota nimimerkkiä ei ole määritetty salasanan kanssa." + +#: 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 "" +"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 "Minulle ei ole tällä hetkellä määritetty yhtään nimimerkkiä." + diff --git a/plugins/Services/locale/it.po b/plugins/Services/locale/it.po new file mode 100644 index 000000000..74972e5cd --- /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. 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." + +#: 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/Services/plugin.py b/plugins/Services/plugin.py index 1acd35626..b763202c5 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 @@ def outFilter(self, irc, msg): 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,14 @@ def doNickservNotice(self, irc, msg): 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) + 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] 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/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/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/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/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 @@ def cpu(self, irc, msg, args): 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/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 @@ def configure(advanced): 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/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." diff --git a/plugins/String/locale/it.po b/plugins/String/locale/it.po new file mode 100644 index 000000000..97334e774 --- /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; questa variabile\n" +" esiste per 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 usa 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 che tu non 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 . Vedi\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. Vedi\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. Vedi\n" +" http://www.secure-hash-algorithm-md5-sha-1.co.uk/ per ulteriori informazioni su SHA.\n" +" " + diff --git a/plugins/String/plugin.py b/plugins/String/plugin.py index ccc6496ec..72143f72e 100644 --- a/plugins/String/plugin.py +++ b/plugins/String/plugin.py @@ -33,12 +33,14 @@ 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 @@ -146,10 +148,14 @@ def re(self, irc, msg, args, ff, text): 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/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." + diff --git a/plugins/Time/locale/it.po b/plugins/Time/locale/it.po new file mode 100644 index 000000000..6c114d481 --- /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" +" 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 +#, 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 == []: + plugins = _('No plugins available.') + else: + 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)) + 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 + if httpServer is not None: + 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() diff --git a/src/i18n.py b/src/i18n.py index 8c812d212..ba57edfdf 100644 --- a/src/i18n.py +++ b/src/i18n.py @@ -50,6 +50,9 @@ 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)] - return + raise PluginNotFound() def getLocalePath(name, localeName, extension): """Gets the path of the locale file of the given plugin ('supybot' stands @@ -153,7 +156,7 @@ def loadLocale(self, localeName=None): 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. 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 @@ def __hash__(self): 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/registry.py b/src/registry.py index 2497b4390..9850ec9b0 100644 --- a/src/registry.py +++ b/src/registry.py @@ -308,6 +308,7 @@ def __init__(self, default, help, setDefault=True, self._default = default self._showDefault = showDefault self._help = utils.str.normalizeWhitespace(help.strip()) + self._callbacks = [] if setDefault: self.setValue(default) @@ -345,6 +346,19 @@ def setValue(self, v): 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()) diff --git a/src/test.py b/src/test.py index 99d3514d8..f5722f093 100644 --- a/src/test.py +++ b/src/test.py @@ -33,8 +33,11 @@ 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.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 @@ def runTest(self): 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 @@ def assertSnarfActionRegexp(self, query, regexp, flags=re.I, **kwargs): _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 @@ def testDocumentation(self): 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,146 @@ def feedMsg(self, query, to=None, frm=None, private=False): 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) + + 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) # vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79: diff --git a/src/version.py b/src/version.py index b73d4b4e4..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-04-26T10:32:24+0200)' +version = '0.83.4.1+limnoria (2011-08-18T11:07:25+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 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 @@ def __init__(self, *args, **kwargs): 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. diff --git a/test/test_irclib.py b/test/test_irclib.py index 52dc7e258..f2df6c920 100644 --- a/test/test_irclib.py +++ b/test/test_irclib.py @@ -475,7 +475,7 @@ def testFirstCommands(self): conf.supybot.nick.setValue(nick) user = 'user any user' conf.supybot.user.setValue(user) - expected = [ircmsgs.nick(nick), ircmsgs.user('supybot', user)] + expected = [ircmsgs.nick(nick), ircmsgs.user('limnoria', user)] irc = irclib.Irc('test') msgs = [irc.takeMsg()] while msgs[-1] != None: