Merge branch 'l10n-fr' into testing

This commit is contained in:
Valentin Lorentz 2010-10-28 15:45:51 +02:00
commit b7651b06a1
20 changed files with 2245 additions and 59 deletions

View File

@ -0,0 +1,95 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-17 10:02+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\n"
#: config.py:46
msgid "Determines whether logging is enabled."
msgstr "Détermine si les logs sont activés."
#: 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 "Détermine si le fichier de logs sera enregistré à chaque fois que l'on y écrit plutôt que d'être mis en buffer par le système d'exploitation."
#: config.py:52
msgid ""
"Determines whether formatting characters (such\n"
" as bolding, color, etc.) are removed when writing the logs to disk."
msgstr "Détermine si les caractères de formattage (comme le gras, la couleurs) sont supprimés lors de l'écriture des logs sur le disque."
#: config.py:55
msgid ""
"Determines whether the logs for this channel are\n"
" timestamped with the timestamp in supybot.log.timestampFormat."
msgstr "Détermine si les logs de ce canal sont 'timestampés' avec le format dans 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 "Détermine par quelle chaîne un message doit être préfixé pour ne pas être loggué. Vous ne voulez probablement pas d'un tel préfixe, et simplement définir une chaîne vide."
#: 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 "Détermine si le bot fera automatiquement une rotation des logs pour ce canal. Le bot fera tourner les logs lorsque leur timestamp changera. Le timestamp est défini par la variable de configuration '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 "Détermine comment représenter le timestamp utilisé pour les noms de fichiers de logs 'tournants'. Lorsque ce timestamp change, l'ancien fichier de logs sera fermé, et un nouveau sera ouvert. Le format du timestamp est le même que celui de time.strftime (documentation disponible sur python.org). Pour avoir des logs 'tournant', vous devez activer 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 "Détermine si le bot partitionnera les logs de canaux dans des répertoires séparés, en fonction de différents critères."
#: config.py:78
msgid ""
"Determines whether the bot will use a network\n"
" directory if using directories."
msgstr "Détermine si le bot utilisera un répertoire par réseau, si il utilise des répertoires."
#: config.py:81
msgid ""
"Determines whether the bot will use a channel\n"
" directory if using directories."
msgstr "Détermine si le bot utilisera un répertoire par canal, si il utilise des répertoires."
#: 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 "Détermine si le bot utilisera un timestamp (déterminé par supybot.plugins.ChannelLogger.directories.timestamp.format), si il utilise des répertoires."
#: 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 "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."

View File

@ -45,7 +45,7 @@ msgstr "Je ne peux vous trouver dans ma base de données."
#: plugin.py:272
msgid "%s has sent %n; a total of %n, %n, %n, and %n; %s of those messages %s. %s has joined %n, parted %n, quit %n, kicked someone %n, been kicked %n, changed the topic %n, and changed the mode %n."
msgstr "%s a envoyé %n ; un total de %n, %n, %n, et %n ; %s de ces messages %s. %s est arrivé %nfois, est parti %nfois, a quitté %nfois, a kické %nfois, a été kické %nfois, a changé le topic %nfois, et a changé les modes %nfois."
msgstr "%s a envoyé %n ; un total de %n, %n, %n, et %n ; %s de ces messages %s. %s est arrivé %n fois, est parti %n fois, a quitté %n fois, a kické %n fois, a été kické %n fois, a changé le topic %n fois, et a changé les modes %n fois."
#: plugin.py:279
msgid "character"
@ -84,7 +84,7 @@ msgstr "étaient des ACTIONs"
#: plugin.py:292
#: plugin.py:293
msgid "time"
msgstr " fois"
msgstr "<empty>"
#: plugin.py:296
msgid "I have no stats for that %s in %s."

148
plugins/Config/locale/fr.po Normal file
View File

@ -0,0 +1,148 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-16 12:34+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\n"
#: plugin.py:136
msgid ""
"<group>\n"
"\n"
" Returns the configuration variables available under the given\n"
" configuration <group>. 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 ""
"<groupe>\n"
"\n"
"Retourne les variables de configuration qui sont dans le <groupe> de configuration. Si la variable a des sous-variables, elle sera précédée par le signe '@'. Si une variable est une 'ChannelValue', elle sera précédée par le signe '#'. Plus d'informations : http://supybot-fr.tk/Configuration"
#: plugin.py:148
msgid "There don't seem to be any values in %s."
msgstr "Il semble n'y avoir aucune valeur dans %s."
#: plugin.py:154
msgid ""
"<word>\n"
"\n"
" Searches for <word> in the current configuration variables.\n"
" "
msgstr ""
"<mot>\n"
"\n"
"Recherche le <mot> dans les variables de configuration."
#: plugin.py:167
msgid "There were no matching configuration variables."
msgstr "Il n'y a aucune variable de configuration correspondante."
#: 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 "Cette variable de registre n'a aucune valeur. Utilisez la commande 'list' sur ce plugin pour voir quelles variables sont disponibles pour ce groupe."
#: plugin.py:200
msgid ""
"[<channel>] <name> [<value>]\n"
"\n"
" If <value> is given, sets the channel configuration variable for <name>\n"
" to <value> for <channel>. Otherwise, returns the current channel\n"
" configuration value of <name>. <channel> is only necessary if the\n"
" message isn't sent in the channel itself."
msgstr ""
"[<canal>] <nom> [<valeur>]\n"
"\n"
"Si la <valeur> est donnée, défini la variable de configuration <nom> à <valeur> sur le <canal>. Sinon, retourne la configuration actuelle du <canal> pour <nom>. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:207
msgid "That configuration variable is not a channel-specific configuration variable."
msgstr "Cette variable de configuration n'est pas une variable spécifique à un canal."
#: plugin.py:220
msgid ""
"<name> [<value>]\n"
"\n"
" If <value> is given, sets the value of <name> to <value>. Otherwise,\n"
" returns the current value of <name>. You may omit the leading\n"
" \"supybot.\" in the name if you so choose.\n"
" "
msgstr ""
"<nom> [<valeur>]\n"
"\n"
"Si la <valeur> est donnée, défini la variable de configuration <nom> à <valeur>. Sinon, retourne la configuration actuelle de <nom>. Vous pouvez omettre le 'supybot.' au début du <nom>."
#: plugin.py:234
msgid ""
"<name>\n"
"\n"
" Returns the description of the configuration variable <name>.\n"
" "
msgstr ""
"<nom>\n"
"\n"
"Retourne la description de la variable de configuration <nom>."
#: plugin.py:242
msgid " (Current value: %s)"
msgstr " (Valeur courante : %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 "Ce groupe de configuration existe mais semble ne pas avoir d'aide. Essayez \"config list %s\" pour voir si il a des valeurs filles."
#: plugin.py:249
msgid "%s has no help."
msgstr "%s n'a pas d'aide."
#: plugin.py:254
msgid ""
"<name>\n"
"\n"
" Returns the default value of the configuration variable <name>.\n"
" "
msgstr ""
"<nom>\n"
"\n"
"Retourne la valeur par défaut de la variable de configuration <nom>."
#: plugin.py:264
msgid ""
"takes no arguments\n"
"\n"
" Reloads the various configuration files (user database, channel\n"
" database, registry, etc.).\n"
" "
msgstr ""
"ne prend pas d'argument\n"
"\n"
"Recharge les différents fichiers de configuration (base d'utilisateurs, base de canaux, registre, etc.)."
#: plugin.py:275
msgid ""
"<filename>\n"
"\n"
" Exports the public variables of your configuration to <filename>.\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 ""
"<nom de fichier>\n"
"\n"
"Exporte les variables de configuration publiques dans le fichier<nom de fichier. Si vous voulez donner à quelqu'un votre fichierde configuration, mais que vous ne voulez pas que cette personnepuisse voir des choses comme les mot de passe, ... cette commandedébarrasse le fichier de configuration exporté des données qui nedoivent pas être publiques."

