diff --git a/locale/fi.po b/locale/fi.po new file mode 100644 index 000000000..afada49e3 --- /dev/null +++ b/locale/fi.po @@ -0,0 +1,1138 @@ +# Limnoria +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-06-25 14:17+CEST\n" +"PO-Revision-Date: 2012-01-06 19: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" + +#: ../src/callbacks.py:184 +msgid "Error: " +msgstr "Virhe: " + +#: ../src/callbacks.py:198 +msgid "Error: I tried to send you an empty message." +msgstr "Virhe: Yritin lähettää sinulle tyhjän viestin." + +#: ../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 "Puttuva \"%s\". Voit tahtoa laittaa parametrisi kaksiin lainausmerkkeihin estääksesi ylimääräisiä hakasulkuja tulemasta tulkituiksi sisäkkäisiksi komennoiksi." + +#: ../src/callbacks.py:318 +msgid "\"|\" with nothing preceding. I obviously can't do a pipe with nothing before the |." +msgstr "\"|\" ennen mitään. En ilmiselvästi voi putkittaa tyhjyyttä ilman mitään ennen |-merkkiä." + +#: ../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 "Pettävää \"%s\". Voit tahtoa laittaa parametrisi kaksiin lainausmerkkeihin estääksesiylimääräisiä hakasulkuja tulemasta tulkituiksi sisäkkäisiksi komennoiksi." + +#: ../src/callbacks.py:335 +msgid "\"|\" with nothing following. I obviously can't do a pipe with nothing after the |." +msgstr "\"|\" ilman mitään sen perässä. En ilmeisesti voi putkittaa tyhjyyttä |:n jälkeen." + +#: ../src/callbacks.py:519 +msgid "%s is not a valid %s." +msgstr "%s ei ole kelvollinen %s." + +#: ../src/callbacks.py:521 +msgid "That's not a valid %s." +msgstr "Tuo ei ole kelvollinen %s." + +#: ../src/callbacks.py:599 +msgid "You've attempted more nesting than is currently allowed on this bot." +msgstr "Yritit enempiä sisäkkäisiä komentoja, kuin on tällä hetkellä sallittu tässä botissa." + +#: ../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 "Komento %q on saatavilla %L lisäosissa. Ole hyvä ja määritä minkä lisäosan komentoa tahdot kutsua laittamalla sen nimi komentoon ennen %q:ta." + +#: ../src/callbacks.py:863 +#: ../src/callbacks.py:876 +msgid "(XX more messages)" +msgstr "(XX viestiä jatkoa)" + +#: ../src/callbacks.py:908 +msgid "more message" +msgstr "viesti jatkoa" + +#: ../src/callbacks.py:910 +msgid "more messages" +msgstr "viestejä jatkoa" + +#: ../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 "" +"Määrittää mitkä komennon ovat tällä hetkellä pois käytöstä. Sellaiset\n" +" komennot eivät ilmesty komento listoissa, jne. Ne eivät näytä edes\n" +" olevan olemassa." + +#: ../src/callbacks.py:1201 +msgid "Invalid arguments for %s." +msgstr "Virheelliset parametrit kohteelle %s." + +#: ../src/callbacks.py:1227 +msgid "The %q command has no help." +msgstr "Komennolla %q ei ole ohjetta." + +#: ../src/commands.py:171 +msgid "integer" +msgstr "kokonaisluku" + +#: ../src/commands.py:182 +msgid "non-integer value" +msgstr "ei-kokonaisluku arvo" + +#: ../src/commands.py:193 +msgid "floating point number" +msgstr "liukuluku numero" + +#: ../src/commands.py:202 +msgid "positive integer" +msgstr "positiivinen kokonaisluku" + +#: ../src/commands.py:206 +msgid "non-negative integer" +msgstr "ei-negatiivinen kokonaisluku" + +#: ../src/commands.py:209 +msgid "index" +msgstr "indeksi" + +#: ../src/commands.py:234 +msgid "number of seconds" +msgstr "määrä sekunteja" + +#: ../src/commands.py:241 +msgid "boolean" +msgstr "boolean" + +#: ../src/commands.py:255 +msgid "do that" +msgstr "tee se" + +#: ../src/commands.py:259 +msgid "I'm not even in %s." +msgstr "En edes ole kanavalla %s." + +#: ../src/commands.py:261 +msgid "I need to be opped to %s." +msgstr "Minun täytyy olla opattuna, jotta voin %s." + +#: ../src/commands.py:278 +msgid "nick or hostmask" +msgstr "nimimerkki tai hostmask" + +#: ../src/commands.py:330 +#: ../src/commands.py:333 +msgid "regular expression" +msgstr "säännöllinen lauseke" + +#: ../src/commands.py:344 +msgid "That nick is too long for this server." +msgstr "Tuo nimimerkki on liian pitkä tälle palvelimelle." + +#: ../src/commands.py:393 +#: ../src/commands.py:412 +msgid "I'm not in %s." +msgstr "En ole kanavalla %s." + +#: ../src/commands.py:397 +msgid "This command may only be given in a channel that I am in." +msgstr "Tämä komento voidaan antaa vain kanavalla, jolla minä olen." + +#: ../src/commands.py:410 +msgid "You must be in %s." +msgstr "Sinun täytyy olla kanavalla %s." + +#: ../src/commands.py:414 +msgid "channel" +msgstr "kanava" + +#: ../src/commands.py:421 +msgid "%s is not in %s." +msgstr "%s ei ole kanavalla %s." + +#: ../src/commands.py:455 +msgid "You must not give the empty string as an argument." +msgstr "Et voi antaa tyhjää merkkiketjua parametriksi." + +#: ../src/commands.py:472 +msgid "This message must be sent in a channel." +msgstr "Tämä viesti täytyy lähettää kanavalla." + +#: ../src/commands.py:518 +msgid "http url" +msgstr "http URL-osoite" + +#: ../src/commands.py:525 +msgid "command name" +msgstr "komennon nimi" + +#: ../src/commands.py:533 +msgid "ip" +msgstr "IP" + +#: ../src/commands.py:539 +msgid "letter" +msgstr "kirjain" + +#: ../src/commands.py:571 +msgid "plugin" +msgstr "lisä-osa" + +#: ../src/commands.py:579 +msgid "irc color" +msgstr "irc väri" + +#: ../src/conf.py:104 +msgid "" +"Determines whether this plugin is loaded\n" +" bydefault." +msgstr "" +"Määrittää onko tämä lisä-osa ladattuna \n" +" oletuksena." + +#: ../src/conf.py:108 +msgid "" +"Determines whether this plugin is\n" +" publicly visible." +msgstr "" +"Määrittää onko tämä lisäosa\n" +" julkisesti näkyvillä." + +#: ../src/conf.py:194 +msgid "Determines the bot's default nick." +msgstr "Määrittää botin oletus nimimerkin." + +#: ../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 "" +"Määrittää mitä vaihtoehtoisia nimimerkkejä käytetään, jos\n" +" ensisijainen nimimerkki (supybot.nick) ei ole saatavilla. \n" +" %s tässä nimimerkissä korvataa asetusarvolla supybot.nick, kun sitä käytetään. Jos\n" +" vaihtoehtoja ei anneta, tai jos kaikki ovat käytössä, supybot.nick tehdään levottomaksi, \n" +" kunnes käyttämätön nimimerkki löydetään." + +#: ../src/conf.py:204 +msgid "" +"Determines the bot's ident string, if the server\n" +" doesn't provide one by default." +msgstr "" +"Määrittää botin ident merkkiketjun, mikäli käyttäjä\n" +" ei tarjoa yhtä oletuksena." + +#: ../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 "" +"Määrittää minkä user:in (oikean nimen) botti lähettää palvelimelle.\n" +" Perus user-merkkiketju luodaan botin nykyisestä versiosta, mikäli\n" +" tämä on jätetty tyhjäksi." + +#: ../src/conf.py:223 +msgid "Determines what networks the bot will connect to." +msgstr "Määrittää mihin verkkoihin botti muodostaa yhdeyden." + +#: ../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 "" +"Määrittää mitä salasanaa käytetään verkossa %s. Kyllä, me tiedämme, että \n" +" tietyille palvelimille, eivätkä tietyille verkoille, mutta\n" +" tämä on paras johon pystymme juuri nyt." + +#: ../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 "" +"Määrittää mille palvelimille botti muodostaa yhteyden yhdistääkseen verkkoon %s. Jokaista \n" +" yritetään järjestyksessä, palaten takaisin ensinmäiseen, kun kierros on\n" +" suoritettu." + +#: ../src/conf.py:272 +msgid "Determines what channels the bot will join only on %s." +msgstr "Määrittää mille kanaville botti liittyy vain verkossa %s." + +#: ../src/conf.py:275 +msgid "" +"Determines whether the bot will attempt to connect with SSL\n" +" sockets to %s." +msgstr "" +"Määrittää yrittääkö botti yhdistää SSL\n" +" solmuilla verkkoon %s." + +#: ../src/conf.py:278 +msgid "" +"Determines what key (if any) will be used to join the\n" +" channel." +msgstr "" +"Määrittää mitä salasanaa (jos mitään) käytetään kanavalle\n" +" liittymisessä." + +#: ../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 "" + +#: ../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 "" +"Määrittää näytetäänkö kulunut aika muodossa\n" +" \"1 päivä, 2 tuntia, 3 minuuttia, ja 15 sekuntia\" vai \"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 "" + +#: ../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 "" + +#: ../src/conf.py:332 +#, fuzzy +msgid "" +"Determines what the maximum number of\n" +" chunks (for use with the 'more' command) will be." +msgstr "" +"Määrittää maksimimäärän\n" +" chunks (for use with the 'more' command) will be." + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../src/conf.py:476 +msgid "The operation succeeded." +msgstr "" + +#: ../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 "" + +#: ../src/conf.py:482 +msgid "" +"An error has occurred and has been logged.\n" +" Please contact this bot's administrator for more information." +msgstr "" + +#: ../src/conf.py:483 +msgid "" +"\n" +" Determines what error message the bot gives when it wants to be\n" +" ambiguous." +msgstr "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../src/conf.py:537 +msgid "" +"That operation cannot be done in a\n" +" channel." +msgstr "" + +#: ../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 "" + +#: ../src/conf.py:543 +msgid "" +"This may be a bug. If you think it is,\n" +" please file a bug report at\n" +" ." +msgstr "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../src/conf.py:596 +msgid "" +"Determines whether the bot will allow nested\n" +" commands, which rule. You definitely should keep this on." +msgstr "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../src/conf.py:640 +msgid "" +"Determines whether the bot will defend itself\n" +" against command-flooding." +msgstr "" + +#: ../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 "" + +#: ../src/conf.py:648 +msgid "" +"Determines how many seconds the bot\n" +" will ignore users who flood it with commands." +msgstr "" + +#: ../src/conf.py:652 +msgid "" +"Determines whether the bot will defend itself\n" +" against invalid command-flooding." +msgstr "" + +#: ../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 "" + +#: ../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 "" + +#: ../src/conf.py:669 +msgid "" +"Determines whether the bot will notify people\n" +" that they're being ignored for invalid command flooding." +msgstr "" + +#: ../src/conf.py:678 +msgid "" +"Determines the default length of time a\n" +" driver should block waiting for input." +msgstr "" + +#: ../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 "" + +#: ../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 "" + +#: ../src/conf.py:740 +msgid "" +"Determines what directory configuration data is\n" +" put into." +msgstr "" + +#: ../src/conf.py:743 +msgid "Determines what directory data is put into." +msgstr "" + +#: ../src/conf.py:745 +msgid "" +"Determines what directory backup data is put\n" +" into." +msgstr "" + +#: ../src/conf.py:748 +msgid "" +"Determines what directory temporary files\n" +" are put into." +msgstr "" + +#: ../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 "" + +#: ../src/conf.py:763 +msgid "" +"Determines what plugins will\n" +" be loaded." +msgstr "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../src/conf.py:886 +msgid "" +"Determines\n" +" whether CDB databases will be allowed as a database implementation." +msgstr "" + +#: ../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 "" + +#: ../src/conf.py:974 +msgid "" +"Determines what will be used as the\n" +" default banmask style." +msgstr "" + +#: ../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 "" + +#: ../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 "" + +#: ../src/conf.py:991 +msgid "" +"Determines what vhost the bot will bind to before\n" +" connecting to the IRC server." +msgstr "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../src/conf.py:1025 +msgid "" +"Determines how many seconds must elapse between\n" +" JOINs sent to the server." +msgstr "" + +#: ../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 "" + +#: ../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 "" + +#: ../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" +" hard for those users to register or identify with the bot, but that's your\n" +" problem to solve." +msgstr "" + +#: ../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 "" + +#: ../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 "" + +#: ../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 "" + +#: ../src/conf.py:1110 +msgid "" +"Determines whether the bot will automatically\n" +" thread all commands." +msgstr "" + +#: ../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 "" + +#: ../src/questions.py:60 +msgid "Sorry, that response was not an option." +msgstr "" + +#: ../src/questions.py:106 +msgid "Sorry, you must enter a value." +msgstr "" + +#: ../src/questions.py:126 +msgid "Enter password: " +msgstr "" + +#: ../src/questions.py:128 +msgid "Re-enter password: " +msgstr "" + +#: ../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/de.po b/plugins/Admin/locale/de.po index fb64ef5f1..e2476d5d3 100644 --- a/plugins/Admin/locale/de.po +++ b/plugins/Admin/locale/de.po @@ -34,7 +34,7 @@ msgid "Cannot join %s, my keyword was wrong." msgstr "Ich kann %s nicht beitreten, mein Schlüsselwort ist falsch." #: plugin.py:104 -msgid "Cannot join %s, I'm not identified with the NickServ." +msgid "Cannot join %s, I'm not identified with NickServ." msgstr "Ich kann %s nicht betreten, ich bin nicht mit NickServ identifiziert." #: plugin.py:134 diff --git a/plugins/Admin/locale/fi.po b/plugins/Admin/locale/fi.po index 110ca557a..9b0d23a6b 100644 --- a/plugins/Admin/locale/fi.po +++ b/plugins/Admin/locale/fi.po @@ -38,7 +38,7 @@ msgid "Cannot join %s, my keyword was wrong." 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." +msgid "Cannot join %s, I'm not identified with NickServ." msgstr "En voi liittyä kanavalle %s, koska en ole tunnistautunut NickServille." #: plugin.py:134 @@ -185,10 +185,10 @@ msgid "" msgstr "" " []\n" "\n" -" Tämä asettaa pysyvän ignoren tai hostmaskiin,\n" +" Tämä asettaa pysyvän huomiotta jättämisen 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" +" joka määrittää (\"sekuntit\") joiden jälkeen huomiotta jättäminen poistetaan; jos\n" +" sitä ei ole annettu, huomiotta jättäminen ei vanhene ikinä automaattisesti.\n" " " #: plugin.py:323 @@ -201,13 +201,13 @@ msgid "" msgstr "" "\n" "\n" -" Tämä poistaa pysyvän ignoren tai\n" +" Tämä poistaa pysyvän huomiotta jättämisen tai\n" " hostmaskista joka on tällä hetkellä yhdistetty .\n" " " #: plugin.py:332 msgid "%s wasn't in the ignores database." -msgstr "%s ei ollut ignore tietokannassa." +msgstr "%s ei ollut huomiotta jätettävien tietokannassa." #: plugin.py:337 msgid "" @@ -218,12 +218,12 @@ msgid "" msgstr "" "Ei ota parametrejä\n" "\n" -" Luetteloi hostmaskit jotka ovat botin ignoressa.\n" +" Luetteloi hostmaskit jotka ovat botin huomiotta jättämis listalla.\n" " " #: plugin.py:345 msgid "I'm not currently globally ignoring anyone." -msgstr "Minä en tällä hetkellä pidä ketään globaalissa ignoressa." +msgstr "En tällä hetkellä jätä ketään huomioitta globaalisti." #: plugin.py:351 msgid "" diff --git a/plugins/Admin/locale/fr.po b/plugins/Admin/locale/fr.po index f462b2123..dbeb90ad2 100644 --- a/plugins/Admin/locale/fr.po +++ b/plugins/Admin/locale/fr.po @@ -34,7 +34,7 @@ msgid "Cannot join %s, my keyword was wrong." msgstr "Ne peut joindre %s, mon mot de passe est mauvais." #: plugin.py:104 -msgid "Cannot join %s, I'm not identified with the NickServ." +msgid "Cannot join %s, I'm not identified with NickServ." msgstr "Ne peut joindre %s, je ne suis pas identifié auprès de NickServ." #: plugin.py:134 diff --git a/plugins/Admin/locale/it.po b/plugins/Admin/locale/it.po index f8970ab3b..250993e61 100644 --- a/plugins/Admin/locale/it.po +++ b/plugins/Admin/locale/it.po @@ -33,7 +33,7 @@ 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." +msgid "Cannot join %s, I'm not identified with NickServ." msgstr "Non posso entrare in %s, non sono identificato con NickServ." #: plugin.py:134 diff --git a/plugins/Admin/plugin.py b/plugins/Admin/plugin.py index 6a84648b9..df06759b2 100644 --- a/plugins/Admin/plugin.py +++ b/plugins/Admin/plugin.py @@ -97,11 +97,20 @@ class Admin(callbacks.Plugin): except KeyError: self.log.debug('Got 475 without Admin.join being called.') + def do477(self, irc, msg): + try: + channel = msg.args[1] + (irc,msg) = self.joins.pop(channel) + irc.error(_('Cannot join %s, I\'m not identified with ' + 'NickServ.') % channel) + except KeyError: + self.log.debug('Got 477 without Admin.join being called.') + def do515(self, irc, msg): try: channel = msg.args[1] (irc, msg) = self.joins.pop(channel) - irc.error(_('Cannot join %s, I\'m not identified with the ' + irc.error(_('Cannot join %s, I\'m not identified with ' 'NickServ.') % channel) except KeyError: self.log.debug('Got 515 without Admin.join being called.') @@ -117,7 +126,7 @@ class Admin(callbacks.Plugin): def doInvite(self, irc, msg): channel = msg.args[1] if channel not in irc.state.channels: - if conf.supybot.alwaysJoinOnInvite() or \ + if conf.supybot.alwaysJoinOnInvite.get(channel)() or \ ircdb.checkCapability(msg.prefix, 'admin'): self.log.info('Invited to %s by %s.', channel, msg.prefix) networkGroup = conf.supybot.networks.get(irc.network) diff --git a/plugins/Alias/locale/hu.po b/plugins/Alias/locale/hu.po index 8b83459c9..46737ed41 100644 --- a/plugins/Alias/locale/hu.po +++ b/plugins/Alias/locale/hu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Limnoria Alias\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-10-25 14:42+0200\n" +"PO-Revision-Date: 2011-12-23 10:30+0100\n" "Last-Translator: nyuszika7h \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -37,9 +37,10 @@ msgid "" "\n" "\n" "Alias for %q." +msgstr "" "] []\n" "\n" " Jos sinulla on #kanava,op valtuus, tämä asettaa pysyvän\n" -" ignoren tai hostmaskiin\n" +" huomiotta jättämisen tai hostmaskiin\n" " joka on käytössä. on vaihtoehtoinen parametri\n" -" kun määritetään ( \"sekunteja alkaen nyt\")milloin ignore vanhentuu; jos\n" -" sitä ei ole annettu, ignore ei ikinä vanhennu automaattisesti.\n" +" kun määritetään ( \"sekunteja alkaen nyt\")milloin huomiotta jättäminen vanhentuu; jos\n" +" sitä ei ole annettu, huomiotta jättäminen ei ikinä vanhene automaattisesti.\n" " on vaadittu vain jos viestiä ei lähetetä\n" " kanavalla itsellään.\n" " " @@ -573,13 +573,13 @@ msgstr "" "[] \n" "\n" " Jos sinulla on #kanava,op valtuus, tämä poistaa\n" -" pysyvän ignoren kanavalla. on vaadittu vain jos\n" +" pysyvän huomiotta jättämisen kanavalla. on vaadittu vain jos\n" " viestiä ei lähetetä kanavalla itsellään.\n" " " #: plugin.py:593 msgid "There are no ignores for that hostmask." -msgstr "Tuolla hostmaskilla ei ole pysyviä ignoreja." +msgstr "Tuolla hostmaskilla ei ole pysyviä huomiotta jättämisiä." #: plugin.py:598 msgid "" @@ -592,14 +592,14 @@ msgid "" msgstr "" "[]\n" "\n" -" Luettelee hostmaskit, jotka ovat botin ignoressa annetulla kanavalla.\n" +" Luettelee hostmaskit, jotka ovat botin huomiotta jättämis listalla annetulla kanavalla.\n" " on vaadittu vain, jos viestiä ei lähetetä\n" " kanavalla itsellään.\n" " " #: plugin.py:607 msgid "I'm not currently ignoring any hostmasks in %q" -msgstr "Minun ignoressani ei ole yhtään hostmaskia kanavalla %q." +msgstr "En tällä hetkellä jätä mitään hostmaskia huomiotta kanavalla %q." #: plugin.py:618 msgid "" diff --git a/plugins/Channel/test.py b/plugins/Channel/test.py index 54ce68ac5..1c301ce7b 100644 --- a/plugins/Channel/test.py +++ b/plugins/Channel/test.py @@ -205,11 +205,19 @@ class ChannelTestCase(ChannelPluginTestCase): def testIgnore(self): orig = conf.supybot.protocols.irc.banmask() + def ignore(given, expect=None): + if expect is None: + expect = given + self.assertNotError('channel ignore add %s' % given) + self.assertResponse('channel ignore list', "'%s'" % expect) + self.assertNotError('channel ignore remove %s' % expect) + self.assertRegexp('channel ignore list', 'not currently') try: + ignore('foo!bar@baz', '*!bar@baz') + ignore('foo!*@*') conf.supybot.protocols.irc.banmask.setValue(['exact']) - self.assertNotError('channel ignore add foo!bar@baz') - self.assertResponse('channel ignore list', "'foo!bar@baz'") - self.assertNotError('channel ignore remove foo!bar@baz') + ignore('foo!bar@baz') + ignore('foo!*@*') self.assertError('ban add not!a.hostmask') finally: conf.supybot.protocols.irc.banmask.setValue(orig) diff --git a/plugins/Ctcp/locale/de.po b/plugins/Ctcp/locale/de.po index a8712ec91..78563bb52 100644 --- a/plugins/Ctcp/locale/de.po +++ b/plugins/Ctcp/locale/de.po @@ -11,32 +11,32 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" #: plugin.py:77 -msgid "PING ?(.*)" -msgstr "PING ?(.*)" +msgid "\001PING ?(.*)\001" +msgstr "\001PING ?(.*)\001" #: plugin.py:86 -msgid "VERSION" -msgstr "VERSION" +msgid "\001VERSION\001" +msgstr "\001VERSION\001" #: plugin.py:91 -msgid "USERINFO" -msgstr "USERINFO" +msgid "\001USERINFO\001" +msgstr "\001USERINFO\001" #: plugin.py:96 -msgid "TIME" -msgstr "TIME" +msgid "\001TIME\001" +msgstr "\001TIME\001" #: plugin.py:101 -msgid "FINGER" -msgstr "FINGER" +msgid "\001FINGER\001" +msgstr "\001FINGER\001" #: plugin.py:104 msgid "Supybot, the best Python IRC bot in existence!" msgstr "Supybot ist der beste Python IRC Bot den es gibt!" #: plugin.py:107 -msgid "SOURCE" -msgstr "SOURCE" +msgid "\001SOURCE\001" +msgstr "\001SOURCE\001" #: plugin.py:123 msgid "" diff --git a/plugins/Ctcp/locale/fi.po b/plugins/Ctcp/locale/fi.po index 14bfa2763..6fbcc2a39 100755 --- a/plugins/Ctcp/locale/fi.po +++ b/plugins/Ctcp/locale/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-08-10 14:27+0200\n" +"PO-Revision-Date: 2011-12-23 13:36+0200\n" "Last-Translator: Mika Suomalainen \n" "Language-Team: \n" "Language: \n" diff --git a/plugins/Ctcp/locale/fr.po b/plugins/Ctcp/locale/fr.po index 2dba46d88..d8e9e0cb7 100644 --- a/plugins/Ctcp/locale/fr.po +++ b/plugins/Ctcp/locale/fr.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" "PO-Revision-Date: \n" -"Last-Translator: Valentin Lorentz \n" +"Last-Translator: Mika Suomalainen \n" "Language-Team: Supybot-fr \n" "Language: \n" "MIME-Version: 1.0\n" @@ -14,32 +14,32 @@ msgstr "" "X-Poedit-SourceCharset: ASCII\n" #: plugin.py:77 -msgid "PING ?(.*)" -msgstr "" +msgid "\001PING ?(.*)\001" +msgstr "\001PING ?(.*)\001" #: plugin.py:86 -msgid "VERSION" -msgstr "" +msgid "\001VERSION\001" +msgstr "\001VERSION\001" #: plugin.py:91 -msgid "USERINFO" -msgstr "" +msgid "\001USERINFO\001" +msgstr "\001USERINFO\001" #: plugin.py:96 -msgid "TIME" -msgstr "" +msgid "\001TIME\001" +msgstr "\001TIME\001" #: plugin.py:101 -msgid "FINGER" -msgstr "" +msgid "\001FINGER\001" +msgstr "\001FINGER\001" #: plugin.py:104 msgid "Supybot, the best Python IRC bot in existence!" msgstr "Supybot, le meilleur bot IRC en Python au monde !" #: plugin.py:107 -msgid "SOURCE" -msgstr "" +msgid "\001SOURCE\001" +msgstr "\001SOURCE\001" #: plugin.py:123 msgid "" diff --git a/plugins/Topic/locale/fi.po b/plugins/Topic/locale/fi.po index 05fe6fc9e..d41d124d8 100644 --- a/plugins/Topic/locale/fi.po +++ b/plugins/Topic/locale/fi.po @@ -6,9 +6,10 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-10-26 11:01+0200\n" +"PO-Revision-Date: 2011-12-22 21: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" @@ -22,7 +23,8 @@ msgstr "Arvon täytyy sisältää $topic, muutoin itse aihe jätettäisiin pois. msgid "" "Determines what separator is\n" " used between individually added topics in the channel topic." -msgstr "Määrittää mitä eroittajaa käytetään\n" +msgstr "" +"Määrittää mitä eroittajaa käytetään\n" " erikseen lisättyjen aiheiden välissä kanavan aiheessa." #: config.py:53 @@ -30,7 +32,8 @@ msgid "" "Determines what format is used to add\n" " topics in the topic. All the standard substitutes apply, in addition to\n" " \"$topic\" for the topic itself." -msgstr "Määrittää mitä muotoa käytetään lisäämään\n" +msgstr "" +"Määrittää mitä muotoa käytetään lisäämään\n" " aiheita kanavan aiheessa. Kaikki perus muunnokset ovat voimassa, \n" " \"$topic\":n lisäksi aiheelle itselleen." @@ -40,7 +43,8 @@ msgid "" " TOPICLEN value sent to it by the server and thus refuse to send TOPICs\n" " longer than the TOPICLEN. These topics are likely to be truncated by the\n" " server anyway, so this defaults to True." -msgstr "Määrittää tunnistaako botti\n" +msgstr "" +"Määrittää tunnistaako botti\n" " TOPICLEN arvon, jonka palvelin on lähettänyt sille ja näin kieltäytyy asettamasta pidempiä aiheita, \n" " kuin TOPICLEN. Nämä aiheet tulisivat muutenkin palvelimen lyhentämiksi, joten\n" " tämä on oletuksena True." @@ -49,14 +53,16 @@ msgstr "Määrittää tunnistaako botti\n" msgid "" "Determines what the default topic for the channel\n" " is. This is used by the default command to set this topic." -msgstr "Määrittää mikä on oletus aihe kanavalle. \n" +msgstr "" +"Määrittää mikä on oletus aihe kanavalle. \n" " 'Default' komento käyttää tätä." #: config.py:66 msgid "" "Determines the number of previous\n" " topics to keep around in case the undo command is called." -msgstr "Määrittää edellisten aiheiden määrän, jotka säilytetään siltä varalta, että\n" +msgstr "" +"Määrittää edellisten aiheiden määrän, jotka säilytetään siltä varalta, että\n" " 'undo' komentoa käytetään." #: config.py:69 @@ -67,7 +73,8 @@ msgid "" " channel-level capabilities.\n" " Note that absence of an explicit anticapability means user has\n" " capability." -msgstr "Määrittää\n" +msgstr "" +"Määrittää\n" " valtuudet, jotka (jos mitkään) vaaditaan aiheen vaihtamiseen,\n" " (kaikki, paitsi vain-luku komennot). Käytä valtuutta 'channel,capab' \n" " kanava-tason valtuuksia varten.\n" @@ -109,7 +116,8 @@ msgid "" " Also allow if the user is a chanop. Since he can change the topic\n" " manually anyway.\n" " " -msgstr "Tarkista onko käyttäjällä valtuudet, jotka on vaadittu\n" +msgstr "" +"Tarkista onko käyttäjällä valtuudet, jotka on vaadittu\n" " kanavan aiheen hallintaan.\n" "\n" " Lista vaadituista valtuuksista on kanava-asetusarvossa requireManageCapability\n" @@ -125,7 +133,8 @@ msgid "" " Returns the topic for . is only necessary if the\n" " message isn't sent in the channel itself.\n" " " -msgstr "[]\n" +msgstr "" +"[]\n" "\n" " Palauttaa aiheen. on vaadittu vain, jos viestiä ei lähetetä\n" " kanavalla itsellään.\n" @@ -138,7 +147,8 @@ msgid "" " Adds to the topics for . is only necessary\n" " if the message isn't sent in the channel itself.\n" " " -msgstr "[] \n" +msgstr "" +"[] \n" "\n" " Lisää aiheisiin. on vaadittu vain, jos\n" " viestiä ei lähetetä kanavalla itsellään.\n" @@ -153,7 +163,8 @@ msgid "" " is only necessary if the message isn't sent in the channel\n" " itself.\n" " " -msgstr "[] \n" +msgstr "" +"[] \n" "\n" " Lisää aiheisiin. Jos aihe on liian pitkä\n" " palvelimelle, aihetta kutistetaan kunnes sille on tarpeeksi tilaa.\n" @@ -167,7 +178,8 @@ msgid "" "\n" " Replaces topic with .\n" " " -msgstr "[] \n" +msgstr "" +"[] \n" "\n" " Korvaa aiheen .\n" " " @@ -180,7 +192,8 @@ msgid "" " currently on . is only necessary if the message\n" " isn't sent in the channel itself.\n" " " -msgstr "[] \n" +msgstr "" +"[] \n" "\n" " Lisää aiheisiin \n" " sillä hetkellä olevien aiheiden alkuun. on vaadittu vain, jos viestiä ei lähetetä \n" @@ -194,7 +207,8 @@ msgid "" " Shuffles the topics in . is only necessary if the\n" " message isn't sent in the channel itself.\n" " " -msgstr "[]\n" +msgstr "" +"[]\n" "\n" " Sekoittaa aiheet . on vaadittu vain, jos viestiä ei lähetetä \n" " kanavalla itsellään.\n" @@ -213,7 +227,8 @@ msgid "" " is only necessary if the message isn't sent in the channel\n" " itself.\n" " " -msgstr "[] [ ...]\n" +msgstr "" +"[] [ ...]\n" "\n" " Järjestää aiheet järjestyksessä, joka on määritetty\n" " parametreillä. on yksi-indexinen aiheisiin.\n" @@ -241,7 +256,8 @@ msgid "" " Mostly useful for topic reordering. is only necessary if the\n" " message isn't sent in the channel itself.\n" " " -msgstr "[]\n" +msgstr "" +"[]\n" "\n" " Palauttaa listan aiheista , etuliitettyinä indekseihinsä.\n" " Enimmäkseen hyödyllinen aiheen uudelleenjärjestämisessä. on vaadittu vain jos viestiä ei lähetetä \n" @@ -260,7 +276,8 @@ msgid "" " index into the topics. is only necessary if the message\n" " isn't sent in the channel itself.\n" " " -msgstr "[] \n" +msgstr "" +"[] \n" "\n" " Palauttaa aiheen . on yksi-indexinen\n" " aiheissa. on vaadittu vain jos viestiä ei lähetetä kanavalla\n" @@ -277,7 +294,8 @@ msgid "" " s/regexp/replacement/flags. is only necessary if the message\n" " isn't sent in the channel itself.\n" " " -msgstr "[] \n" +msgstr "" +"[] \n" "\n" " Vaihtaa aiheen mukaan.\n" " on yksi-indexinen aiheissa;\n" @@ -285,6 +303,7 @@ msgstr "[] \n" " s/säännöllinen lauseke/korvaus/liput. on vaadittu vain jos viestiä ei lähetetä\n" " kanavalla itsellään.\n" " " + #: plugin.py:434 msgid "" "[] [] \n" @@ -293,7 +312,8 @@ msgid "" " sets the entire topic. is only necessary if the message\n" " isn't sent in the channel itself.\n" " " -msgstr "[] [] \n" +msgstr "" +"[] [] \n" "\n" " Asettaa aiheen . Jos ei ole annettu, tämä\n" " asettaa koko aiheen. on vaadittu vain, jos viestiä ei lähetetä\n" @@ -309,7 +329,8 @@ msgid "" " to topics starting the from the end of the topic. is only\n" " necessary if the message isn't sent in the channel itself.\n" " " -msgstr "[] \n" +msgstr "" +"[] \n" "\n" " Poistaa aiheen aiheesta. Aiheet on numeroitu\n" " alkaen numerosta 1; voit käyttää negatiivisiä indexejä saadaksesi ne viittaamaan\n" @@ -324,7 +345,8 @@ msgid "" " Locks the topic (sets the mode +t) in . is only\n" " necessary if the message isn't sent in the channel itself.\n" " " -msgstr "[]\n" +msgstr "" +"[]\n" "\n" " Lukitsee aiheen (asettaa tilan +t) . on vaadittu vain, jos\n" " viestiä ei lähetetä kanavalla itsellään.\n" @@ -341,7 +363,8 @@ msgid "" " Unlocks the topic (sets the mode -t) in . is only\n" " necessary if the message isn't sent in the channel itself.\n" " " -msgstr "[]\n" +msgstr "" +"[]\n" "\n" " Avaa aiheen (asettaa tilan -t) . on vaadittu vain, \n" " jos viestiä ei lähetetä kanavalla itsellään.\n" @@ -358,7 +381,8 @@ msgid "" " Restores the topic to the last topic set by the bot. is only\n" " necessary if the message isn't sent in the channel itself.\n" " " -msgstr "[]\n" +msgstr "" +"[]\n" "\n" " Palauttaa aiheen viimeiseksi aiheeksi, jonka botti on asettanut. on vaadittu\n" " vain, jos viestiä ei lähetetä kanavalla itsellään.\n" @@ -376,7 +400,8 @@ msgid "" " set it. is only necessary if the message isn't sent in the\n" " channel itself.\n" " " -msgstr "[]\n" +msgstr "" +"[]\n" "\n" " Palauttaa aiheen yhdeksi edellisistä aiheista, jotka \"last\" komento on asettanut \n" " siksi. on vaadittu vain, jos viestiä ei lähetetä kanavalla\n" @@ -394,7 +419,8 @@ msgid "" " Undoes the last undo. is only necessary if the message isn't\n" " sent in the channel itself.\n" " " -msgstr "[]\n" +msgstr "" +"[]\n" "\n" " Kumoaa viimeisen kumouksen. on vaadittu vain jos viestiä ei lähetetä\n" " kanavalla itsellään.\n" @@ -405,14 +431,22 @@ msgid "There are no redos for %s." msgstr "Kanavalle %s ei ole enempää kumouksia." #: plugin.py:555 +#, fuzzy msgid "" -"[] \n" +"[] \n" "\n" -" Vaihtaa ensinmäisen ja toisen aiheen numeron paikkoja.\n" -" on vaadittu vain, jos viestiä ei lähetetä kanavalla\n" -" itsellään.\n" +" Swaps the order of the first topic number and the second topic number.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" " " msgstr "" +"[] [ ...]\n" +"\n" +" Järjestää aiheet järjestyksessä, joka on määritetty\n" +" parametreillä. on yksi-indexinen aiheisiin.\n" +" on vaadittu vain jos viestiä ei lähetetä kanavalla \n" +" itsellään.\n" +" " #: plugin.py:566 msgid "I refuse to swap the same topic with itself." @@ -426,7 +460,8 @@ msgid "" " default topic for a channel may be configured via the configuration\n" " variable supybot.plugins.Topic.default.\n" " " -msgstr "[]\n" +msgstr "" +"[]\n" "\n" " Asettaa aiheen . Oletusaihe\n" " kanavalle voidaan määrittää asetusarvolla \n" @@ -443,9 +478,24 @@ msgid "" " Sets the topic separator for to Converts the\n" " current topic appropriately.\n" " " -msgstr "[] \n" +msgstr "" +"[] \n" "\n" " Asettaa eroittajan , muuntaa\n" " nykyisen aiheen kunnollisesti.\n" " " +#~ msgid "" +#~ "[] \n" +#~ "\n" +#~ " Vaihtaa ensinmäisen ja toisen aiheen numeron paikkoja.\n" +#~ " on vaadittu vain, jos viestiä ei lähetetä kanavalla\n" +#~ " itsellään.\n" +#~ " " +#~ msgstr "" +#~ "[] \n" +#~ "\n" +#~ " Vaihtaa ensinmäisen ja toisen aiheen numeron paikkoja.\n" +#~ " on vaadittu vain, jos viestiä ei lähetetä kanavalla\n" +#~ " itsellään.\n" +#~ " " diff --git a/plugins/URL/locale/fi.po b/plugins/URL/locale/fi.po new file mode 100644 index 000000000..d7a51b0f0 --- /dev/null +++ b/plugins/URL/locale/fi.po @@ -0,0 +1,71 @@ +# URL 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-12-20 16:33+0200\n" +"Last-Translator: Mika Suomalainen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +#: config.py:45 +msgid "" +"Determines what URLs are not to be snarfed and\n" +" stored in the database for the channel; URLs matching the given regexp will\n" +" not be snarfed. Give the empty string if you have no URLs that you'd like\n" +" to exclude from being snarfed." +msgstr "Määrittää, mitkä URL-osoitteet eivät tule kaapatuiksi eivätkä\n" +" tallennetuiksi tietokantaan; URL-osoitteet, jotka täsmäävät annettuun säännölliseen lausekkeeseen eivät tule\n" +" kaapatuiksi. Anna tyhjä säännöllinen lauseke, mikäli haluat ettei yhtään URL-osoitetta \n" +" jätetä kaappaamatta." + +#: plugin.py:89 +msgid "" +"[]\n" +"\n" +" Returns the number of URLs in the URL database. is only\n" +" required if the message isn't sent in the channel itself.\n" +" " +msgstr "[]\n" +"\n" +" Palauttaa tietokannassa olevien URL-osoitteiden määrän. on vaadittu vain, jos\n" +" viestiä ei lähetetä kanavalla itsellään.\n" +" " + +#: plugin.py:96 +msgid "I have %n in my database." +msgstr "Minulla on %n tietokannassani." + +#: plugin.py:101 +msgid "" +"[] [--{from,with,without,near,proto} ] [--nolimit]\n" +"\n" +" Gives the last URL matching the given criteria. --from is from whom\n" +" the URL came; --proto is the protocol the URL used; --with is something\n" +" inside the URL; --without is something that should not be in the URL;\n" +" --near is something in the same message as the URL. If --nolimit is\n" +" given, returns all the URLs that are found to just the URL.\n" +" is only necessary if the message isn't sent in the channel\n" +" itself.\n" +" " +msgstr "[] [--{from,with,without,near,proto} ] [--nolimit]\n" +"\n" +" Antaa viimeisen URL-osoitteen, joka täsmää annettuihin kriteereihin. --from on keneltä\n" +" URL-osoite tuli; --proto on protokolla, jota URL-osoite käytti; --with on jokin\n" +" URL-osoitteen sisällä; --without on jotakin, jonka ei pitäisi olla URL-osoitteessa;\n" +" --near on jotakin samassa viestissä, kuin URL-osoite. Jos --nolimit on\n" +" annettu, palauttaa kaikki täsmäävät URL-osoitteet, jotka löydetään.\n" +" on vaadittu vain, jos viestiä ei lähetetä kanavalla\n" +" itsellään.\n" +" " + +#: plugin.py:143 +msgid "No URLs matched that criteria." +msgstr "Yksikään URL-osoite ei täsmännyt noihin kriteereihin." + diff --git a/plugins/Unix/config.py b/plugins/Unix/config.py index 0da4ec10b..2b618327c 100644 --- a/plugins/Unix/config.py +++ b/plugins/Unix/config.py @@ -81,6 +81,9 @@ conf.registerGlobalValue(Unix.spell, 'command', registry.String(utils.findBinaryInPath('aspell') or utils.findBinaryInPath('ispell') or '', _("""Determines what command will be called for the spell command."""))) +conf.registerGlobalValue(Unix.spell, 'language', + registry.String('en', _("""Determines what aspell dictionary will be used + for spell checking."""))) conf.registerGroup(Unix, 'wtf') conf.registerGlobalValue(Unix.wtf, 'command', diff --git a/plugins/Unix/locale/fi.po b/plugins/Unix/locale/fi.po index 54a015390..15da1aa02 100644 --- a/plugins/Unix/locale/fi.po +++ b/plugins/Unix/locale/fi.po @@ -5,10 +5,11 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-08-10 11:27+CEST\n" -"PO-Revision-Date: 2011-12-09 17:16+0200\n" +"POT-Creation-Date: 2011-12-22 22:28+CET\n" +"PO-Revision-Date: 2011-12-23 11:51+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" @@ -20,12 +21,12 @@ msgid "" " information about your machine. Here's an example of its output:\n" "\n" " %s\n" -msgstr "\"Progstats\" komento voi paljastaa mahdollisesti henkilökohtaista tietoa tietokoneestasi.\n" +msgstr "" +"\"Progstats\" komento voi paljastaa mahdollisesti henkilökohtaista tietoa tietokoneestasi.\n" " Tässä on näyte sen ulostulosta:\n" "\n" " %s\n" - #: config.py:51 msgid "Would you like to disable this command for non-owner users?" msgstr "Haluaisitko poistaa tämän komennon käytöstä muille käyttäjille, kuin omistajille?" @@ -34,14 +35,16 @@ msgstr "Haluaisitko poistaa tämän komennon käytöstä muille käyttäjille, k msgid "" "Determines\n" " what command will be called for the fortune command." -msgstr "Määrittää minkä komennon 'fortune'\n" +msgstr "" +"Määrittää minkä komennon 'fortune'\n" " komento kutsuu." #: config.py:62 msgid "" "Determines whether only short fortunes will be\n" " used if possible. This sends the -s option to the fortune program." -msgstr "Määrittää käytetäänkö vain lyhyitä ennustuksia, jos se on mahdollista.\n" +msgstr "" +"Määrittää käytetäänkö vain lyhyitä ennustuksia, jos se on mahdollista.\n" " Tämä lähettää fortune ohjelmalle -s asetuksen." #: config.py:65 @@ -50,7 +53,8 @@ msgid "" " weight to the different fortune databases. If false, then larger\n" " databases will be given more weight. This sends the -e option to the\n" " fortune program." -msgstr "Määrittää antaako 'fortune'\n" +msgstr "" +"Määrittää antaako 'fortune'\n" " yhtäpaljon painoa erilaisille ennustustietokannoille. Jos tämä asetus on 'false', niin\n" " suuremmille tietokannoille annetaan enemmän painoa. Tämä lähettää -e asetuksen\n" " ennustus ohjelmalle." @@ -60,7 +64,8 @@ msgid "" "Determines whether fortune will retrieve\n" " offensive fortunes along with the normal fortunes. This sends the -a\n" " option to the fortune program." -msgstr "Määrittää hakeeko 'fortune' myös loukkaavia ennustuksia tavallisten\n" +msgstr "" +"Määrittää hakeeko 'fortune' myös loukkaavia ennustuksia tavallisten\n" " ennustusten lisäksi. Tämä lähettää -a\n" " asetuksen ennustus ohjelmalle." @@ -70,22 +75,34 @@ msgid "" " (if any) will be used with the fortune command; if none is given, the\n" " system-wide default will be used. Do note that this fortune file must be\n" " placed with the rest of your system's fortune files." -msgstr "Määrittää mitä tiettyä tietokantaa\n" +msgstr "" +"Määrittää mitä tiettyä tietokantaa\n" " (jos mitään) 'fortune' käyttää; jos yhtään ei ole käytetty, \n" " järjestelmän laajuista oletusta käytetään. Huomaa, että tämän ennustustiedoston täytyy olla\n" " sijoitettuna muiden järjestelmän ennustustiedostojen kanssa." #: config.py:82 msgid "" -"Määrittää\n" -" mitä komentoa 'spell' komento käyttää." +"Determines\n" +" what command will be called for the spell command." msgstr "" +"Määrittää minkä komennon 'spell'\n" +" komento kutsuu." -#: config.py:87 +#: config.py:85 +msgid "" +"Determines what aspell dictionary will be used\n" +" for spell checking." +msgstr "" +"Määrittää mitä aspell sanakirjaa käytetään\n" +" oikeinkirjoituksen tarkistukseen." + +#: config.py:90 msgid "" "Determines what\n" " command will be called for the wtf command." -msgstr "Määrittää minkä komennon\n" +msgstr "" +"Määrittää minkä komennon\n" " 'wtf' komento kutsuu." #: plugin.py:75 @@ -94,7 +111,8 @@ msgid "" "\n" " Returns the number of an errno code, or the errno code of a number.\n" " " -msgstr "\n" +msgstr "" +"\n" "\n" " Palauttaa virhenumeron , tai virhekoodin virhenumeron.\n" " " @@ -117,7 +135,8 @@ msgid "" "\n" " Returns various unix-y information on the running supybot process.\n" " " -msgstr "ei ota parametrejä\n" +msgstr "" +"ei ota parametrejä\n" "\n" " Palauttaa muutamia unixmaisia tietoja suoritettavasta supybot prosessista.\n" " " @@ -128,7 +147,8 @@ msgid "" "\n" " Returns the current pid of the process for this Supybot.\n" " " -msgstr "ei ota parametrejä\n" +msgstr "" +"ei ota parametrejä\n" "\n" " Palauttaa tämän Supybot prosessin nykyisen pidin.\n" " " @@ -142,7 +162,8 @@ msgid "" " prepending '$1$' to your salt will cause crypt to return an MD5sum\n" " based crypt rather than the standard DES based crypt.\n" " " -msgstr " []\n" +msgstr "" +" []\n" "\n" " Palauttaa crypt():in tuloksen . Jos ei ole\n" " annettu, satunnaista suolaa käytetään. Jos suoritetaan glibc2 järjestelmällä,\n" @@ -158,58 +179,63 @@ msgid "" " shown are sorted from best to worst in terms of being a likely match\n" " for the spelling of .\n" " " -msgstr "\n" +msgstr "" +"\n" "\n" " Palauttaa lähetyksen aspell/ispell ohjelmaan. Palautuvat tulokset\n" " näytetään järjestyksessä parhaasta huonompaan sillä perusteella, kuinka todennäköisesti ne ovat oikein kirjoitettuja\n" " .\n" " " - #: plugin.py:142 msgid "The spell checking command is not configured. If one is installed, reconfigure supybot.plugins.Unix.spell.command appropriately." msgstr "Oikeinkirjoituksen tarkistusohjelma ei ole säädetty. Jos sellainen on asennttu, säädä supybot.plugins.Unix.spell.command sopivaksi." -#: plugin.py:147 +#: plugin.py:148 msgid " must begin with an alphabet character." msgstr " täytyy alkaa aakkosellisella merkillä." -#: plugin.py:169 +#: plugin.py:170 msgid "No results found." msgstr "Tuloksia ei löytynyt." -#: plugin.py:180 +#: plugin.py:181 msgid "%q may be spelled correctly." msgstr "%q saattaa olla kirjoitettu oikein." -#: plugin.py:182 +#: plugin.py:183 msgid "I could not find an alternate spelling for %q" msgstr "En löytänyt vaihtoehtoista kirjoitustapaa sanalle %q" -#: plugin.py:186 +#: plugin.py:187 msgid "Possible spellings for %q: %L." msgstr "Mahdolliset kirjoitustavat sanalle %q ovat: %L." -#: plugin.py:195 +#: plugin.py:190 +msgid "Something unexpected was seen in the [ai]spell output." +msgstr "Jotakin odottamatonta nähtiin [ai]spellin ulostulossa." + +#: plugin.py:196 msgid "" "takes no arguments\n" "\n" " Returns a fortune from the *nix fortune program.\n" " " -msgstr "ei ota parametrejä\n" +msgstr "" +"ei ota parametrejä\n" "\n" " Palauttaa ennustuksen *nix ennustusohjelmalta.\n" " " -#: plugin.py:215 +#: plugin.py:217 msgid "It seems the configured fortune command was not available." msgstr "Näyttää siltä, että määritetty ennustusohjelma ei ollut saatavilla." -#: plugin.py:224 +#: plugin.py:226 msgid "The fortune command is not configured. If fortune is installed on this system, reconfigure the supybot.plugins.Unix.fortune.command configuration variable appropriately." msgstr "Ennustuskomento ei ole määritetty. Jos fortune on asennettu tähän järjestelmään, määritä uudelleen asetusarvo supybot.plugins.Unix.fortune.command oikein." -#: plugin.py:231 +#: plugin.py:233 msgid "" "[is] \n" "\n" @@ -217,22 +243,23 @@ msgid "" " appeared in NetBSD 1.5. In most *nices, it's available in some sort\n" " of 'bsdgames' package.\n" " " -msgstr "[is] \n" +msgstr "" +"[is] \n" "\n" " Palauttaa mikä ihme on. 'wtf' on *nix komento, joka ilmestyi ensin\n" " NetBSD 1.5 käyttöjärjestelmässä. Suurimmassa osassa *nixeistä, se on saatavilla jonkinlaisessa\n" " 'bsdgames' paketissa.\n" " " -#: plugin.py:246 +#: plugin.py:248 msgid "It seems the configured wtf command was not available." msgstr "Vaikuttaa siltä, ettei määritetty wtf komento ollut saatavilla." -#: plugin.py:255 +#: plugin.py:257 msgid "The wtf command is not configured. If it is installed on this system, reconfigure the supybot.plugins.Unix.wtf.command configuration variable appropriately." msgstr "Wtf komento ei ole määritetty. Jos se on asennettu tähän järjestelmään, määritä supybot.plugins.Unix.wtf.command asetusarvo oikein." -#: plugin.py:263 +#: plugin.py:265 msgid "" "[--c ] [--i ] [--t ] [--W ] \n" " Sends an ICMP echo request to the specified host.\n" @@ -240,14 +267,15 @@ msgid "" " limited to 10 packets or less (default is 5). --i is limited to 5\n" " or less. --W is limited to 10 or less.\n" " " -msgstr "[--c ] [--i ] [--t ] [--W ] \n" +msgstr "" +"[--c ] [--i ] [--t ] [--W ] \n" " Lähettää ICMP kaiutuspyynnön määritettyyn isäntään.\n" " Parametrin täsmäävät niihin, jotka on määritetty ohjekirjasivulla ping(8). --c on\n" " rajoitettu kymmeneen tai vähempään (oletus on 5). --i on rajoitettu viiteen\n" " tai vähempään. --W on rajoitettu kymmeneen tai vähempään.\n" " " -#: plugin.py:315 +#: plugin.py:317 msgid "" " \n" " Calls any command available on the system, and returns its output.\n" @@ -257,7 +285,8 @@ msgid "" " you don't run anything that will spamify your channel or that \n" " will bring your machine to its knees. \n" " " -msgstr " \n" +msgstr "" +" \n" " Kutsuu minkä tahansa komennon, joka on saatavilla järjestelmässä, ja palauttaa sen ulostulon.\n" " Vaatii owner valtuuden.\n" " Huomaa, että, koska tämä komento on rajoitettu omistajalle, se ei tee\n" @@ -265,3 +294,4 @@ msgstr " \n" " laittaa koneesi\n" " polvilleen. \n" " " + diff --git a/plugins/Unix/locale/it.po b/plugins/Unix/locale/it.po index 75d6402ae..0c7a61c92 100644 --- a/plugins/Unix/locale/it.po +++ b/plugins/Unix/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-10 14:21+0200\n" +"PO-Revision-Date: 2012-01-02 20:09+0100\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -75,7 +75,14 @@ msgid "" " what command will be called for the spell command." msgstr "Determina quale comando verrà richiamato tramite \"spell\"." -#: config.py:87 +#: config.py:85 +msgid "" +"Determines what aspell dictionary will be used\n" +" for spell checking." +msgstr "" +"Determina quale dizionario di aspell verrà utilizzato per il controllo ortografico." + +#: config.py:90 msgid "" "Determines what\n" " command will be called for the wtf command." @@ -171,27 +178,31 @@ msgstr "" msgid "The spell checking command is not configured. If one is installed, reconfigure supybot.plugins.Unix.spell.command appropriately." msgstr "Il comando di correzione ortografica non è configurato. Se ve n'è uno installato, configurare la variabile supybot.plugins.Unix.spell.command in modo appropriato." -#: plugin.py:147 +#: plugin.py:148 msgid " must begin with an alphabet character." msgstr " deve iniziare con un carattere dell'alfabeto." -#: plugin.py:169 +#: plugin.py:170 msgid "No results found." msgstr "Nessun risultato trovato." -#: plugin.py:180 +#: plugin.py:181 msgid "%q may be spelled correctly." msgstr "%q sembra scritto correttamente." -#: plugin.py:182 +#: plugin.py:183 msgid "I could not find an alternate spelling for %q" msgstr "Impossibile trovare un'ortografia alternativa per %q" -#: plugin.py:186 +#: plugin.py:187 msgid "Possible spellings for %q: %L." msgstr "Ortografia possibile per %q: %L." -#: plugin.py:195 +#: plugin.py:190 +msgid "Something unexpected was seen in the [ai]spell output." +msgstr "È stato trovato qualcosa di inaspettato nell'output di [ai]spell." + +#: plugin.py:196 #, docstring msgid "" "takes no arguments\n" @@ -204,15 +215,15 @@ msgstr "" " Restituisce un biscottino della fortuna dal programma *nix fortune.\n" " " -#: plugin.py:215 +#: plugin.py:217 msgid "It seems the configured fortune command was not available." msgstr "Sembra che il comando fortune configurato non sia disponibile." -#: plugin.py:224 +#: plugin.py:226 msgid "The fortune command is not configured. If fortune is installed on this system, reconfigure the supybot.plugins.Unix.fortune.command configuration variable appropriately." msgstr "Il comando fortune non è configurato. Se ve n'è uno installato, configurare la variabile supybot.plugins.Unix.fortune.command in modo appropriato." -#: plugin.py:231 +#: plugin.py:233 #, docstring msgid "" "[is] \n" @@ -228,15 +239,15 @@ msgstr "" " in NetBSD 1.5. Nella maggior parte delle macchine *nix è disponibile nel pacchetto \"bsdgames\".\n" " " -#: plugin.py:246 +#: plugin.py:248 msgid "It seems the configured wtf command was not available." msgstr "Sembra che il comando wtf configurato non sia disponibile." -#: plugin.py:255 +#: plugin.py:257 msgid "The wtf command is not configured. If it is installed on this system, reconfigure the supybot.plugins.Unix.wtf.command configuration variable appropriately." msgstr "Il comando wtf non è configurato. Se ve n'è uno installato, configurare la variabile supybot.plugins.Unix.wtf.command in modo appropriato." -#: plugin.py:263 +#: plugin.py:265 #, docstring msgid "" "[--c ] [--i ] [--t ] [--W ] \n" @@ -252,7 +263,7 @@ msgstr "" " pacchetti (il default è 5). --i è limitato a 5. --W è limitato a 10.\n" " " -#: plugin.py:315 +#: plugin.py:317 #, docstring msgid "" " \n" diff --git a/plugins/Unix/messages.pot b/plugins/Unix/messages.pot index ca4264c92..87c8e89b6 100644 --- a/plugins/Unix/messages.pot +++ b/plugins/Unix/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-08-10 11:27+CEST\n" +"POT-Creation-Date: 2011-12-22 22:28+CET\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -68,7 +68,13 @@ msgid "" " what command will be called for the spell command." msgstr "" -#: config.py:87 +#: config.py:85 +msgid "" +"Determines what aspell dictionary will be used\n" +" for spell checking." +msgstr "" + +#: config.py:90 msgid "" "Determines what\n" " command will be called for the wtf command." @@ -140,27 +146,31 @@ msgstr "" msgid "The spell checking command is not configured. If one is installed, reconfigure supybot.plugins.Unix.spell.command appropriately." msgstr "" -#: plugin.py:147 +#: plugin.py:148 msgid " must begin with an alphabet character." msgstr "" -#: plugin.py:169 +#: plugin.py:170 msgid "No results found." msgstr "" -#: plugin.py:180 +#: plugin.py:181 msgid "%q may be spelled correctly." msgstr "" -#: plugin.py:182 +#: plugin.py:183 msgid "I could not find an alternate spelling for %q" msgstr "" -#: plugin.py:186 +#: plugin.py:187 msgid "Possible spellings for %q: %L." msgstr "" -#: plugin.py:195 +#: plugin.py:190 +msgid "Something unexpected was seen in the [ai]spell output." +msgstr "" + +#: plugin.py:196 #, docstring msgid "" "takes no arguments\n" @@ -169,15 +179,15 @@ msgid "" " " msgstr "" -#: plugin.py:215 +#: plugin.py:217 msgid "It seems the configured fortune command was not available." msgstr "" -#: plugin.py:224 +#: plugin.py:226 msgid "The fortune command is not configured. If fortune is installed on this system, reconfigure the supybot.plugins.Unix.fortune.command configuration variable appropriately." msgstr "" -#: plugin.py:231 +#: plugin.py:233 #, docstring msgid "" "[is] \n" @@ -188,15 +198,15 @@ msgid "" " " msgstr "" -#: plugin.py:246 +#: plugin.py:248 msgid "It seems the configured wtf command was not available." msgstr "" -#: plugin.py:255 +#: plugin.py:257 msgid "The wtf command is not configured. If it is installed on this system, reconfigure the supybot.plugins.Unix.wtf.command configuration variable appropriately." msgstr "" -#: plugin.py:263 +#: plugin.py:265 #, docstring msgid "" "[--c ] [--i ] [--t ] [--W ] \n" @@ -207,7 +217,7 @@ msgid "" " " msgstr "" -#: plugin.py:315 +#: plugin.py:317 #, docstring msgid "" " \n" diff --git a/plugins/Unix/plugin.py b/plugins/Unix/plugin.py index 0f5a8c07c..d8e953b9f 100644 --- a/plugins/Unix/plugin.py +++ b/plugins/Unix/plugin.py @@ -143,11 +143,12 @@ class Unix(callbacks.Plugin): 'is installed, reconfigure ' 'supybot.plugins.Unix.spell.command appropriately.'), Raise=True) + spellLang = self.registryValue('spell.language') or 'en' if word and not word[0].isalpha(): irc.error(_(' must begin with an alphabet character.')) return try: - inst = subprocess.Popen([spellCmd, '-a'], close_fds=True, + inst = subprocess.Popen([spellCmd, '-l', spellLang, '-a'], close_fds=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) @@ -186,7 +187,7 @@ class Unix(callbacks.Plugin): resp = format(_('Possible spellings for %q: %L.'), word, matches.split(', ')) else: - resp = 'Something unexpected was seen in the [ai]spell output.' + resp = _('Something unexpected was seen in the [ai]spell output.') irc.reply(resp) spell = thread(wrap(spell, ['something'])) diff --git a/plugins/User/locale/fi.po b/plugins/User/locale/fi.po new file mode 100644 index 000000000..a8752a512 --- /dev/null +++ b/plugins/User/locale/fi.po @@ -0,0 +1,383 @@ +# User plugin in Limnoria. +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-12-23 13:11+CET\n" +"PO-Revision-Date: 2012-01-06 13:05+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:49 +msgid "" +"[--capability=] []\n" +"\n" +" Returns the valid registered usernames matching . If is\n" +" not given, returns all registered usernames.\n" +" " +msgstr "" +"[--capability=] []\n" +"\n" +" Palauttaa kelvolliset rekisteröidyt käyttäjätunnukset, jotka täsmäävät . Jos ei\n" +" ole annettu, palauttaa kaikki rekisteröidyt käyttäjätunnukset.\n" +" " + +#: plugin.py:80 +msgid "There are no matching registered users." +msgstr "Täsmääviä rekisteröityjä käyttäjiä ei ole." + +#: plugin.py:82 +msgid "There are no registered users." +msgstr "Rekisteröityneitä käyttäjiä ei ole." + +#: plugin.py:88 +msgid "" +" \n" +"\n" +" Registers with the given password and the current\n" +" hostmask of the person registering. You shouldn't register twice; if\n" +" you're not recognized as a user but you've already registered, use the\n" +" hostmask add command to add another hostmask to your already-registered\n" +" user, or use the identify command to identify just for a session.\n" +" This command (and all other commands that include a password) must be\n" +" sent to the bot privately, not in a channel.\n" +" " +msgstr "" +" \n" +"\n" +" Rekisteröi annetulla ja rekisteröityvän henkilön nykyisellä hostmaskilla.\n" +" Sinun ei pitäisi rekisteröityä kahdesti; jos\n" +" sinua ei tunnisteta käyttäjäksi, käytä komentoa\n" +" 'hostmask add' lisätäksesi hostmaskin valmiiksi rekisteröidylle\n" +" käyttäjällesi, tai käytä komentoa 'identify' tunnistautuaksesi vain istunnon ajaksi.\n" +" Tämä komento (ja kaikki muut komennot, jotka sisältävät salasanan) täytyy lähettää\n" +" botille yksityisesti, ei kanavalla.\n" +" " + +#: plugin.py:101 +msgid "That name is already assigned to someone." +msgstr "Tuo nimi on jo liitetty johonkuhun." + +#: plugin.py:106 +msgid "username" +msgstr "käyttäjänimi" + +#: plugin.py:107 +msgid "Hostmasks are not valid usernames." +msgstr "Hostmaskit eivät ole kelvollisia käyttäjänimiä" + +#: plugin.py:114 +msgid "Your hostmask is already registered to %s" +msgstr "Sinun hostmaskisi on jo rekisteröity käyttäjälle %s." + +#: plugin.py:130 +msgid "" +" []\n" +"\n" +" Unregisters from the user database. If the user giving this\n" +" command is an owner user, the password is not necessary.\n" +" " +msgstr "" +" []\n" +"\n" +" Poistaa käyttäjätietokannasta. Mikäli käyttäjä, joka antaa tämän komennon omaa 'owner' valtuuden,\n" +" salasana ei ole vaadittu.\n" +" " + +#: plugin.py:145 +msgid "This command has been disabled. You'll have to ask the owner of this bot to unregister your user." +msgstr "Tämä komento on poistettu käytöstä. Sinun täytyy pyytää tämän botin omistajaa poistaaksesi käyttäjätunnuksesi." + +#: plugin.py:158 +msgid "" +" []\n" +"\n" +" Changes your current user database name to the new name given.\n" +" is only necessary if the user isn't recognized by hostmask.\n" +" This message must be sent to the bot privately (not on a channel) since\n" +" it may contain a password.\n" +" " +msgstr "" +" []\n" +"\n" +" Vaihtaa nykyisen nimesi käyttäjätietokannassa annetuksi .\n" +" on vaadittu vain, jos käyttäjä ei ole tunnistettu hostmaskilla.\n" +" Tämä viesti täytyy lähettää botille yksityisesti (ei kanavalla), koska \n" +" se saattaa sisältää salasanan.\n" +" " + +#: plugin.py:167 +msgid "%q is already registered." +msgstr "%q on jo rekisteröitynyt." + +#: plugin.py:181 +msgid "" +"[] \n" +"\n" +" Sets the new password for the user specified by to . Obviously this message must be sent to the bot\n" +" privately (not in a channel). If the requesting user is an owner\n" +" user (and the user whose password is being changed isn't that same\n" +" owner user), then needn't be correct.\n" +" " +msgstr "" +"[] \n" +"\n" +" Asettaa määrittämän käyttäjätunnuksen salasanan . Ilmiselvästi tämä viesti täytyy lähettää botille yksityisesti\n" +" (ei kanavalla). Jos pyytävä käyttäjä omaa valtuuden 'owner'\n" +" (ja käyttäjä, jonka salasanaa vaihdetaan ei ole sama \n" +" 'owner' valtuuden omaava käyttäjä), silloin ei tarvitse olla oikein.\n" +" " + +#: plugin.py:209 +msgid "" +" []\n" +"\n" +" Sets the secure flag on the user of the person sending the message.\n" +" Requires that the person's hostmask be in the list of hostmasks for\n" +" that user in addition to the password being correct. When the\n" +" secure flag is set, the user *must* identify before he or she can be\n" +" recognized. If a specific True/False value is not given, it\n" +" inverts the current value.\n" +" " +msgstr "" +" []\n" +"\n" +" Asettaa 'secure' lipun käyttäjään, joka lähettää viestin.\n" +" Vaatii, että henkilön hostmask on hostmaskien listassa oikean salasanan.\n" +" lisäksi.\n" +" Kun 'secure' lippu on asetettu, käyttäjän *täytyy* tunnistautua, ennen kuin hänet voidaan tunnistaa.\n" +" Jos True/False arvoa ei ole annettu, \n" +" nykyinen arvo käännetään.\n" +" " + +#: plugin.py:224 +msgid "Secure flag set to %s" +msgstr "'Secure' lippu on asetettu arvoon %s" + +#: plugin.py:232 +msgid "" +"\n" +"\n" +" Returns the username of the user specified by or if\n" +" the user is registered.\n" +" " +msgstr "" +"\n" +"\n" +" Palauttaa käyttäjätunnuksen, jonka määrittää tai , mikäli\n" +" käyttäjä on rekisteröitynyt.\n" +" " + +#: plugin.py:241 +msgid "I haven't seen %s." +msgstr "En ole nähnyt käyttäjää %s." + +#: plugin.py:246 +msgid "I don't know who that is." +msgstr "En tiedä kuka tuo on." + +#: plugin.py:252 +msgid "" +"[]\n" +"\n" +" Returns the hostmask of . If isn't given, return the\n" +" hostmask of the person giving the command.\n" +" " +msgstr "" +"[]\n" +"\n" +" Palauttaa hostmaskin. Jos ei ole annettu, palauttaa\n" +" komennon antavan nimimerkin hostmaskin\n" +" " + +#: plugin.py:264 +msgid "" +"[]\n" +"\n" +" Returns the hostmasks of the user specified by ; if \n" +" isn't specified, returns the hostmasks of the user calling the\n" +" command.\n" +" " +msgstr "" +"[]\n" +"\n" +" Palauttaa käyttäjän, jonka määrittää , hostmaskit; jos \n" +" ei ole määritetty, palauttaa käyttäjän, joka antaa komennon\n" +" hostmaskit.\n" +" " + +#: plugin.py:276 +msgid "%s has no registered hostmasks." +msgstr "%s ei ole rekisteröinyt hostmaskeja." + +#: plugin.py:283 +msgid "You may only retrieve your own hostmasks." +msgstr "Voit saada vain omat hostmaskisi." + +#: plugin.py:299 +msgid "" +"[] [] []\n" +"\n" +" Adds the hostmask to the user specified by . The\n" +" may only be required if the user is not recognized by\n" +" hostmask. is also not required if an owner user is\n" +" giving the command on behalf of some other user. If is\n" +" not given, it defaults to your current hostmask. If is not\n" +" given, it defaults to your currently identified name. This message\n" +" must be sent to the bot privately (not on a channel) since it may\n" +" contain a password.\n" +" " +msgstr "" +"[] [] []\n" +"\n" +" Lisää , käyttäjälle jonka määrittää . \n" +" on vaadittu vain, jos käyttäjää ei tunnisteta\n" +" hostmaskilla. ei myöskään ole vaadittu, mikäli omistaja\n" +" käyttäjä tekee komennon toiselle käyttäjälle. Jos ei\n" +" ole annettu, se on oletuksena nykyinen hostmaskisi. Jos ei ole\n" +" annettu, se on oletuksena nykyinen tunnistettu käyttäjänimesi. Tämä komento\n" +" täytyy lähettää botille yksityisesti (ei kanavalla), koska se saattaa\n" +" sisältää salasanan.\n" +" " + +#: plugin.py:313 +msgid "hostmask" +msgstr "hostmask" + +#: plugin.py:314 +msgid "Make sure your hostmask includes a nick, then an exclamation point (!), then a user, then an at symbol (@), then a host. Feel free to use wildcards (* and ?, which work just like they do on the command line) in any of these parts." +msgstr "Varmista, että hostmaskisi sisältää nimimerkin, sitten eroitus kohdan, p(!), sitten käyttäjän, sitten ät symboolin (@), sitten isännän. Käytä jokerimerkkejä vapaasti (* ja ?, jotka toimivat samalla tavalla, kuin komentorivillä) missä tahansa näistä osista." + +#: plugin.py:324 +#: plugin.py:347 +msgid "That hostmask is already registered." +msgstr "Tuo hostmaski on jo rekisteröity." + +#: plugin.py:355 +msgid "" +" []\n" +"\n" +" Removes the hostmask from the record of the user\n" +" specified by . If the hostmask given is 'all' then all\n" +" hostmasks will be removed. The may only be required if\n" +" the user is not recognized by his hostmask. This message must be\n" +" sent to the bot privately (not on a channel) since it may contain a\n" +" password.\n" +" " +msgstr "" +" []\n" +"\n" +" Poistaa käyttäjältä, jonka määrittää\n" +" . Jos annettu hostmask on 'all' (kaikki) niin, kaikki\n" +" hostmaskit poistetaan. on vaadittu\n" +" vain, jos käyttäjää ei tunnisteta hostmaskin perusteella. Tämä viesti täytyy\n" +" lähettää botille yksisyisesti (ei kanavalla), koska se voi sisältää\n" +" salasanan.\n" +" " + +#: plugin.py:374 +msgid "All hostmasks removed." +msgstr "Kaikki hostmaskit poistettu." + +#: plugin.py:378 +msgid "There was no such hostmask." +msgstr "Tuollaista hostmaskia ei ollut." + +#: plugin.py:387 +msgid "" +"[]\n" +"\n" +" Returns the capabilities of the user specified by ; if \n" +" isn't specified, returns the capabilities of the user calling the\n" +" command.\n" +" " +msgstr "" +"[]\n" +"\n" +" Palauttaa käyttäjän, jonka määrittää valtuudet; jos \n" +" ei ole määritetty, palauttaa käyttäjän, joka kutsuu komennonn valtuudet.\n" +" " + +#: plugin.py:407 +msgid "" +" \n" +"\n" +" Identifies the user as . This command (and all other\n" +" commands that include a password) must be sent to the bot privately,\n" +" not in a channel.\n" +" " +msgstr "" +" \n" +"\n" +" Tunnistaa käyttäjän . Tämä komento (ja kaikki muut komennot, \n" +" jotka sisältävät salasanan) täytyy lähettää botille yksityisesti, \n" +" ei kanavalla.\n" +" " + +#: plugin.py:419 +msgid "Your secure flag is true and your hostmask doesn't match any of your known hostmasks." +msgstr "Sinun 'secure' lippusi on 'true' ja sinun hostmaskisi ei täsmää yhteenkään sinun tunnettuun hostmaskiisi." + +#: plugin.py:429 +msgid "" +"takes no arguments\n" +"\n" +" Un-identifies you. Note that this may not result in the desired\n" +" effect of causing the bot not to recognize you anymore, since you may\n" +" have added hostmasks to your user that can cause the bot to continue to\n" +" recognize you.\n" +" " +msgstr "" +"ei ota parametrejä\n" +"\n" +" Kirjaa sinut ulos. Huomaa, ettei tällä välltämättä ole haluttua\n" +" vaikutusta, että botti lopettaa sinun tuntemisen, koska olet saattanut\n" +" lisätä hostmaskin käyttäjälle. Tämä voi aihettaa sen, että botti\n" +" tunnistaa sinut yhä.\n" +" " + +#: plugin.py:438 +msgid "If you remain recognized after giving this command, you're being recognized by hostmask, rather than by password. You must remove whatever hostmask is causing you to be recognized in order not to be recognized." +msgstr "Jos pysyt tunnistettuna tämän komennon antamisen jälkeen, sinut tunnistetaan hostmaskin, eikä salasanan perusteella. Sinun täytyy poistaa mikä tahansa hostmaski, joka aiheuttaa sinun tunnistamisesi, tullaksesi tunnistamattomaksi." + +#: plugin.py:447 +msgid "" +"takes no arguments\n" +"\n" +" Returns the name of the user calling the command.\n" +" " +msgstr "" +"ei ota parametrejä\n" +"\n" +" Palauttaa komennon antaneen käyttäjän tunnuksen.\n" +" " + +#: plugin.py:455 +msgid "I don't recognize you." +msgstr "Minä en tunnista sinua." + +#: plugin.py:460 +msgid "" +"takes no arguments\n" +"\n" +" Returns some statistics on the user database.\n" +" " +msgstr "" +"ei ota parametrejä\n" +"\n" +" Palauttaa joitakin tilastotietoja käyttäjä tietokannasta.\n" +" " + +#: plugin.py:478 +msgid "I have %s registered users with %s registered hostmasks; %n and %n." +msgstr "Minulla on %s rekisteröityä käyttäjää %s rekisteröidyllä hostmaskilla; %n ja %n." + diff --git a/plugins/User/locale/hu.po b/plugins/User/locale/hu.po new file mode 100644 index 000000000..46a44a7e3 --- /dev/null +++ b/plugins/User/locale/hu.po @@ -0,0 +1,105 @@ +# Limnoria User plugin +# Copyright (C) 2011 Limnoria +# nyuszika7h , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: Limnoria User\n" +"POT-Creation-Date: 2011-12-21 18:24+EET\n" +"PO-Revision-Date: 2011-12-22 15:17+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:80 +msgid "There are no matching registered users." +msgstr "Nincsenek egyező regisztrált felhasználók." + +#: plugin.py:82 +msgid "There are no registered users." +msgstr "Nincsenek regisztrált felhasználók." + +#: plugin.py:101 +msgid "That name is already assigned to someone." +msgstr "Az a név már hozzá van rendelve valakihez." + +#: plugin.py:106 +msgid "username" +msgstr "felhasználónév" + +#: plugin.py:107 +msgid "Hostmasks are not valid usernames." +msgstr "A hosztmaszkok nem érvényes felhasználónevek." + +#: plugin.py:114 +msgid "Your hostmask is already registered to %s" +msgstr "A hosztmaszkod már regisztrálva van %s-hoz." + +#: plugin.py:145 +msgid "This command has been disabled. You'll have to ask the owner of this bot to unregister your user." +msgstr "Ez a parancs le lett tiltva. Meg kell kérned a bot tulajdonosát, hogy törölje a regisztrációdat." + +#: plugin.py:167 +msgid "%q is already registered." +msgstr "%q már regisztrálva van." + +#: plugin.py:224 +msgid "Secure flag set to %s" +msgstr "A secure jelző be lett állítva %s-ra" + +#: plugin.py:241 +msgid "I haven't seen %s." +msgstr "Nem láttam %s-t." + +#: plugin.py:246 +msgid "I don't know who that is." +msgstr "Nem tudom, ki az." + +#: plugin.py:276 +msgid "%s has no registered hostmasks." +msgstr "%s-nak nincsenek regisztrált hosztmaszkjai." + +#: plugin.py:283 +msgid "You may only retrieve your own hostmasks." +msgstr "Csak a saját hosztmaszkjaidat szerezheted meg." + +#: plugin.py:313 +msgid "hostmask" +msgstr "hosztmaszk" + +#: plugin.py:314 +msgid "Make sure your hostmask includes a nick, then an exclamation point (!), then a user, then an at symbol (@), then a host. Feel free to use wildcards (* and ?, which work just like they do on the command line) in any of these parts." +msgstr "Győződj meg róla, hogy a hosztmaszkod tartalmaz egy nevet, aztán egy felkiáltójelet (!), aztán egy felhasználót, aztán egy kukac jelet (@), aztán egy hosztot. Nyugodtan használj helyettesítő karaktereket (* és ?, amelyek úgy működnek, mint a parancssorban) ezeknek a részeknek bármelyikében." + +#: plugin.py:324 plugin.py:347 +msgid "That hostmask is already registered." +msgstr "Ez a hosztmaszk már regisztrálva van." + +#: plugin.py:374 +msgid "All hostmasks removed." +msgstr "Minden hosztmaszk eltávolítva." + +#: plugin.py:378 +msgid "There was no such hostmask." +msgstr "Nem volt ilyen hosztmaszk." + +#: plugin.py:419 +msgid "Your secure flag is true and your hostmask doesn't match any of your known hostmasks." +msgstr "A secure jelződ igaz és a hosztmaszkod nem egyezik egy ismert hosztmaszkoddal sem." + +#: plugin.py:438 +msgid "If you remain recognized after giving this command, you're being recognized by hostmask, rather than by password. You must remove whatever hostmask is causing you to be recognized in order not to be recognized." +msgstr "Ha felismerve maradsz e parancs kiadása után, hosztmaszk alapján vagy felismerve, jelszó helyett. El kell távolítanod akármilyen hosztmaszkot, amely a fekusmerésedet okozza, hogy ne legyél felismerve." + +#: plugin.py:455 +msgid "I don't recognize you." +msgstr "Nem ismerlek fel." + +#: plugin.py:478 +msgid "I have %s registered users with %s registered hostmasks; %n and %n." +msgstr "%s regisztrált felhasználóm van %s regisztrált hosztmaszkkal; %n és %n." + diff --git a/plugins/User/locale/it.po b/plugins/User/locale/it.po index 69b7b6859..c75d600d6 100644 --- a/plugins/User/locale/it.po +++ b/plugins/User/locale/it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Supybot-fr\n" "POT-Creation-Date: 2011-02-26 09:49+CET\n" -"PO-Revision-Date: 2011-07-19 19:07+0200\n" +"PO-Revision-Date: 2012-01-02 20:43+0100\n" "Last-Translator: skizzhg \n" "Language-Team: Italian \n" "Language: it\n" @@ -144,7 +144,7 @@ msgid "" " Sets the secure flag on the user of the person sending the message.\n" " Requires that the person's hostmask be in the list of hostmasks for\n" " that user in addition to the password being correct. When the\n" -" secure flag is set, the user *must* identify before he can be\n" +" secure flag is set, the user *must* identify before he or she can be\n" " recognized. If a specific True/False value is not given, it\n" " inverts the current value.\n" " " diff --git a/plugins/User/messages.pot b/plugins/User/messages.pot index 1fafd28e1..19075798c 100644 --- a/plugins/User/messages.pot +++ b/plugins/User/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-12-23 13:11+CET\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -115,7 +115,7 @@ msgid "" " Sets the secure flag on the user of the person sending the message.\n" " Requires that the person's hostmask be in the list of hostmasks for\n" " that user in addition to the password being correct. When the\n" -" secure flag is set, the user *must* identify before he can be\n" +" secure flag is set, the user *must* identify before he or she can be\n" " recognized. If a specific True/False value is not given, it\n" " inverts the current value.\n" " " diff --git a/plugins/User/plugin.py b/plugins/User/plugin.py index fb37dd0ff..e71ae2094 100644 --- a/plugins/User/plugin.py +++ b/plugins/User/plugin.py @@ -211,7 +211,7 @@ class User(callbacks.Plugin): Sets the secure flag on the user of the person sending the message. Requires that the person's hostmask be in the list of hostmasks for that user in addition to the password being correct. When the - secure flag is set, the user *must* identify before he can be + secure flag is set, the user *must* identify before he or she can be recognized. If a specific True/False value is not given, it inverts the current value. """ diff --git a/plugins/Utilities/locale/fi.po b/plugins/Utilities/locale/fi.po new file mode 100644 index 000000000..b8cb7b257 --- /dev/null +++ b/plugins/Utilities/locale/fi.po @@ -0,0 +1,124 @@ +# Utilities 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-12-21 20: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" + +#: plugin.py:45 +msgid "" +"requires no arguments\n" +"\n" +" Does nothing. Useful sometimes for sequencing commands when you don't\n" +" care about their non-error return values.\n" +" " +msgstr "ei ota parametrejä\n" +"\n" +" Ei tee mitään. Hyödyllinen komentojen suorittamiseen ketjussa, kun et\n" +" välitä niiden ei-virhe arvoista.\n" +" " + +#: plugin.py:59 +msgid "" +"[]\n" +"\n" +" Does nothing except to reply with a success message. This is useful\n" +" when you want to run multiple commands as nested commands, and don't\n" +" care about their output as long as they're successful. An error, of\n" +" course, will break out of this command. , if given, will be\n" +" appended to the end of the success message.\n" +" " +msgstr "[]\n" +"\n" +" Ei tee mitään muuta, kuin vastaa onnistumisviestillä. Tämä on hyödyllinen, kun\n" +" haluat suorittaa monta komentoa sisäkkäisinä komentoina, ja et\n" +" välitä niiden ulostuloista niin kauan, kuin ne ovat onnistuneita. Virheilmoitus, tietenkin, \n" +" murtaa tämän komennon. , lisätään, jos se on annettu, \n" +" onnistumisviestin perään.\n" +" " + +#: plugin.py:72 +msgid "" +" [ ...]\n" +"\n" +" Returns the last argument given. Useful when you'd like multiple\n" +" nested commands to run, but only the output of the last one to be\n" +" returned.\n" +" " +msgstr " [ ...]\n" +"\n" +" Palauttaa viimeisen annetun parametrin. Hyödyllinen, kun haluat monen sisäkkäisen komennon tulevan suoritetuksi, mutta\n" +" vastaanottaa vain niistä viimeisen\n" +" ulostulon.\n" +" " + +#: plugin.py:86 +msgid "" +"\n" +"\n" +" Returns the arguments given it. Uses our standard substitute on the\n" +" string(s) given to it; $nick (or $who), $randomNick, $randomInt,\n" +" $botnick, $channel, $user, $host, $today, $now, and $randomDate are all\n" +" handled appropriately.\n" +" " +msgstr "\n" +"\n" +" Palauttaa parametrit, joita sille on annettu. Käyttää perusmuunnoksia \n" +" merkkiketju(issa), jotka on annettu sille; $nick (tai $who), $randomNick, $randomInt,\n" +" $botnick, $channel, $user, $host, $today, $now, and $randomDate hoidetaan kaikki\n" +" oikealla tavalla.\n" +" " + +#: plugin.py:99 +msgid "" +" [ ...]\n" +"\n" +" Shuffles the arguments given.\n" +" " +msgstr " [ ...]\n" +"\n" +" Sekoittaa annetut parametrit keskenään.\n" +" " + +#: plugin.py:109 +msgid "" +" [ ...]\n" +"\n" +" Randomly chooses items out of the arguments given.\n" +" " +msgstr " [ ...]\n" +"\n" +" Sattumanvaraisesti valitsee verran parametrejä annetuista parametreistä.\n" +" " + +#: plugin.py:122 +msgid "" +" [ ...]\n" +"\n" +" Counts the arguments given.\n" +" " +msgstr " [ ...]\n" +"\n" +" Laskee annetut parametrit.\n" +" " + +#: plugin.py:131 +msgid "" +" \n" +"\n" +" Tokenizes and calls with the resulting arguments.\n" +" " +msgstr " \n" +"\n" +" Tokenizoi ja kutsuu tuloksena olevilla parametreillä.\n" +" " + diff --git a/plugins/Web/locale/fi.po b/plugins/Web/locale/fi.po new file mode 100644 index 000000000..37ebb155c --- /dev/null +++ b/plugins/Web/locale/fi.po @@ -0,0 +1,186 @@ +# Web plugin in Limnoria. +# Copyright (C) 2011 Limnoria +# Mika Suomalainen , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2011-10-26 11:23+CEST\n" +"PO-Revision-Date: 2011-12-22 14:21+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 output the\n" +" HTML title of URLs it sees in the channel." +msgstr "Määrittää tulostaako botti\n" +" kanavalle näkimiensä URL-osoitteiden HTML otsikot." + +#: config.py:53 +msgid "" +"Determines what URLs are to be snarfed and\n" +" stored in the database in the channel; URLs matching the regexp given will\n" +" not be snarfed. Give the empty string if you have no URLs that you'd like\n" +" to exclude from being snarfed." +msgstr "Määrittää mitkä URL-osoitteet kaapataan ja tallennetaan kanavan tietokantaan; \n" +" URL-osoitteet, jotka täsmäävät annettuun säännölliseen lausekkeeseen\n" +" eivät tule kaapatuiksi. Anna tyhjä merkkiketju, jos et halua jättää \n" +" mitään kaappaamatta." + +#: config.py:60 +msgid "" +"Determines the maximum number of\n" +" bytes the bot will download via the 'fetch' command in this plugin." +msgstr "Määrittää enimmäismäärän bittejä, jotka botti lataa \n" +" käyttämällä 'fetch' komentoa tässä lisäosassa." + +#: plugin.py:71 +msgid "Add the help for \"@help Web\" here." +msgstr "Lisää ohje komennolle \"@help Web\" tähän." + +#: plugin.py:107 +msgid "Title: %s (at %s)" +msgstr "Otsikko: %s (sivustolla %s)" + +#: plugin.py:114 +msgid "" +"\n" +"\n" +" Returns the HTTP headers of . Only HTTP urls are valid, of\n" +" course.\n" +" " +msgstr "\n" +"\n" +" Palauttaa -osoitteen HTTP otsikot. Tietysti, vain\n" +" HTTP URL-osoitteet ovat kelvollisia.\n" +" " + +#: plugin.py:121 +msgid "%s: %s" +msgstr "%s: %s" + +#: plugin.py:131 +msgid "" +"\n" +"\n" +" Returns the DOCTYPE string of . Only HTTP urls are valid, of\n" +" course.\n" +" " +msgstr "\n" +"\n" +" Palauttaa -osoitteen DOCTYPE merkkiketjun. Tietysti, \n" +" vain HTTP URL-osoitteet ovat kelvollisia.\n" +" " + +#: plugin.py:143 +msgid "That URL has no specified doctype." +msgstr "Tuo URL-osoite ei ole määrittänyt doctypeä." + +#: plugin.py:148 +msgid "" +"\n" +"\n" +" Returns the Content-Length header of . Only HTTP urls are valid,\n" +" of course.\n" +" " +msgstr "\n" +"\n" +" Palauttaa -osoitteen sisällön pituus otsikon. Tietysti, \n" +" vain HTTP URL-osoitteet ovat kelvollisia.\n" +" " + +#: plugin.py:157 +#: plugin.py:162 +msgid "%u is %S long." +msgstr "%u on %S pitkä." + +#: plugin.py:164 +msgid "The server didn't tell me how long %u is but it's longer than %S." +msgstr "Palvelin ei kertonut minulle, kuinka pitkä %u on, mutta se on pidempi kuin %S." + +#: plugin.py:173 +msgid "" +"\n" +"\n" +" Returns the HTML ... of a URL.\n" +" " +msgstr "\n" +"\n" +" Palauttaa tiedon ... URL-soitteesta.\n" +" " + +#: plugin.py:188 +msgid "That URL appears to have no HTML title." +msgstr "Tuolla URL-osoitteella ei vaikuta olevan HTTP otsikkoa." + +#: plugin.py:190 +msgid "That URL appears to have no HTML title within the first %S." +msgstr "Tuolla URL-osoitteella ei vaikuta olevan HTML otsikkoa ensinmäisissä %S." + +#: plugin.py:198 +msgid "" +"\n" +"\n" +" Returns Netcraft.com's determination of what operating system and\n" +" webserver is running on the host given.\n" +" " +msgstr "\n" +"\n" +" Palauttaa Netcraft.comin määritelmän mitä käyttöjärjestelmää ja\n" +" verkkopalvelinta annettu isäntä käyttää.\n" +" " + +#: plugin.py:212 +msgid "No results found for %s." +msgstr "Tuloksia ei löytynyt kohteelle %s." + +#: plugin.py:214 +msgid "The format of page the was odd." +msgstr "Sivun muoto oli omituinen." + +#: plugin.py:219 +msgid "" +"\n" +"\n" +" Returns the URL quoted form of the text.\n" +" " +msgstr "\n" +"\n" +" Palauttaa URL lainatun muodon tekstistä.\n" +" " + +#: plugin.py:228 +msgid "" +"\n" +"\n" +" Returns the text un-URL quoted.\n" +" " +msgstr "\n" +"\n" +" Palauttaa tekstin URL lainaamattomassa muodossa.\n" +" " + +#: plugin.py:238 +msgid "" +"\n" +"\n" +" Returns the contents of , or as much as is configured in\n" +" supybot.plugins.Web.fetch.maximum. If that configuration variable is\n" +" set to 0, this command will be effectively disabled.\n" +" " +msgstr "\n" +"\n" +" Palauttaa sisällön, tai niin paljon kuin on määritetty asetuksessa \n" +" supybot.plugins.Web.fetch.maximum. Jos tuo asetusarvo on asetettu arvoon 0, \n" +" tämä komento poistetaan käytöstä.\n" +" " + +#: plugin.py:246 +msgid "This command is disabled (supybot.plugins.Web.fetch.maximum is set to 0)." +msgstr "Tämä komento on poistettu käytöstä (supybot.plugins.Web.fetch.maximum on asetettu arvoon 0)." + diff --git a/sandbox/update-version b/sandbox/update-version index 1eda83afe..18878ec85 100755 --- a/sandbox/update-version +++ b/sandbox/update-version @@ -1,4 +1,6 @@ -#!/bin/bash -echo "Updating version..." -perl -pi -e "s/^version\s*=\s*['\"]([\S]+)[ '\"].*/version = '\1 ($( date -Iseconds ))'/" src/version.py -git add src/version.py +#!/usr/bin/env bash +echo -n "Updating version... " +perl -pi -e "s/^version\s*=\s*['\"]([\S]+)[ '\"].*/version = '\1 ($( date -u -Iseconds ))'/" src/version.py +git add src/version.py && echo "done" + +# vim: set ft=sh: diff --git a/scripts/supybot b/scripts/supybot index f5aa8829c..595a600da 100644 --- a/scripts/supybot +++ b/scripts/supybot @@ -301,7 +301,7 @@ if __name__ == '__main__': log.error('Could not remove pid file: %s', e) atexit.register(removePidFile) except EnvironmentError, e: - log.fatal('Error opening/writing pid file %s: %s', pidFile, e) + log.critical('Error opening/writing pid file %s: %s', pidFile, e) sys.exit(-1) conf.allowDefaultOwner = options.allowDefaultOwner diff --git a/src/conf.py b/src/conf.py index 326134097..f631de351 100644 --- a/src/conf.py +++ b/src/conf.py @@ -439,7 +439,7 @@ registerGlobalValue(supybot, 'followIdentificationThroughNickChanges', will cause the bot to track such changes. It defaults to False for a little greater security."""))) -registerGlobalValue(supybot, 'alwaysJoinOnInvite', +registerChannelValue(supybot, 'alwaysJoinOnInvite', registry.Boolean(False, _("""Determines whether the bot will always join a channel when it's invited. If this value is False, the bot will only join a channel if the user inviting it has the 'admin' capability (or if it's @@ -988,6 +988,9 @@ class Banmask(registry.SpaceSeparatedSetOfStrings): bhost = host elif option == 'exact': return hostmask + if (bnick, buser, bhost) == ('*', '*', '*') and \ + ircutils.isUserHostmask(hostmask): + return hostmask return ircutils.joinHostmask(bnick, buser, bhost) registerChannelValue(supybot.protocols.irc, 'banmask', diff --git a/src/irclib.py b/src/irclib.py index 82ada6441..190194f1d 100644 --- a/src/irclib.py +++ b/src/irclib.py @@ -764,7 +764,7 @@ class Irc(IrcCommandDispatcher): # On second thought, we need this for testing. if world.testing: self.state.addMsg(self, msg) - log.debug('Outgoing message: %s', str(msg).rstrip('\r\n')) + log.debug('Outgoing message (%s): %s', self.network, str(msg).rstrip('\r\n')) return msg elif self.zombie: # We kill the driver here so it doesn't continue to try to diff --git a/src/version.py b/src/version.py index 5324bae5d..d7710fbea 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-12-06T17:42:04+0100)' +version = '0.83.4.1+limnoria (2012-01-06T17:03:59+0000)'