19
plugins/Ctcp/locale/fr.po Normal file
View File

@ -0,0 +1,19 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-26 18:57+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\n"
#: plugin.py:104
msgid "Supybot, the best Python IRC bot in existence!"
msgstr "Supybot, le meilleur bot IRC en Python au monde !"

View File

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2010-10-17 10:16+CEST\n"
"POT-Creation-Date: 2010-10-26 18:57+CEST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -15,50 +15,7 @@ msgstr ""
"Generated-By: pygettext.py 1.5\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 "FINGER Supybot, the best Python IRC bot in existence!"
msgstr ""
#: plugin.py:107
#, docstring
msgid "\001SOURCE\001"
msgstr ""
#: plugin.py:123
#, docstring
msgid ""
"[<channel>] [--nicks]\n"
"\n"
" Sends a CTCP VERSION to <channel>, 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"
" "
msgid "Supybot, the best Python IRC bot in existence!"
msgstr ""

View File

@ -100,8 +100,8 @@ class Ctcp(callbacks.PluginRegexp):
def ctcpFinger(self, irc, msg, match):
"\x01FINGER\x01"
self.log.info('Received CTCP FINGER from %s', msg.prefix)
self._reply(irc, msg,
_('FINGER Supybot, the best Python IRC bot in existence!'))
self._reply(irc, msg, 'FINGER ' +
_('Supybot, the best Python IRC bot in existence!'))
def ctcpSource(self, irc, msg, match):
"\x01SOURCE\x01"

86
plugins/Dict/locale/fr.po Normal file
View File

@ -0,0 +1,86 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-17 10:39+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\n"
#: config.py:38
msgid "The default dictd server is dict.org."
msgstr "Le serveur dictd par défaut est dict.org"
#: config.py:39
msgid "Would you like to specify a different dictd server?"
msgstr "Voulez-vous spécifier un serveur dictd différent ?"
#: config.py:45
msgid ""
"Determines what server the bot will\n"
" retrieve definitions from."
msgstr "Détermine de quel serveur le bot récupérera les définitions."
#: 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 "Détermine le dictionnaire par défaut dans lequel le bot cherchera les définitions. Si la valeur est '*' (sans les guillemets), le bot utilisera tous les dictionnaires pour définir le mot."
#: plugin.py:52
msgid ""
"takes no arguments\n"
"\n"
" Returns the dictionaries valid for the dict command.\n"
" "
msgstr ""
"ne prend pas d'argument\n"
"\n"
"Retourne les dictionnaires valides pour la commande dict."
#: plugin.py:68
msgid ""
"takes no arguments\n"
"\n"
" Returns a random valid dictionary.\n"
" "
msgstr ""
"ne prend pas d'argument\n"
"\n"
"Retourne un dictionnaire valide aléatoire."
#: plugin.py:83
msgid ""
"[<dictionary>] <word>\n"
"\n"
" Looks up the definition of <word> on the dictd server specified by\n"
" the supybot.plugins.Dict.server config variable.\n"
" "
msgstr ""
"[<dictionnaire>] <mot>\n"
"\n"
"Recherche la définition du mot sur le serveur dictd spécifié par la variable de configuration supybot.plugins.Dict.server."
#: plugin.py:106
msgid "You must give a word to define."
msgstr "Vous devez donner un mot à définir."
#: plugin.py:112
msgid "No definition for %q could be found."
msgstr "La définition de %q ne peut être trouvée."
#: plugin.py:115
msgid "No definition for %q could be found in %s"
msgstr "La définition de %q ne peut être trouvée dans %s."
#: plugin.py:127
msgid "%L responded: %s"
msgstr "%L a répondu : %s"

View File

@ -0,0 +1,30 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-17 10:48+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\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 "Détermine si le bot utilisera comme préfixe le nick de l'utilisateur donnant la commande invalide dans la réponse \"dunno\"."
#: plugin.py:38
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: <x> is not a valid command.'\n"
" messages with messages kept in a database, able to give more personable\n"
" responses."
msgstr "Ce plugin était à l'origine écrit pour fonctionner avec MoobotFactoids, pour fournir une interface similaire aux factoids de moobot et blootbot. Remplace simplement les message 'Error: <x> is not a valid commande' par des messages configurés dans la base de données, ce qui vous permet de rendre les réponses plus personnalisables."

View File

@ -0,0 +1,217 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-17 10:59+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\n"
#: config.py:45
msgid ""
"Value must include $value, otherwise the factoid's value would be left\n"
" out."
msgstr "La valeur doit inclure $value, sinon la valeur de la factoid ne serait pas affichée."
#: config.py:51
msgid ""
"Determines what separator must be used in the\n"
" learn command. Defaults to 'as' -- learn <key> as <value>. Users might\n"
" feel more comfortable with 'is' or something else, so it's\n"
" configurable."
msgstr "Détermine quel séparateur est utilisé par la commande 'learn'. Par défaut, il s'agit de 'est' : 'learn <clef> as <valeur>. Les utilisateurs sont susceptibles de trouver 'is' plus confortable, ou n'importe quoi, c'est configurable."
#: 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 "Détermine si le bot répondra avec une seule factoid, même si la recherche de l'utilisateur donne plusieurs résultats."
#: 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 "Détermine si le bot répondra aux commandes invalides lors de la recherche d'une factoid ; permet simplement de rendre la commande 'whatis' inutile lorsque vous voulez toutes les factoids d'un clef donnée."
#: config.py:64
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 "Détermine le format de la réponse donnée lorsqu'une valeur de factoid est demandée. Tous les substitus standards s'appliquent, en plus de \"$key\" pour la clef de la factoid et \"$value\" pour la valeur de la factoid."
#: plugin.py:153
msgid ""
"[<channel>] <key> %s <value>\n"
"\n"
" Associates <key> with <value>. <channel> 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 ""
"[<canal>] <clef> %s <valeur>\n"
"\n"
"Associer la <clef> avec la <valeur>. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même. Le mot '%s' est nécessaire pour séparer la clef de la valeur. Il peut être modifié avec la valeur de registre learnSeparator."
#: plugin.py:179
msgid "That's not a valid number for that key."
msgstr "Ce n'est pas un nombre valide pour cette clef."
#: plugin.py:199
#: plugin.py:345
msgid "No factoid matches that key."
msgstr "Aucune factoid ne correspond à cette clef."
#: plugin.py:211
msgid ""
"[<channel>] <key> [<number>]\n"
"\n"
" Looks up the value of <key> in the factoid database. If given a\n"
" number, will return only that exact factoid. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] <clef> [<nombre>]\n"
"\n"
"Regarde la valeur de la <clef> dans la base de données de factoids. Si un <nombre> est donné, retourne la factoid exacte. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:222
#: plugin.py:273
#: plugin.py:384
msgid "key id"
msgstr "id de clef"
#: plugin.py:230
msgid ""
"[<channel>] <key>\n"
"\n"
" Locks the factoid(s) associated with <key> so that they cannot be\n"
" removed or added to. <channel> is only necessary if the message isn't\n"
" sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] <clef>\n"
"\n"
"Verrouille la/les factoid(s) associé(e) à la <clef>, pour qu'elles ne puissent plus être supprimées ou modifiées. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:245
msgid ""
"[<channel>] <key>\n"
"\n"
" Unlocks the factoid(s) associated with <key> so that they can be\n"
" removed or added to. <channel> is only necessary if the message isn't\n"
" sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] <clef>\n"
"\n"
"Verrouille la/les factoid(s) associé(e) à la <clef>, pour qu'elles puissent être supprimées ou modifiées. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:260
msgid ""
"[<channel>] <key> [<number>|*]\n"
"\n"
" Removes the factoid <key> from the factoids database. If there are\n"
" more than one factoid with such a key, a number is necessary to\n"
" determine which one should be removed. A * can be used to remove all\n"
" factoids associated with a key. <channel> is only necessary if\n"
" the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] <clef> [<nombre>|*]\n"
"\n"
"Enlève la factoid <clef> de la base de données. Si il y a plus d'une factoid avec cette clef, un <nombre> est requis pour déterminer laquelle sera supprimée. Un joker * peut être utilisé pour enlever toutes les factoids avec cette clef. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:285
msgid "There is no such factoid."
msgstr "Cette factoid n'existe pas."
#: plugin.py:298
msgid "Invalid factoid number."
msgstr "Numéro de factoid invalide."
#: plugin.py:304
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:312
msgid ""
"[<channel>]\n"
"\n"
" Returns a random factoid from the database for <channel>. <channel>\n"
" is only necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<canal>]\n"
"\n"
"Retourne une factoid aléatoire de la base de données pour le canal. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:330
msgid "I couldn't find a factoid."
msgstr "Je ne peux trouver une factoid"
#: plugin.py:335
msgid ""
"[<channel>] <key>\n"
"\n"
" Gives information about the factoid(s) associated with <key>.\n"
" <channel> is only necessary if the message isn't sent in the channel\n"
" itself.\n"
" "
msgstr ""
"[<canal>] <clef>\n"
"\n"
"Donne des informations sur la/les factoid(s) associée(s) à la <clef>. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:358
msgid "#%i was added by %s at %s"
msgstr "#%i a été ajouté par %s le %s"
#: plugin.py:369
msgid ""
"[<channel>] <key> <number> <regexp>\n"
"\n"
" Changes the factoid #<number> associated with <key> according to\n"
" <regexp>.\n"
" "
msgstr ""
"[<canal>] <clef> <nombre> <expression régulière>\n"
"\n"
"Change la factoid <nombre> associée à la <clef>, en accord avec l'<expression régulière>. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:381
msgid "I couldn't find any key %q"
msgstr "Je ne peux trouver de clef %q"
#: plugin.py:396
msgid ""
"[<channel>] [--values] [--{regexp} <value>] [<glob> ...]\n"
"\n"
" Searches the keyspace for keys matching <glob>. If --regexp is given,\n"
" it associated value is taken as a regexp and matched against the keys.\n"
" If --values is given, search the value space instead of the keyspace.\n"
" "
msgstr ""
"[<canal>] [--values] [--{regexp} <expression régulière>] [<glob>...]\n"
"\n"
"Recherche les clefs correspondant au <glob>. Si --regexp est donné, recherche les clefs correspondantes à l'<expression régulière>. Si --values est donné, recherche parmi les valeurs, plutôt que parmi les clefs. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:431
msgid "No keys matched that query."
msgstr "Aucune clef ne correspond à cette requête."
#: plugin.py:436
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."

615
plugins/Filter/locale/fr.po Normal file
View File

@ -0,0 +1,615 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-17 11:48+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\n"
#: config.py:38
msgid ""
"Determines whether or not to\n"
" replace letters in the output of spellit."
msgstr "Détermine si il faut ou non remplacer les lettres dans la sortie de spellit."
#: config.py:41
msgid ""
"Determines whether or not\n"
" to replace punctuation in the output of spellit."
msgstr "Détermine si il faut replacer la ponctuation dans la sortie de spellit."
#: config.py:44
msgid ""
"Determines whether or not to\n"
" replace numbers in the output of spellit."
msgstr "Détermine si on doit remplacer les nombres dans la sortie de 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 "Détermine le nombre minimum de lettre dans un mot pour qu'il soit coupé par la commande/le filtre shrink."
#: plugin.py:51
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 "Ce plugin offre quelques commandes qui peuvent être utilisées pour transformer du texte de différentes façons. Il fourni également la possiblité d'utiliser ces commandes pour 'filtrer' la sortie du bot ; par exemple, vous pouvez faire en sorte que tout ce que le bot dit le soit en l33tsp34k, en Morse, ou n'importe lequel des autres filtres. Pas très utile, mais plutôt fun :)"
#: plugin.py:85
msgid ""
"[<channel>] [<command>]\n"
"\n"
" Sets the outFilter of this plugin to be <command>. If no command is\n"
" given, unsets the outFilter. <channel> is only necessary if the\n"
" message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] [<commande>]\n"
"\n"
"Définit le filtre de sortie de ce plugin pour être <commande>. Si aucune commande n'est définie, supprime le filtre de sortie. <canal> n'est nécessaire que si la commande n'est pas envoyée sur le canal lui-même."
#: plugin.py:98
msgid "That's not a valid filter command."
msgstr "Ce n'est pas une commande de filtre valide"
#: plugin.py:108
msgid ""
"<text>\n"
"\n"
" Removes all the vowels from <text>. (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 ""
"<texte>\n"
"\n"
"Retire toutes les voyelles du <texte> (si vous êtes curieux de pourquoi elle s'appelle 'hebrew', c'est parce que je (jemfinch) pense que que en Hébreux, il manque souvent les voyelles)."
#: plugin.py:120
msgid ""
"<text>\n"
"\n"
" Removes all the spaces from <text>.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Supprime tous les espaces du <texte>."
#: plugin.py:130
msgid ""
"<text>\n"
"\n"
" Returns <text>, with all consecutive duplicated letters removed.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Renvoie le texte, avec toutes les lettres consécutives dupliquées supprimées."
#: plugin.py:143
msgid ""
"<text>\n"
"\n"
" Returns the binary representation of <text>.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne la représentation binaire du <texte>."
#: plugin.py:169
msgid ""
"<text>\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 ""
"<texte>\n"
"\n"
"Retourne une chaîne héxadécimale à partir de la chaîne donnée ; une chaîne héxadécimale est une chaîne composée de la valeur héxadécimale de chaque caractère de la chaîne."
#: plugin.py:179
msgid ""
"<hexstring>\n"
"\n"
" Returns the string corresponding to <hexstring>. Obviously,\n"
" <hexstring> must be a string of hexadecimal digits.\n"
" "
msgstr ""
"<chaîne hexadécimale>\n"
"\n"
"Retourne la chaîne correspondant à la <chaîne hexadécimale>. Bien sûr, <chaîne hexadécimale> ne doit contenir que des caractères hexadécimaux."
#: plugin.py:187
msgid "Invalid input."
msgstr "Entrée invalide."
#: plugin.py:192
msgid ""
"<text>\n"
"\n"
" Rotates <text> 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 ""
"<texte>\n"
"\n"
"Déplace chaque caractère du <texte> de 13 places vers la droite de l'alphabet. Rot13 est courremment utilisé pour les textes qui doivent être cachés des yeux indiscrets, mais être facilement reversible."
#: plugin.py:203
msgid ""
"<text>\n"
"\n"
" Returns the lisping version of <text>\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne la version zézéyée du texte."
#: plugin.py:234
msgid ""
"<text>\n"
"\n"
" Returns the l33tspeak version of <text>\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne la version l33t du <texte>."
#: plugin.py:254
msgid ""
"<text>\n"
"\n"
" Replies with an especially k-rad translation of <text>.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Répond avec une traduction k-rad du <texte>."
#: plugin.py:270
msgid ""
"<text>\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 ""
"<texte>\n"
"\n"
"Répond avec une chaîne où chaque mot est mélangé ; c'est à dire que chaque lettre interne (=toute lettre qui n'est pas la première ni la dernière) est mélangée avec les autres."
#: plugin.py:335
msgid ""
"<Morse code text>\n"
"\n"
" Does the reverse of the morse command.\n"
" "
msgstr ""
"<texte en Morse>\n"
"\n"
"Fait l'inverse de la commande morse."
#: plugin.py:352
msgid ""
"<text>\n"
"\n"
" Gives the Morse code equivalent of a given string.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Donne le code Morse équivalent à la chaîne donnée."
#: plugin.py:364
msgid ""
"<text>\n"
"\n"
" Reverses <text>.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Inverse le <texte>."
#: plugin.py:381
msgid ""
"<text>\n"
"\n"
" Returns <text> with each character randomly colorized.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le <texte> avec chaque caractère coloré de façon aléatoire."
#: plugin.py:391
msgid ""
"<text>\n"
"\n"
" Returns <text> colorized like a rainbow.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le texte colorisé comme un arc-en-ciel."
#: plugin.py:402
msgid ""
"<text>\n"
"\n"
" Returns <text> stripped of all color codes.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le texte en retirant tous les codes de couleur"
#: plugin.py:411
msgid ""
"<text>\n"
"\n"
" Returns <text> as if an AOLuser had said it.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le <texte> comme si un AOLuser l'avait dit."
#: plugin.py:438
msgid ""
"<text>\n"
"\n"
" Returns <text> as if JeffK had said it himself.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le <texte> comme si JeffK l'avait dit lui-même."
#: plugin.py:534
msgid "ay"
msgstr "ah"
#: plugin.py:534
msgid "bee"
msgstr "bé"
#: plugin.py:534
msgid "dee"
msgstr "dé"
#: plugin.py:534
msgid "see"
msgstr "cé"
#: plugin.py:535
msgid "aych"
msgstr "ache"
#: plugin.py:535
msgid "ee"
msgstr "euh"
#: plugin.py:535
msgid "eff"
msgstr "èf"
#: plugin.py:535
msgid "gee"
msgstr "gé"
#: plugin.py:536
msgid "ell"
msgstr "èl"
#: plugin.py:536
msgid "eye"
msgstr "ih"
#: plugin.py:536
msgid "jay"
msgstr "ji"
#: plugin.py:536
msgid "kay"
msgstr "ka"
#: plugin.py:537
msgid "cue"
msgstr "cu"
#: plugin.py:537
msgid "em"
msgstr "èm"
#: plugin.py:537
msgid "en"
msgstr "èn"
#: plugin.py:537
msgid "oh"
msgstr "oh"
#: plugin.py:537
msgid "pee"
msgstr "pé"
#: plugin.py:538
msgid "arr"
msgstr "ère"
#: plugin.py:538
msgid "ess"
msgstr "èce"
#: plugin.py:538
msgid "tee"
msgstr "té"
#: plugin.py:538
msgid "you"
msgstr "uh"
#: plugin.py:539
msgid "double-you"
msgstr "double-vé"
#: plugin.py:539
msgid "ecks"
msgstr "icks"
#: plugin.py:539
msgid "vee"
msgstr "vé"
#: plugin.py:539
msgid "why"
msgstr "i-grec"
#: plugin.py:540
msgid "zee"
msgstr "zèd"
#: plugin.py:545
msgid "exclamation point"
msgstr "point d'exclamation"
#: plugin.py:546
msgid "quote"
msgstr "guillemet double"
#: plugin.py:547
msgid "pound"
msgstr "livre"
#: plugin.py:548
msgid "dollar sign"
msgstr "signe du dollar"
#: plugin.py:549
msgid "percent"
msgstr "pourcent"
#: plugin.py:550
msgid "ampersand"
msgstr "espèrluette"
#: plugin.py:551
msgid "single quote"
msgstr "guillemet"
#: plugin.py:552
msgid "left paren"
msgstr "parenthèse ouvrante"
#: plugin.py:553
msgid "right paren"
msgstr "parenthèse fermante"
#: plugin.py:554
msgid "asterisk"
msgstr "asterisque"
#: plugin.py:555
msgid "plus"
msgstr "plus"
#: plugin.py:556
msgid "comma"
msgstr "virgule"
#: plugin.py:557
msgid "minus"
msgstr "moins"
#: plugin.py:558
msgid "period"
msgstr "point"
#: plugin.py:559
msgid "slash"
msgstr "slash"
#: plugin.py:560
msgid "colon"
msgstr "double-point"
#: plugin.py:561
msgid "semicolon"
msgstr "point-virgule"
#: plugin.py:562
msgid "less than"
msgstr "inférieur"
#: plugin.py:563
msgid "equals"
msgstr "moins que"
#: plugin.py:564
msgid "greater than"
msgstr "supérieur"
#: plugin.py:565
msgid "question mark"
msgstr "point d'exclamation"
#: plugin.py:566
msgid "at"
msgstr "arobase"
#: plugin.py:567
msgid "left bracket"
msgstr "crochet ouvrant"
#: plugin.py:568
msgid "backslash"
msgstr "anti-slash"
#: plugin.py:569
msgid "right bracket"
msgstr "crochet fermant"
#: plugin.py:570
msgid "caret"
msgstr "accent circonflexe"
#: plugin.py:571
msgid "underscore"
msgstr "underscore"
#: plugin.py:572
msgid "backtick"
msgstr "accent grave"
#: plugin.py:573
msgid "left brace"
msgstr "crochet ouvrant"
#: plugin.py:574
msgid "pipe"
msgstr "pipe"
#: plugin.py:575
msgid "right brace"
msgstr "crochet fermant"
#: plugin.py:576
msgid "tilde"
msgstr "tilde"
#: plugin.py:579
msgid "one"
msgstr "un"
#: plugin.py:579
msgid "three"
msgstr "trois"
#: plugin.py:579
msgid "two"
msgstr "deux"
#: plugin.py:579
msgid "zero"
msgstr "zéro"
#: plugin.py:580
msgid "five"
msgstr "cinq"
#: plugin.py:580
msgid "four"
msgstr "quatre"
#: plugin.py:580
msgid "seven"
msgstr "sept"
#: plugin.py:580
msgid "six"
msgstr "six"
#: plugin.py:581
msgid "eight"
msgstr "huit"
#: plugin.py:581
msgid "nine"
msgstr "neuf"
#: plugin.py:585
msgid ""
"<text>\n"
"\n"
" Returns <text>, phonetically spelled out.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le <texte>, épellé phonétiquement"
#: plugin.py:615
msgid ""
"<text>\n"
"\n"
" Returns <text> as GNU/RMS would say it.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le <texte> comme si GNU/RMS l'avait dite."
#: plugin.py:624
msgid ""
"<text>\n"
"\n"
" Returns <text> with each word longer than\n"
" supybot.plugins.Filter.shrink.minimum being shrunken (i.e., like\n"
" \"internationalization\" becomes \"i18n\").\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le texte avec chaque mot plus long que supybot.plugins.Filter.shrink.minimum découpé (par exemple, \"internationalization\" devient i18n)"
#: plugin.py:643
msgid ""
"<text>\n"
"\n"
" Returns <text> with the l's made into r's and r's made into l's.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le <texte> avec les I transormés en r et les r transformés en I."
#: plugin.py:692
msgid ""
"<text>\n"
"\n"
" Returns <text> rotated 180 degrees. Only really works for ASCII\n"
" printable characters.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le <texte> tourné à 180 degrés. Ne marche pour de bon qu'avec des caractères ASCII imprimables"

197
plugins/Format/locale/fr.po Normal file
View File

@ -0,0 +1,197 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-17 12:46+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\n"
#: plugin.py:43
msgid ""
"<text>\n"
"\n"
" Returns <text> bolded.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le texte, en gras"
#: plugin.py:52
msgid ""
"<text>\n"
"\n"
" Returns <text> in reverse-video.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le texte, inversé"
#: plugin.py:61
msgid ""
"<text>\n"
"\n"
" Returns <text> underlined.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le texte, souligné"
#: plugin.py:70
msgid ""
"<foreground> [<background>] <text>\n"
"\n"
" Returns <text> with foreground color <foreground> and background color\n"
" <background> (if given)\n"
" "
msgstr ""
"<premier plan> [<arrière plan>] <texte>\n"
"\n"
"Retourne le <texte> avec les couleurs de <premier plan> et de l'<arrière plan> (si donné)."
#: plugin.py:80
msgid ""
"<separator> <string 1> [<string> ...]\n"
"\n"
" Joins all the arguments together with <separator>.\n"
" "
msgstr ""
"<séparateur> <chaîne 1> [<chaîne 2> ...]\n"
"\n"
"Joint tous les arguments en utilisant le <séparateur>."
#: plugin.py:89
msgid ""
"<chars to translate> <chars to replace those with> <text>\n"
"\n"
" Replaces <chars to translate> with <chars to replace those with> in\n"
" <text>. The first and second arguments must necessarily be the same\n"
" length.\n"
" "
msgstr ""
"<caractères à remplacer> <caractères de remplacement> <texte>\n"
"\n"
"Remplacer des caractères par d'autres. Le premier et le second argument doivent obligatoirement être de la même taille."
#: plugin.py:96
msgid "<chars to translate> must be the same length as <chars to replace those with>."
msgstr "<caractères à remplacer> doit être de la même taille que <caractères de remplacement>"
#: plugin.py:103
msgid ""
"<text>\n"
"\n"
" Returns <text> uppercased.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le texte, en majuscules"
#: plugin.py:112
msgid ""
"<text>\n"
"\n"
" Returns <text> lowercased.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le texte, en minuscules"
#: plugin.py:121
msgid ""
"<text>\n"
"\n"
" Returns <text> capitalized.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le texte, capitalisé"
#: plugin.py:130
msgid ""
"<text>\n"
"\n"
" Returns <text> titlecased.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le texte, mis en majuscules de titre."
#: plugin.py:139
msgid ""
"<text>\n"
"\n"
" Returns the text surrounded by double quotes.\n"
" "
msgstr ""
"<texte>\n"
"\n"
"Retourne le texte, entouré de doubles guillemets."
#: plugin.py:148
msgid ""
"<string 1> <string 2>\n"
"\n"
" Concatenates two strings. Do keep in mind that this is *not* the same\n"
" thing as join \"\", since if <string 2> contains spaces, they won't be\n"
" removed by concat.\n"
" "
msgstr ""
"<chaîne 1> <chaîne 2>\n"
"\n"
"Concatène les deux chaînes. Notez que ce n'est pas la même chose que de les joindre avec \"\", car, si <chaîne 2> contient des espaces, ils ne seront pas supprimés par la concaténation."
#: plugin.py:159
msgid ""
"<size> <text>\n"
"\n"
" Cuts <text> down to <size> by chopping off the rightmost characters in\n"
" excess of <size>. If <size> is a negative number, it chops that many\n"
" characters off the end of <text>.\n"
" "
msgstr ""
"<taille> <texte>\n"
"\n"
"Coup le <texte> en morceaux de <taille>, en découpant les caractères dépassant la <taille>. Si la <taille> est un nombre négatif, il coupe en comptant à partir de la fin du texte."
#: plugin.py:170
msgid ""
"<number> <text>\n"
"\n"
" Returns the <number>th space-separated field of <text>. I.e., if text\n"
" is \"foo bar baz\" and <number> is 2, \"bar\" is returned.\n"
" "
msgstr ""
"<nombre> <texte>\n"
"\n"
"Retourne le <nombre>-ième élément (séparé par des espaces) du <texte>. C'est à dire que si le texte est \"foo bar baz\" et que <nombre> est 2, \"bar\" sera retourné."
#: plugin.py:183
msgid ""
"<format string> [<arg> ...]\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 ""
"<chaîne de formattage> [<arg> ...]\n"
"\n"
#: plugin.py:197
msgid "Not enough arguments for the format string."
msgstr "Pas assez d'arguments pour formatter la chaîne."

137
plugins/Games/locale/fr.po Normal file
View File

@ -0,0 +1,137 @@
# French translations for PACKAGE package
# Traductions françaises du paquet PACKAGE.
# Copyright (C) 2010 ORGANIZATION
# ProgVal <progval@gmail.com>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2010-10-17 13:16+CEST\n"
"PO-Revision-Date: 2010-10-28 13:25+0100\n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: French\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"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: plugin.py:46
msgid ""
"takes no arguments\n"
"\n"
" Flips a coin and returns the result.\n"
" "
msgstr ""
"ne prend pas d'argument\n"
"\n"
"Lance une pièce et retourne le résultat."
#: plugin.py:51
msgid "heads"
msgstr "face"
#: plugin.py:53
msgid "tails"
msgstr "pile"
#: plugin.py:58
msgid ""
"<dice>d<sides>\n"
"\n"
" Rolls a die with <sides> number of sides <dice> times.\n"
" For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10\n"
" ten-sided dice.\n"
" "
msgstr ""
"<lancers>d<faces>\n"
"\n"
"Fait un certain nombre de <lancers> d'un dé d'un certain nombre de <faces>. Par exemple, 2d6 lancera deux dés à six faces, et 10d10 dix dés à dix faces."
#: plugin.py:66
msgid "You can't roll more than 1000 dice."
msgstr "Vous ne pouvez lancer plus de 1000 dés."
#: plugin.py:68
msgid "Dice can't have more than 100 sides."
msgstr "Vous ne pouvez pas avoir plus de 100 faces."
#: plugin.py:70
msgid "Dice can't have fewer than 3 sides."
msgstr "Vous ne pouvez pas avoir moins de trois faces."
#: plugin.py:78
msgid "Dice must be of the form <dice>d<sides>"
msgstr "Les dés doivent être de la forme <lancers>d<faces>"
#: 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 "C'est possible.|Oui !|Bien sûr.|Naturellement.|Évidemment.|Ce doit être ça.|Ce n'est pas impossible.|C'est le cas.|C'est ce que l'on peut penser.|La réponse est certainement oui."
#: 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 "Dans tes rêves.|J'en doute.|Impossible.|Ça m'étonnerait|Improbable.|Quand les poules auront des dents|La semaine des quatre jeudis.|Tu rigoles ?|NON !|NON.|Non.|La réponse semble être non."
#: 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 "Peut-être...|Aucune idée|*Je* ne sais pas|Je n'en sais rien, veuillez réessayer.|Qu'est-ce que vous me demander ?|Revenez plus tard.|Vous connaissez la réponse mieux que moi.|La réponse est... oooh ! un truc qui brille !"
#: plugin.py:107
msgid ""
"[<question>]\n"
"\n"
" Ask a question and the answer shall be provided.\n"
" "
msgstr ""
"[<question>]\n"
"\n"
"Posez une question, et la réponse devrait vous être donnée."
#: 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"
"Tire avec le revolver. Si la balle était dans la chambre, vous être mort. Dites-moi de recharger les chambres (en indiquant 'spin') et je le ferais."
#: plugin.py:128
msgid "*SPIN* Are you feeling lucky?"
msgstr "*FAIT TOURNER LE BARILLET* Prêt à mettre votre chance à l'épreuve ?"
#: plugin.py:137
msgid "*BANG* Hey, who put a blank in here?!"
msgstr "*BANG* Eh, qui a fait un trou ici ?"
#: plugin.py:139
msgid "reloads and spins the chambers."
msgstr "recharge et fait tourner les chambres"
#: plugin.py:141
msgid "*click*"
msgstr "*clic*"
#: plugin.py:148
msgid ""
"[<channel>]\n"
"\n"
" Returns the number of consecutive lines you've sent in <channel>\n"
" without being interrupted by someone else (i.e. how long your current\n"
" 'monologue' is). <channel> is only necessary if the message isn't sent\n"
" in the channel itself.\n"
" "
msgstr "[<canal>]\\Retourne le nombre de lignes consécutives que vous avez écrites sur le <canal> sans être interrompu par qui que ce soit. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:167
msgid "Your current monologue is at least %n long."
msgstr "Votre monologue actuel est au moins long de %n lignes."
#: plugin.py:168
msgid "line"
msgstr "ligne"

225
plugins/Google/locale/fr.po Normal file
View File

@ -0,0 +1,225 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-17 14:50+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\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 "Le plugin Google sert à lire des URLs qui correspondent à un masque spécifique (nous appelons ça un 'snarfer'). Lorsque Supybot voit une telle URL, il parse la page web pour trouver des informations et répond avec les résultats."
#: config.py:43
msgid "Do you want the Google search snarfer enabled by default?"
msgstr "Voulez-vous activer le snarfer de recherche Google par défaut ?"
#: config.py:88
msgid "Value must be 1 <= n <= 8"
msgstr "La valeur doit être comprise entre 1 et 8 (inclus)"
#: config.py:99
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 "Détermine l'URL qui sera envoyée à Google comme Referer pour les recerches. Si la valeur est vide, un Refere sera automatiquement généré dans le format : http://$server/$botNamr"
#: config.py:104
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 "Détermine si le snarger de recherche est activé. Si c'est le cas, les messages (même non adressés) commençant par 'google' seront répondus par la première URL que Google donne pour cette recherche."
#: config.py:109
msgid ""
"Determines whether the word 'google' in the\n"
" bot's output will be made colorful (like Google's logo)."
msgstr "Détermine si le mot 'google' dans la sortie du bot sera coloré (comme le logo de Google)"
#: config.py:112
msgid "Determines whether results are bolded."
msgstr "Détermine si les résultats sont mis en gras."
#: config.py:114
msgid ""
"Determines the maximum number of results returned\n"
" from the google command."
msgstr "Détermine le nombre maximum de résultats retournés par la commande google."
#: config.py:117
msgid ""
"Determines what default language is used in\n"
" searches. If left empty, no specific language will be requested."
msgstr "Détermine quand langue par défaut est utilisée dans les recherches. Si laissé vide, aucune langue spécifique ne sera demandée."
#: config.py:117
msgid "en"
msgstr "fr"
#: config.py:120
msgid ""
"Determines what level of search filtering to use\n"
" by default. 'active' - most filtering, 'moderate' - default filtering,\n"
" 'off' - no filtering"
msgstr "Détermine le niveau de filtrage à utiliser par défaut. 'active' filtre tout, 'moderate' est le filtre par défaut, et 'off' désactive le filtrage."
#: 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 ""
"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"
" "
#: plugin.py:141
#: plugin.py:192
msgid "We broke The Google!"
msgstr "Google est toukassay !"
#: plugin.py:161
msgid "No matches found."
msgstr "Aucune correspondance."
#: plugin.py:167
msgid ""
"<search>\n"
"\n"
" Does a google search, but only returns the first result.\n"
" "
msgstr ""
"<recherche>\n"
"\n"
"Effectue une recherche google, mais ne retourne que le premier résultat."
#: plugin.py:176
msgid "Google found nothing."
msgstr "Google n'a rien trouvé."
#: plugin.py:181
msgid ""
"<search> [--{filter,language} <value>]\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 ""
"<recherche> [--filtre <valeur>] [--language <valeur>]\n"
"\n"
"Rercherche la chaîne donnée sur Google. Autant de résultats que possible sont donnés. --language accepte une abbréviation de langue ; --filter accepte un niveau de filtrage ('active', 'moderate', 'off')."
#: plugin.py:204
msgid ""
"<url>\n"
"\n"
" Returns a link to the cached version of <url> if it is available.\n"
" "
msgstr ""
"<url>\n"
"\n"
"Retourne un lien vers la version en cache de l'<url>, si elle est disponible."
#: plugin.py:215
msgid "Google seems to have no cache for that site."
msgstr "Google semble ne pas avoir de cache pour ce site."
#: plugin.py:220
msgid ""
"<search string> <search string> [<search string> ...]\n"
"\n"
" Returns the results of each search, in order, from greatest number\n"
" of results to least.\n"
" "
msgstr ""
"<chaîne 1> <chaîne 2> [<chaîne 3> ...]\n"
"\n"
"Retourne les résultats de chaque recherche, dans l'ordre, par ordre croissant du nombre de résultats."
#: plugin.py:244
msgid ""
"<from-language> [to] <to-language> <text>\n"
"\n"
" Returns <text> translated from <from-language> into <to-language>.\n"
" Beware that translating to or from languages that use multi-byte\n"
" characters may result in some very odd results.\n"
" "
msgstr ""
"<langue de départ> [to] <langue finale> <texte>\n"
"\n"
#: plugin.py:263
msgid "from language"
msgstr "de la langue"
#: plugin.py:264
#: plugin.py:273
msgid "Valid languages are: %L"
msgstr "Les langues valides sont : %L"
#: plugin.py:272
msgid "to language"
msgstr "vers la langue"
#: plugin.py:289
msgid "^google\\s+(.*)$"
msgstr "^google\\s+(.*)$"
#: plugin.py:311
msgid ""
"<expression>\n"
"\n"
" Uses Google's calculator to calculate the value of <expression>.\n"
" "
msgstr ""
"<expression>\n"
"\n"
"Utilise la calculatrice Google pour calculer la valeur de l'<expression>."
#: plugin.py:325
msgid "Google's calculator didn't come up with anything."
msgstr "La calculatrice Google ne donne aucun résultat."
#: plugin.py:331
msgid ""
"<phone number>\n"
"\n"
" Looks <phone number> up on Google.\n"
" "
msgstr ""
"<numéro de téléphone>\n"
"\n"
"Recherche le <numéro de téléphone> sur Google."
#: plugin.py:345
msgid "Google's phonebook didn't come up with anything."
msgstr "L'annuaire téléphonique de Google ne donne aucun résultat."

148
plugins/Herald/locale/fr.po Normal file
View File

@ -0,0 +1,148 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-17 15:21+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\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 "Détermine si les messages seront envoyés sur le canal lorsqu'un utilisateur reconnu arrive ; active ou désactive basiquement le plugin."
#: config.py:50
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."
#: config.py:53
msgid ""
"Determines the minimum number of seconds\n"
" between heralds."
msgstr "Détermine le nombre minimum de secondes entre deux annonces."
#: 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 "Détermine le nombre minimum de secondes après qu'un utilisateur soit parti pour que le bot puisse l'annoncer à nouveau quand il revient."
#: 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 "Détermine le nombre minimum de secondes après un netsplit durant lequel le bot n'annoncera pas les utilisateurs qui ont splitté."
#: 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 "Définit le message d'annonce par défaut à utiliser. Si un utilisateur a un message d'annonce personnel spécifié, il peut être utilisé à la place. Si définit à une chaîne vide, le message d'annonce sera désactivé."
#: config.py:67
msgid ""
"Determines whether the default herald will be\n"
" sent as a NOTICE instead of a PRIVMSG."
msgstr "Détermine si le message d'annonce sera envoyé en NOTICE plutôt qu'en PRIVMSG."
#: config.py:70
msgid ""
"Determines whether the default herald will be\n"
" sent publicly."
msgstr "Détermine si le message d'annonce sera envoyé publiquement."
#: plugin.py:143
msgid ""
"[<channel>] [--remove|<msg>]\n"
"\n"
" If <msg> is given, sets the default herald to <msg>. A <msg> of \"\"\n"
" will remove the default herald. If <msg> is not given, returns the\n"
" current default herald. <channel> is only necessary if the message\n"
" isn't sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] [--remove|<message>]\n"
"\n"
"Si le <message> est donné, définit le message d'annonce par défaut pour être le <message>. Un <message> de la forme \"\" supprimera le message d'annonce par défaut. Si le <message> n'est pas donné, retourne le message d'annonce par défaut actuel. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:162
msgid "I do not have a default herald set for %s."
msgstr "Je n'ai pas de message d'annonce par défaut pour %s."
#: plugin.py:170
msgid ""
"[<channel>] [<user|nick>]\n"
"\n"
" Returns the current herald message for <user> (or the user\n"
" <nick|hostmask> is currently identified or recognized as). If <user>\n"
" is not given, defaults to the user giving the command. <channel>\n"
" is only necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] <utilisateur|nick>]\n"
"\n"
"Retourne le message d'annonce courant pour l'<utilisateur> (ou l'utilisateur désigné par le <nick>). Si l'<utilisateur> n'est pas donné, cela vaut par défaut l'utilisateur donnant la commande. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:181
msgid "I have no herald for %s."
msgstr "Je n'ai pas de message d'annonce pour %s."
#: plugin.py:201
msgid ""
"[<channel>] <user|nick> <msg>\n"
"\n"
" Sets the herald message for <user> (or the user <nick|hostmask> is\n"
" currently identified or recognized as) to <msg>. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] <utilisateur|nick> <message>\n"
"\n"
"Définit le <message> d'annonce de l'<utilisateur> (ou la personne désignée par <nick>). <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:214
msgid ""
"[<channel>] [<user|nick>]\n"
"\n"
" Removes the herald message set for <user>, or the user\n"
" <nick|hostmask> is currently identified or recognized as. If <user>\n"
" is not given, defaults to the user giving the command.\n"
" <channel> is only necessary if the message isn't sent in the channel\n"
" itself.\n"
" "
msgstr ""
"[<canal>] [<utilisateur|nick>]\n"
"\n"
"Supprime le message d'annonce de l'<utilisateur> (ou de l'utilisateur désigné par le <nick>). <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:227
msgid "I have no herald for that user."
msgstr "Je n'ai pas de message d'annonce pour cet utilisateur."
#: plugin.py:232
msgid ""
"[<channel>] [<user|nick>] <regexp>\n"
"\n"
" Changes the herald message for <user>, or the user <nick|hostmask> is\n"
" currently identified or recognized as, according to <regexp>. If\n"
" <user> is not given, defaults to the calling user. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] [<utilisateur|nick>] [<expression régulière>]\n"
"\n"
"Change le message d'annonce de l'<utilisateur> (ou de l'utilisateur désigné par le <nick>), en fonction de l'<expression régulière>. Si l'<utilisateur> n'est pas donné, cea correspond par défaut de l'utilisateur appelant la commande. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."

View File

@ -0,0 +1,90 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-17 15:20+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\n"
#: plugin.py:43
msgid "Add the help for \"@help Internet\" here."
msgstr ""
#: plugin.py:47
msgid ""
"<host|ip>\n"
"\n"
" Returns the ip of <host> or the reverse DNS hostname of <ip>.\n"
" "
msgstr ""
"<hôte|ip>\n"
"\n"
"Retourne l'ip de l'<hôte>, ou le reverse DNS de l'<ip>"
#: plugin.py:54
#: plugin.py:61
#: plugin.py:65
msgid "Host not found."
msgstr "Hôte non trouvé."
#: plugin.py:77
msgid ""
"<domain>\n"
"\n"
" Returns WHOIS information on the registration of <domain>.\n"
" "
msgstr ""
"<domaine>\n"
"\n"
"Retourne les informations du WHOIS sur le <domaine>."
#: plugin.py:83
msgid "domain"
msgstr "domaine"
#: plugin.py:112
msgid "updated %s"
msgstr "mis à jour le %s"
#: plugin.py:115
msgid "registered %s"
msgstr "enregistré le %s"
#: plugin.py:118
msgid "expires %s"
msgstr "expire le %s"
#: plugin.py:138
msgid " <registered at %s>"
msgstr " <enregistré le %s>"
#: plugin.py:140
msgid " <registered by %s>"
msgstr " <enregistré par %s>"
#: plugin.py:145
msgid "%s%s is %L."
msgstr "%s%s est %L"
#: plugin.py:148
msgid "I couldn't find such a domain."
msgstr "Je ne peux trouver ce domaine."
#: plugin.py:153
msgid ""
"<ip>\n"
"\n"
" Returns the hexadecimal IP for that IP.\n"
" "
msgstr ""
"<ip>\n"
"\n"
"Retourne l'IP hexadécimale pour cette IP."

152
plugins/Karma/locale/fr.po Normal file
View File

@ -0,0 +1,152 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-28 15:19+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\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 "Détermine si le bot donnera comme sortie une version plus courte du karma lorsqu'on lui demandera un seul karma."
#: config.py:49
msgid ""
"Determines whether the bot will reply with a\n"
" success message when something's karma is increased or decreased."
msgstr "Détermine si le bot répondra avec un message de succès si un karma est augmenté ou diminué."
#: config.py:52
msgid ""
"Determines how many highest/lowest karma things\n"
" are shown when karma is called with no arguments."
msgstr "Détermine combien de plus haut/bas karmas sont affichés lorsque karma est appelé sans argument."
#: config.py:55
msgid ""
"Determines how many karma things are shown when\n"
" the most command is called.'"
msgstr "Détermine combien de karmas sont affichés lorsque la commande most est appelée."
#: config.py:58
msgid ""
"Determines whether users can adjust the karma\n"
" of their nick."
msgstr "Détermine si les utilisateurs peuvent ajuster le karma de leur nick."
#: config.py:61
msgid ""
"Determines whether the bot will\n"
" 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
msgid "You're not allowed to adjust your own karma."
msgstr "Vous n'êtes pas autorisé à modifier votre propre karma."
#: plugin.py:280
msgid ""
"[<channel>] [<thing> ...]\n"
"\n"
" Returns the karma of <thing>. If <thing> is not given, returns the top\n"
" N karmas, where N is determined by the config variable\n"
" supybot.plugins.Karma.rankingDisplay. If one <thing> is given, returns\n"
" the details of its karma; if more than one <thing> is given, returns\n"
" the total karma of each of the the things. <channel> is only necessary\n"
" if the message isn't sent on the channel itself.\n"
" "
msgstr ""
"[<canal>] [<objet> ...]\n"
"\n"
"Retourne le karma de l'<objet>. Si l'<objet> n'est pas donné, retourne les trois premiers et derniers karmas. Si une <chose> est donnée, retourne les détails de son karma ; si plus d'une <chose> est donnée, retourne le karma total de chacune de ces choses. Le <canal> n'est nécessaire que si la commande n'est pas envoyée sur le canal lui-même."
#: plugin.py:293
msgid "%s has neutral karma."
msgstr "%s a un karma neutre."
#: plugin.py:300
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
msgid "time"
msgstr "<empty>"
#: plugin.py:316
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
msgid "I have no karma for this channel."
msgstr "Je n'ai pas de karma pour ce canal."
#: plugin.py:331
msgid " You (%s) are ranked %i out of %i."
msgstr " Vous (%s) êtes #%i sur %i"
#: plugin.py:335
msgid "Highest karma: %L. Lowest karma: %L.%s"
msgstr "Plus haut karma : %L. Plus bas karma : %L.%s"
#: plugin.py:343
msgid ""
"[<channel>] {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. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] {increased,decreased,active}\n"
"\n"
"Retourne le plus augmenté (increased), le plus descendu (decreased), ou le plus actif (la somme des montées et descentes) des karmas. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:361
msgid ""
"[<channel>] <name>\n"
"\n"
" Resets the karma of <name> to 0.\n"
" "
msgstr ""
"[<canal>] <nom>\n"
"\n"
"Redéfinit le karma de <nom> à 0."
#: plugin.py:371
msgid ""
"[<channel>] <filename>\n"
"\n"
" Dumps the Karma database for <channel> to <filename> in the bot's\n"
" data directory. <channel> is only necessary if the message isn't sent\n"
" in the channel itself.\n"
" "
msgstr ""
"[<canal>] <nom de fichier>\n"
"\n"
"Exporte la base de données des Karma du <canal> dans le <nom de fichier> dans le répertoire de données du bot. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:383
msgid ""
"[<channel>] <filename>\n"
"\n"
" Loads the Karma database for <channel> from <filename> in the bot's\n"
" data directory. <channel> is only necessary if the message isn't sent\n"
" in the channel itself.\n"
" "
msgstr ""
"[<canal>] <nom de fichier>\n"
"\n"
"Charge la base de données des Karma du <canal> du <nom de fichier> dans le répertoire de données du bot. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."

View File

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2010-10-17 15:21+CEST\n"
"POT-Creation-Date: 2010-10-28 15:19+CEST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -77,23 +77,27 @@ msgstr ""
msgid "Karma for %q has been increased %n and decreased %n for a total karma of %s."
msgstr ""
#: plugin.py:315
#: plugin.py:302 plugin.py:303
msgid "time"
msgstr ""
#: plugin.py:316
msgid "I didn't know the karma for any of those things."
msgstr ""
#: plugin.py:325 plugin.py:354
#: plugin.py:326 plugin.py:355
msgid "I have no karma for this channel."
msgstr ""
#: plugin.py:330
#: plugin.py:331
msgid " You (%s) are ranked %i out of %i."
msgstr ""
#: plugin.py:334
#: plugin.py:335
msgid "Highest karma: %L. Lowest karma: %L.%s"
msgstr ""
#: plugin.py:342
#: plugin.py:343
#, docstring
msgid ""
"[<channel>] {increased,decreased,active}\n"
@ -104,7 +108,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:360
#: plugin.py:361
#, docstring
msgid ""
"[<channel>] <name>\n"
@ -113,7 +117,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:370
#: plugin.py:371
#, docstring
msgid ""
"[<channel>] <filename>\n"
@ -124,7 +128,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:382
#: plugin.py:383
#, docstring
msgid ""
"[<channel>] <filename>\n"

View File

@ -299,7 +299,8 @@ class Karma(callbacks.Plugin):
else:
s = format(_('Karma for %q has been increased %n and '
'decreased %n for a total karma of %s.'),
name, (added, 'time'), (subtracted, 'time'),
name, (added, _('time')),
(subtracted, _('time')),
total)
irc.reply(s)
elif len(things) > 1:

54
plugins/Lart/locale/fr.po Normal file
View File

@ -0,0 +1,54 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-17 15:21+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\n"
#: config.py:49
msgid ""
"Determines whether the bot will show the ids\n"
" of a lart when the lart is given."
msgstr "Détermine si le bot affichera les idées d'un lart lorsqu'il est donné."
#: plugin.py:48
msgid "Larts must contain $who."
msgstr "Les larts doivent contenir $who."
#: plugin.py:52
msgid ""
"[<channel>] [<id>] <who|what> [for <reason>]\n"
"\n"
" Uses the Luser Attitude Readjustment Tool on <who|what> (for <reason>,\n"
" if given). If <id> is given, uses that specific lart. <channel> is\n"
" only necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] [<id>] [<qui|quoi> [for <raison>]\n"
"\n"
"Utilise le Luser Attitude Readjustment Tool sur <qui|quoi> (pour la <raison>, si elle est donnée). Si l'<id> est donné, utilise un LART spécifique. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:66
msgid "There is no lart with id #%i."
msgstr "Il n'y a pas de lart d'id #%i."
#: plugin.py:71
msgid "There are no larts in my database for %s."
msgstr "Il n'y a pas de lart dans ma base de données pour %s."
#: plugin.py:77
msgid "trying to dis me"
msgstr "essaye de me manquer de respect"
#: plugin.py:85
msgid " for "
msgstr " pour "

View File

@ -294,17 +294,28 @@ def depluralize(s):
def nItems(n, item, between=None):
"""Works like this:
>>> nItems(4, '<empty>')
'4'
>>> nItems(1, 'clock')
'1 clock'
>>> nItems(10, 'clock')
'10 clocks'
>>> nItems(4, '<empty>', between='grandfather')
'4 grandfather'
>>> nItems(10, 'clock', between='grandfather')
'10 grandfather clocks'
"""
assert isinstance(n, int) or isinstance(n, long), \
'The order of the arguments to nItems changed again, sorry.'
if item == '<empty>':
if between is None:
return format('%s', n)
else:
return format('%s %s', n, item)
if between is None:
if n != 1:
return format('%s %p', n, item)