Merge branch 'master' into debian

Conflicts:
	.gitignore
	src/version.py
This commit is contained in:
Valentin Lorentz 2012-06-23 17:44:06 +02:00
commit 3ae2ce9483
273 changed files with 15462 additions and 2654 deletions

3
.gitignore vendored
View File

@ -13,3 +13,6 @@ docs/plugins
debian/limnoria*
debian/python-module-stampdir/
dist/
push.sh
merge.sh
src/version.py

83
INSTALL
View File

@ -1,83 +0,0 @@
Common
First things first: Supybot *requires* at least Python 2.4. There
ain't no getting around it. You can get it from http://www.python.org/.
Recommended Software
PySQLite -- Version 1.x
Twisted -- Version 1.2.0 or greater
For more information and help on how to use Supybot, checkout
the documents under docs/ (especially GETTING_STARTED and
CONFIGURATION).
So what do you do? That depends on which operating system you're
running. We've split this document up to address the different
methods, so find the section for your operating system and continue
from there.
UNIX/Linux/BSD
If you're installing Python using your distributor's packages, you may
need a python-dev package installed, too. If you don't have a
'/usr/lib/python2.x/distutils' directory or
'/usr/lib/python2.x/config/Makefile' (assuming '/usr/lib/python2.x' is
where your Python libs are installed), then you will need a python-dev
package.
After you extract Supybot and cd into the supybot directory just
created, you'll want to run (as root) 'python setup.py install'. This
will install Supybot globally. If you need to install locally for
whatever reason, see the notes at the end of this section. You'll then
have several new programs installed where Python scripts are normally
installed on your system ('/usr/bin' or '/usr/local/bin' are common on
UNIX systems). The two that might be of particular interest to you, the
new user, are 'supybot' and 'supybot-wizard'. The former, 'supybot', is
the script to run an actual bot; the latter, 'supybot-wizard', is an
in-depth wizard that provides a nice user interface for creating a
registry file for your bot.
Local Install
You can install Supybot in a local directory by using the '--prefix'
option when running 'setup.py'. E.g., 'python setup.py install
--prefix=$HOME' to install into your home directory. You'll now have
a $HOME/bin directory containing Supybot programs ('supybot',
'supybot-wizard', etc.) and a $HOME/lib directory containing the
Supybot libraries. It is also recommended that you setup a proper
PYTHONPATH environment variable in your shell's init file.
bash -- 'export PYTHONPATH=$HOME/lib/python2.x/site-packages'
(t)csh -- 'setenv PYTHONPATH $HOME/lib/python2.x/site-packages'
Windows
**Note**: If you are using an IPV6 connection, you will not be able
to run Supybot under Windows (unless Python has fixed things). Current
versions of Python for Windows are *not* built with IPV6 support. This
isn't expected to be fixed until Python 2.4, at the earliest.
Now that you have Python installed, open up a command prompt. The
easiest way to do this is to open the run dialog (Programs -> run) and
type "cmd" (for Windows 2000/XP/2003) or "command" (for Windows 9x). In
order to reduce the amount of typing you need to do, I suggest adding
Python's directory to your path. If you installed Python using the
default settings, you would then do the following in the command prompt
(otherwise change the path to match your settings)::
set PATH=C:\Python2x\;%PATH%
You should now be able to type 'python' to start the Python
interpreter. Exit by pressing CTRL-Z and then Return. Now that that's
setup, you'll want to cd into the directory that was created when you
unzipped Supybot; I'll assume you unzipped it to 'C:\Supybot' for these
instructions. From 'C:\Supybot', run 'python setup.py install'. This
will install Supybot under 'C:\Python2x\'. You will now have several new
programs installed in 'C:\Python2x\Scripts\'. The two that might be of
particular interest to you, the new user, are 'supybot' and 'supybot-wizard'.
The former, 'supybot', is the script to run an actual bot; the latter,
'supybot-wizard', is an in-depth wizard that provides a nice user interface for
creating a registry file for your bot.

132
INSTALL.md Normal file
View File

@ -0,0 +1,132 @@
# Common
First things first: Supybot *requires* at least Python 2.6. There
isn't any way to get around it. You can get it from [Python homepage].
[Python homepage]:http://python.org/
# Recommended Software
[PySQLite] -- Version 2.x
[Twisted] -- Version 1.2.0 or greater
[PySQLite]:https://code.google.com/p/pysqlite/
[Twisted]:http://twistedmatrix.com/trac/
For more information and help on how to use Supybot, checkout
the documents under [docs/], especially [GETTING_STARTED] and
[CONFIGURATION] .
[docs/]:docs/index.rst
[GETTING_STARTED]:docs/GETTING_STARTED
[CONFIGURATION]:docs/CONFIGURATION
So what do you do? That depends on which operating system you're
running. We've split this document up to address the different
methods, so find the section for your operating system and continue
from there.
# UNIX/Linux/BSD
If you're installing Python using your distributor's packages, you may
need a python-dev package installed, too. If you don't have a
'/usr/lib/python2.x/distutils' directory or
'/usr/lib/python2.x/config/Makefile' (assuming '/usr/lib/python2.x' is
where your Python libs are installed), then you will need a python-dev
package.
First start by git cloning Limnoria and moving to the cloned repository.
```
git clone git://github.com/ProgVal/Limnoria.git
cd Limnoria
```
The rest depends on do you have root access and do you want to perform global or local install.
## Global install
Run
```
python setup.py install
```
Now you have several new programs installed where Python scripts are normally
installed on your system ('/usr/bin' or '/usr/local/bin' are common on
UNIX systems). The two that might be of particular interest to you, the
new user, are 'supybot' and 'supybot-wizard'. The former, 'supybot', is
the script to run an actual bot; the latter, 'supybot-wizard', is an
in-depth wizard that provides a nice user interface for creating a
registry file for your bot.
## Local install
Run
```
python setup.py install --user
```
and you will have new programs installed in ~/.local/bin. The two that might be of particular interest to you, the
new user, are 'supybot' and 'supybot-wizard'. The former, 'supybot', is
the script to run an actual bot; the latter, 'supybot-wizard', is an
in-depth wizard that provides a nice user interface for creating a
registry file for your bot.
By default you must run the bot with full path to the binary unless you specify $PATH.
Run and add the following command to your shellrc, which is usually ~/.bashrc or ~/.zshrc , so you can run the programs without needing to write full paths to the binaries.
```
PATH=$HOME/.local:$PATH
```
# Upgrading
To upgrade, return to the cloned Limnoria repository and run:
```
git pull
```
and then install Limnoria normally. "python setup.py install" doesn't affect config files of the bot any way.
If you don't have the cloned Limnoria repository, clone it again using the installation instructions.
# Windows
**Note**: If you are using an IPV6 connection, you will not be able
to run Supybot under Windows (unless Python has fixed things). Current
versions of Python for Windows are *not* built with IPV6 support. This
isn't expected to be fixed until Python 2.4, at the earliest.
Now that you have Python installed, open up a command prompt. The
easiest way to do this is to open the run dialog (Programs -> run) and
type "cmd" (for Windows 2000/XP/2003) or "command" (for Windows 9x). In
order to reduce the amount of typing you need to do, I suggest adding
Python's directory to your path. If you installed Python using the
default settings, you would then do the following in the command prompt
(otherwise change the path to match your settings)::
```
set PATH=C:\Python2x\;%PATH%
```
You should now be able to type 'python' to start the Python
interpreter. Exit by pressing CTRL-Z and then Return. Now that that's
setup, you'll want to cd into the directory that was created when you
unzipped Supybot; I'll assume you unzipped it to 'C:\Supybot' for these
instructions. From 'C:\Supybot', run
```
python setup.py install
```
This will install Supybot under 'C:\Python2x\'. You will now have several new
programs installed in 'C:\Python2x\Scripts\'. The two that might be of
particular interest to you, the new user, are 'supybot' and 'supybot-wizard'.
The former, 'supybot', is the script to run an actual bot; the latter,
'supybot-wizard', is an in-depth wizard that provides a nice user interface for
creating a registry file for your bot.

View File

29
README
View File

@ -1,29 +0,0 @@
EVERYONE:
---------
Read LICENSE. It's a 3-clause BSD license, but you should read it
anyway.
USERS:
------
If you're upgrading, read RELNOTES. There is also much documentation
at http://supybot.com/ for your perusal. Please read it; we took the
time to write it, you should take the time to read it.
If you have any trouble, feel free to swing by #supybot on
irc.freenode.net or irc.oftc.net (we have a Supybot there relaying,
so either network works) and ask questions. We'll be happy to help
wherever we can. And by all means, if you find anything hard to
understand or think you know of a better way to do something,
*please* post it on Sourceforge.net so we can improve the bot!
WINDOWS USERS:
--------------
The wizards (supybot-wizard, supybot-newplugin, and
supybot-adduser) are all installed to your Python directory's
\Scripts. What that *probably* means is that you'll run them like
this: C:\Python2x\python C:\Python2x\Scripts\supybot-wizard
DEVELOPERS:
-----------
We likewise have tons of developer documentation at
http://supybot.com/ for your learning adventures. Have fun :)

40
README.md Normal file
View File

@ -0,0 +1,40 @@
# EVERYONE:
Read [LICENSE]. It's a 3-clause BSD license, but you should read it
anyway.
[LICENSE]:LICENSE.md
# USERS:
There is much documentation
at [supybot.fr.cr] and at [Gribble wiki] for your perusal. Please read it; we took the
time to write it, you should take the time to read it.
[supybot.fr.cr]:http://supybot.fr.cr/doc
[Gribble wiki]:https://sourceforge.net/apps/mediawiki/gribble/index.php?title=Main_Page
If you have any trouble, feel free to swing by [#supybot and #limnoria](irc://irc.freenode.net/#supybot,#limnoria) on
[irc.freenode.net](irc://irc.freenode.net) or [#supybot](irc://irc.oftc.net/#supybot) at [irc.oftc.net](irc://irc.oftc.net) (we have a Limnoria there relaying,
so either network works) and ask questions. We'll be happy to help
wherever we can. And by all means, if you find anything hard to
understand or think you know of a better way to do something,
*please* post it on [issue tracker] so we can improve the bot!
[issue tracker]:https://github.com/ProgVal/Limnoria/issues
# WINDOWS USERS:
The wizards (supybot-wizard, supybot-newplugin, and
supybot-adduser) are all installed to your Python directory's
\Scripts. What that *probably* means is that you'll run them like
this:
```
C:\Python2x\python C:\Python2x\Scripts\supybot-wizard
```
# DEVELOPERS:
We likewise have tons of developer documentation at
[supybot.fr.cr] for your learning adventures. Have fun :)

1135
locale/de.po Normal file

File diff suppressed because it is too large Load Diff

1779
locale/fi.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

213
plugins/Admin/locale/de.po Normal file
View File

@ -0,0 +1,213 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot\n"
"POT-Creation-Date: 2011-10-30 19:20+CET\n"
"PO-Revision-Date: 2011-10-31 13:37+0100\n"
"Last-Translator: Florian Besser <fbesser@gmail.com>\n"
"Language-Team: German <fbesser@gmail.com>\n"
"Language: de\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"
"X-Poedit-Language: German\n"
"X-Poedit-Country: Germany\n"
#: plugin.py:54
msgid "Nick/channel temporarily unavailable."
msgstr "Nick/Kanal temporär nicht verfügbar."
#: plugin.py:72
msgid "Cannot join %s, it's full."
msgstr "Kann %s nicht beitreten, der Kanal ist voll."
#: plugin.py:80
msgid "Cannot join %s, I was not invited."
msgstr "Kann %s nicht beitreten, ich wurde nicht eingeladen."
#: plugin.py:88
msgid "Cannot join %s, it's banned me."
msgstr "Ich kann %s nicht betreten, ich bin gebannt."
#: plugin.py:96
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 NickServ."
msgstr "Ich kann %s nicht betreten, ich bin nicht mit NickServ identifiziert."
#: plugin.py:134
msgid ""
"<channel> [<key>]\n"
"\n"
" Tell the bot to join the given channel. If <key> is given, it is used\n"
" when attempting to join the channel.\n"
" "
msgstr ""
"<Kanal> [<Schlüssel>]\n"
"\n"
"Sagt dem Bot dem angegeben Kanal beizutreten. Falls <Schlüssel> angegeben wird, wird dieser benutzt um zu versuchen den Kanal zu betreten."
#: plugin.py:147
msgid "I'm already too close to maximum number of channels for this network."
msgstr "Ich bin schon zu nah an den maximalen Kanälen für dieses Netzwerk."
#: plugin.py:156
msgid ""
"takes no arguments\n"
"\n"
" Returns the channels the bot is on. Must be given in private, in order\n"
" to protect the secrecy of secret channels.\n"
" "
msgstr ""
"hat keine Argumenten\n"
"\n"
"Gibt die Kanäle aus in denen der Bot sich befindet. Dieser Befehl muss privat gegeben werden, um das Geheimnis der geheimen Kanale zu wahren."
#: plugin.py:166
msgid "I'm not currently in any channels."
msgstr "Momentan bin ich in keinen Kanälen."
#: plugin.py:172
msgid "My connection is restricted, I can't change nicks."
msgstr "Meine Verbindung ist begrenzt, I kann meinen Nick nicht wechseln."
#: plugin.py:179
msgid "Someone else is already using that nick."
msgstr "Jemand anderes benutzt diesen Nick schon."
#: plugin.py:186
msgid "That nick is currently banned."
msgstr "Dieser Nick ist momentan gebannt."
#: plugin.py:193
msgid "I can't change nicks, the server said %q."
msgstr "Ich kann meinen Nick nicht ändern, der Server sagte %q."
#: plugin.py:207
msgid ""
"[<nick>]\n"
"\n"
" Changes the bot's nick to <nick>. If no nick is given, returns the\n"
" bot's current nick.\n"
" "
msgstr ""
"[<Nick>]\n"
"\n"
"Ändert den Nick des Bots zu <Nick>. Falls <Nick> nicht angegeben wird, wird der momentane Botnick zurückgegeben."
#: plugin.py:222
msgid ""
"[<channel>] [<reason>]\n"
"\n"
" Tells the bot to part the list of channels you give it. <channel> is\n"
" only necessary if you want the bot to part a channel other than the\n"
" current channel. If <reason> is specified, use it as the part\n"
" message.\n"
" "
msgstr ""
"[<Kanal>] [<Grund>]\n"
"\n"
"Sagt dem Bot die Liste von angebenen Kanälen zu verlassen. <Kanal> ist nur notwendig, falls der Bot einen anderen Kanal als den Momentanen verlassen soll. Falls <Grund> angegeben wird, wird dies als Verlassensnachricht verwendet."
#: plugin.py:240
msgid "I'm not in %s."
msgstr "Ich bin nicht in %s."
#: plugin.py:252
msgid ""
"<name|hostmask> <capability>\n"
"\n"
" Gives the user specified by <name> (or the user to whom <hostmask>\n"
" currently maps) the specified capability <capability>\n"
" "
msgstr ""
"<Name|Hostmaske> <Fähigkeit>\n"
"\n"
"Gibt dem angebenen Benutzer <Name> (oder dem auf den die <Hostmaske> zutrifft) die angegebene Fähigkeit."
#: plugin.py:272
msgid "The \"owner\" capability can't be added in the bot. Use the supybot-adduser program (or edit the users.conf file yourself) to add an owner capability."
msgstr "Die \"owner\" Fähigkeit kann nicht über den Bot hinzugefügt werden. Benutze das supybot-adduser Programm (oder verändere users.conf per Hand) um die Besitzer Fähigkeit hinzuzufügen."
#: plugin.py:283
msgid "You can't add capabilities you don't have."
msgstr "Du kannst keine Fähigkeiten hinzufügen, die du nicht hast."
#: plugin.py:288
msgid ""
"<name|hostmask> <capability>\n"
"\n"
" Takes from the user specified by <name> (or the user to whom\n"
" <hostmask> currently maps) the specified capability <capability>\n"
" "
msgstr ""
"<Name|Hostmaske> <Fähigkeit>\n"
"\n"
"Nimmt dem Benutzer der durch <Name> (oder dem Benutzer auf den momentan <Hostmaske> zeigt) angeben wird die angegeben Fähigkeit <Fähigkeit>."
#: plugin.py:300
msgid "That user doesn't have that capability."
msgstr "Der Benutzer hat diese Fähigkeit nicht."
#: plugin.py:302
msgid "You can't remove capabilities you don't have."
msgstr "Du kannst keine Fähigkeiten entfernen, die du nicht hast."
#: plugin.py:310
msgid ""
"<hostmask|nick> [<expires>]\n"
"\n"
" This will set a persistent ignore on <hostmask> or the hostmask\n"
" currently associated with <nick>. <expires> is an optional argument\n"
" specifying when (in \"seconds from now\") the ignore will expire; if\n"
" it isn't given, the ignore will never automatically expire.\n"
" "
msgstr ""
"<Hostmaske|Nick> [<Ablaufzeitpunkt>]\n"
"\n"
"Es wird eine beständige Ignorierung auf <Hostmaske> oder auf die Hostmaske die momentan mit <Nick> verbunden wird gesetzt. <Ablaufzeitpunkt> ist optional, das legt fest wann die Ignorierung abläuft;falls dies nicht angegeben wird, wird die Ignorierung niemals ablaufen."
#: plugin.py:323
msgid ""
"<hostmask|nick>\n"
"\n"
" This will remove the persistent ignore on <hostmask> or the\n"
" hostmask currently associated with <nick>.\n"
" "
msgstr ""
"<Hostmaske|Nick>\n"
"\n"
"Wird die beständige Ignorierung, von <Hostmaske> oder der Hostmaske die momentan mit dem <Nick> verbunden wird, aufheben."
#: plugin.py:332
msgid "%s wasn't in the ignores database."
msgstr "%s war nicht in der Datenbank für Ignorierungen."
#: plugin.py:337
msgid ""
"takes no arguments\n"
"\n"
" Lists the hostmasks that the bot is ignoring.\n"
" "
msgstr ""
"hat keine Argumente\n"
"\n"
"Listet die Hostmasken auf, die der Bot ignoriert."
#: plugin.py:345
msgid "I'm not currently globally ignoring anyone."
msgstr "Momentan ignoriere ich niemanden global."
#: plugin.py:351
msgid ""
"takes no arguments\n"
"\n"
" Clears the current send queue for this network.\n"
" "
msgstr ""
"hat keine Argumente\n"
"\n"
"Leert die momentane Sendenwarteschlange für dieses Netzwerk."

View File

@ -5,12 +5,13 @@
msgid ""
msgstr ""
"Project-Id-Version: Finnish translation of Admin plugin in Supybot\n"
"POT-Creation-Date: 2010-10-16 10:43+CEST\n"
"PO-Revision-Date: 2011-08-13 23:31+0200\n"
"POT-Creation-Date: 2011-10-30 19:20+CET\n"
"PO-Revision-Date: 2011-10-31 16:25+0200\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
"X-Poedit-Language: Finnish\n"
@ -37,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
@ -184,10 +185,10 @@ msgid ""
msgstr ""
"<hostmask|nimimerkki> [<vanhentuu>]\n"
"\n"
" Tämä asettaa pysyvän ignoren <hostmaskiin> tai hostmaskiin,\n"
" Tämä asettaa pysyvän huomiotta jättämisen <hostmaskiin> tai hostmaskiin,\n"
" joka on tällä hetkellä yhdistetty <nimimerkkiin>. <Vanhentuminen> 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
@ -200,13 +201,13 @@ msgid ""
msgstr ""
"<hostmask|nimimerkki>\n"
"\n"
" Tämä poistaa pysyvän ignoren <hostmaskista> tai\n"
" Tämä poistaa pysyvän huomiotta jättämisen <hostmaskista> tai\n"
" hostmaskista joka on tällä hetkellä yhdistetty <nimimerkkiin>.\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 ""
@ -217,10 +218,22 @@ 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 ""
"takes no arguments\n"
"\n"
" Clears the current send queue for this network.\n"
" "
msgstr ""
"ei ota parametrejä\n"
"\n"
" Tyhjentää nykyisen lähetysjonon tälle verkolle.\n"
" "

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2010-10-16 10:43+CEST\n"
"POT-Creation-Date: 2011-10-30 19:20+CET\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: ProgVal <progval@gmail.com>\n"
@ -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
@ -200,3 +200,14 @@ msgstr ""
msgid "I'm not currently globally ignoring anyone."
msgstr "Je n'ignore actuellement personne globalement."
#: plugin.py:351
msgid ""
"takes no arguments\n"
"\n"
" Clears the current send queue for this network.\n"
" "
msgstr ""
"Ne prend pas d'argument\n"
"\n"
"Vide la queue en attente pour ce réseau."

View File

@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-08-09 23:57+0200\n"
"PO-Revision-Date: 2012-03-15 20:25+0100\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"
"Language-Team: Italian <skizzhg@gmx.com>\n"
"Language: it\n"
@ -32,11 +32,11 @@ msgstr "Non posso entrare in %s, sono stato bannato."
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."
#: plugin.py:104 plugin.py:113
msgid "Cannot join %s, I'm not identified with NickServ."
msgstr "Non posso entrare in %s, non sono identificato con NickServ."
#: plugin.py:134
#: plugin.py:143
#, docstring
msgid ""
"<channel> [<key>]\n"
@ -51,11 +51,11 @@ msgstr ""
" viene usata quando si tenta di entrare nel canale.\n"
" "
#: plugin.py:147
#: plugin.py:156
msgid "I'm already too close to maximum number of channels for this network."
msgstr "Sono già troppo vicino al numero massimo di canali per questa rete."
#: plugin.py:156
#: plugin.py:165
#, docstring
msgid ""
"takes no arguments\n"
@ -70,27 +70,27 @@ msgstr ""
" privato per preservare la segretezza dei canali privati.\n"
" "
#: plugin.py:166
#: plugin.py:175
msgid "I'm not currently in any channels."
msgstr "Al momento non sono in nessun canale."
#: plugin.py:172
#: plugin.py:181
msgid "My connection is restricted, I can't change nicks."
msgstr "La mia connessione è limitata, non posso cambiare nick."
#: plugin.py:179
#: plugin.py:188
msgid "Someone else is already using that nick."
msgstr "Qualcun altro sta utilizzando questo nick."
#: plugin.py:186
#: plugin.py:195
msgid "That nick is currently banned."
msgstr "Il nick è attualmente bannato."
#: plugin.py:193
#: plugin.py:202
msgid "I can't change nicks, the server said %q."
msgstr "Non posso cambiare nick, il server ha detto %q."
#: plugin.py:207
#: plugin.py:216
#, docstring
msgid ""
"[<nick>]\n"
@ -105,7 +105,7 @@ msgstr ""
" quello attuale.\n"
" "
#: plugin.py:222
#: plugin.py:231
#, docstring
msgid ""
"[<channel>] [<reason>]\n"
@ -123,11 +123,11 @@ msgstr ""
" Se <motivo> viene specificato, verrà usato come messaggio di uscita.\n"
" "
#: plugin.py:240
#: plugin.py:249
msgid "I'm not in %s."
msgstr "Non sono in %s."
#: plugin.py:252
#: plugin.py:261
#, docstring
msgid ""
"<name|hostmask> <capability>\n"
@ -142,15 +142,15 @@ msgstr ""
" <hostmask> attualmente) la <capacità> specificata.\n"
" "
#: plugin.py:272
#: plugin.py:281
msgid "The \"owner\" capability can't be added in the bot. Use the supybot-adduser program (or edit the users.conf file yourself) to add an owner capability."
msgstr "La capacità \"owner\" non può essere aggiunta al bot. Utilizzare il programma supybot-adduser (o modificare il file users.conf) per aggiungerla."
#: plugin.py:283
#: plugin.py:292
msgid "You can't add capabilities you don't have."
msgstr "Non puoi aggiungere capacità che non hai."
#: plugin.py:288
#: plugin.py:297
#, docstring
msgid ""
"<name|hostmask> <capability>\n"
@ -165,15 +165,15 @@ msgstr ""
" <hostmask> attualmente) la <capacità> specificata\n"
" "
#: plugin.py:300
#: plugin.py:309
msgid "That user doesn't have that capability."
msgstr "Questo utente non ha tale capacità."
#: plugin.py:302
#: plugin.py:311
msgid "You can't remove capabilities you don't have."
msgstr "Non puoi rimuovere capacità che non hai."
#: plugin.py:310
#: plugin.py:319
#, docstring
msgid ""
"<hostmask|nick> [<expires>]\n"
@ -192,7 +192,7 @@ msgstr ""
" questo non scadrà mai.\n"
" "
#: plugin.py:323
#: plugin.py:332
#, docstring
msgid ""
"<hostmask|nick>\n"
@ -206,11 +206,11 @@ msgstr ""
" Rimuove l'ignore persistente su <hostmask> o l'attuale hostmask associata a <nick>.\n"
" "
#: plugin.py:332
#: plugin.py:341
msgid "%s wasn't in the ignores database."
msgstr "%s non è nel mio database degli ignorati."
#: plugin.py:337
#: plugin.py:346
#, docstring
msgid ""
"takes no arguments\n"
@ -223,7 +223,20 @@ msgstr ""
" Elenca le hostmask che il bot sta ignorando.\n"
" "
#: plugin.py:345
#: plugin.py:354
msgid "I'm not currently globally ignoring anyone."
msgstr "Al momento non sto ignorando nessuno."
#: plugin.py:360
#, docstring
msgid ""
"takes no arguments\n"
"\n"
" Clears the current send queue for this network.\n"
" "
msgstr ""
"non necessita argomenti\n"
"\n"
" Pulisce l'attuale coda dei messaggi da inviare (interrompe il flood) per questa rete.\n"
" "

View File

@ -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: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -36,11 +36,11 @@ msgstr ""
msgid "Cannot join %s, my keyword was wrong."
msgstr ""
#: plugin.py:104
msgid "Cannot join %s, I'm not identified with the NickServ."
#: plugin.py:104 plugin.py:113
msgid "Cannot join %s, I'm not identified with NickServ."
msgstr ""
#: plugin.py:134
#: plugin.py:143
#, docstring
msgid ""
"<channel> [<key>]\n"
@ -50,11 +50,11 @@ msgid ""
" "
msgstr ""
#: plugin.py:147
#: plugin.py:156
msgid "I'm already too close to maximum number of channels for this network."
msgstr ""
#: plugin.py:156
#: plugin.py:165
#, docstring
msgid ""
"takes no arguments\n"
@ -64,27 +64,27 @@ msgid ""
" "
msgstr ""
#: plugin.py:166
#: plugin.py:175
msgid "I'm not currently in any channels."
msgstr ""
#: plugin.py:172
#: plugin.py:181
msgid "My connection is restricted, I can't change nicks."
msgstr ""
#: plugin.py:179
#: plugin.py:188
msgid "Someone else is already using that nick."
msgstr ""
#: plugin.py:186
#: plugin.py:195
msgid "That nick is currently banned."
msgstr ""
#: plugin.py:193
#: plugin.py:202
msgid "I can't change nicks, the server said %q."
msgstr ""
#: plugin.py:207
#: plugin.py:216
#, docstring
msgid ""
"[<nick>]\n"
@ -94,7 +94,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:222
#: plugin.py:231
#, docstring
msgid ""
"[<channel>] [<reason>]\n"
@ -106,11 +106,11 @@ msgid ""
" "
msgstr ""
#: plugin.py:240
#: plugin.py:249
msgid "I'm not in %s."
msgstr ""
#: plugin.py:252
#: plugin.py:261
#, docstring
msgid ""
"<name|hostmask> <capability>\n"
@ -120,15 +120,15 @@ msgid ""
" "
msgstr ""
#: plugin.py:272
#: plugin.py:281
msgid "The \"owner\" capability can't be added in the bot. Use the supybot-adduser program (or edit the users.conf file yourself) to add an owner capability."
msgstr ""
#: plugin.py:283
#: plugin.py:292
msgid "You can't add capabilities you don't have."
msgstr ""
#: plugin.py:288
#: plugin.py:297
#, docstring
msgid ""
"<name|hostmask> <capability>\n"
@ -138,15 +138,15 @@ msgid ""
" "
msgstr ""
#: plugin.py:300
#: plugin.py:309
msgid "That user doesn't have that capability."
msgstr ""
#: plugin.py:302
#: plugin.py:311
msgid "You can't remove capabilities you don't have."
msgstr ""
#: plugin.py:310
#: plugin.py:319
#, docstring
msgid ""
"<hostmask|nick> [<expires>]\n"
@ -158,7 +158,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:323
#: plugin.py:332
#, docstring
msgid ""
"<hostmask|nick>\n"
@ -168,11 +168,11 @@ msgid ""
" "
msgstr ""
#: plugin.py:332
#: plugin.py:341
msgid "%s wasn't in the ignores database."
msgstr ""
#: plugin.py:337
#: plugin.py:346
#, docstring
msgid ""
"takes no arguments\n"
@ -181,7 +181,16 @@ msgid ""
" "
msgstr ""
#: plugin.py:345
#: plugin.py:354
msgid "I'm not currently globally ignoring anyone."
msgstr ""
#: plugin.py:360
#, docstring
msgid ""
"takes no arguments\n"
"\n"
" Clears the current send queue for this network.\n"
" "
msgstr ""

View File

@ -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)
@ -346,6 +355,17 @@ class Admin(callbacks.Plugin):
list = wrap(list)
@internationalizeDocstring
def clearq(self, irc, msg, args):
"""takes no arguments
Clears the current send queue for this network.
"""
irc.queue.reset()
irc.replySuccess()
Class = Admin
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:

104
plugins/Alias/locale/de.po Normal file
View File

@ -0,0 +1,104 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot\n"
"POT-Creation-Date: 2012-02-15 23:03+CET\n"
"PO-Revision-Date: 2012-04-27 15:36+0200\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: German <fbesser@gmail.com>\n"
"Language: de\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"
"X-Poedit-Language: German\n"
"X-Poedit-Country: GERMANY\n"
#: plugin.py:45
msgid ""
"Returns the channel the msg came over or the channel given in args.\n"
"\n"
" If the channel was given in args, args is modified (the channel is\n"
" removed).\n"
" "
msgstr ""
"Gibt den Kanal aus über den die Nachricht kam oder der Kanal der in den Argumenten gegeben wurde.\n"
"\n"
"Falls der Kanal in den Argumenten angegeben wurde, werden die Argumente bearbeitet (der Kanal wird entfernt."
#: plugin.py:164
msgid " at least"
msgstr "mindestens"
#: plugin.py:165
msgid ""
"<an alias,%s %n>\n"
"\n"
"Alias for %q."
msgstr ""
"<ein Alias, %s %n>\n"
"\n"
"Alias für %q."
#: plugin.py:166
msgid "argument"
msgstr "Argument"
#: plugin.py:220
msgid ""
"<alias>\n"
"\n"
" Locks an alias so that no one else can change it.\n"
" "
msgstr ""
"<Alias>\n"
"\n"
"Versperrt ein Alias, sodass er nicht verändert werden kann."
#: plugin.py:229
#: plugin.py:243
msgid "There is no such alias."
msgstr "Es gibt keinen Alias mit diesem Namen."
#: plugin.py:234
msgid ""
"<alias>\n"
"\n"
" Unlocks an alias so that people can define new aliases over it.\n"
" "
msgstr ""
"<Alias>\n"
"\n"
"Entsperrt den Alias, sodass andere Personen ihn verändern können."
#: plugin.py:254
msgid "That name isn't valid. Try %q instead."
msgstr "Dieser Name ist nicht zulässig. Probiere anstatt %q."
#: plugin.py:292
#, fuzzy
msgid ""
"<name> <command>\n"
"\n"
" Defines an alias <name> that executes <command>. The <command>\n"
" should be in the standard \"command argument [nestedcommand argument]\"\n"
" arguments to the alias; they'll be filled with the first, second, etc.\n"
" arguments. $1, $2, etc. can be used for required arguments. @1, @2,\n"
" etc. can be used for optional arguments. $* simply means \"all\n"
" remaining arguments,\" and cannot be combined with optional arguments.\n"
" "
msgstr ""
"<Name> <Alias>\n"
"\n"
"Definiert einen Alias <Name> der <Alias> ausführt. <Alias> sollte in der Standardform \"Befehl Argument [verschachtelter Befehl Argument\" angegeben werden."
#: plugin.py:315
msgid ""
"<name>\n"
"\n"
" Removes the given alias, if unlocked.\n"
" "
msgstr ""
"<Name>\n"
"\n"
"Entfernt den gegeben Alias, falls er nicht gesperrt ist."

View File

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot Alias plugin\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: \n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: \n"
@ -83,9 +83,9 @@ msgstr "Tuo nimi ei ole kelvollinen. Yritä sen sijaan %q:ta."
#: plugin.py:292
msgid ""
"<name> <alias>\n"
"<name> <command>\n"
"\n"
" Defines an alias <name> that executes <alias>. The <alias>\n"
" Defines an alias <name> that executes <command>. The <command>\n"
" should be in the standard \"command argument [nestedcommand argument]\"\n"
" arguments to the alias; they'll be filled with the first, second, etc.\n"
" arguments. $1, $2, etc. can be used for required arguments. @1, @2,\n"
@ -95,11 +95,11 @@ msgid ""
msgstr ""
"<nimi> <alias>\n"
"\n"
" Määrittää aliaksen <nimi>, joka suorittaa <aliaksen>. <Aliaksen>\n"
" Määrittää aliaksen <nimi>, joka suorittaa <komennon>. <Aliaksen>\n"
" pitäisi olla tavallinen \"komento parametri [sisäkkäinen komento parametrit]\"\n"
" parametrejä aliakselle; ne täytetään ensinmäinen, toinen, jne.\n"
" Parametrit. $1, $2, jne. ovat vaadittuja parametrejä. @1, @2,\n"
" jne. ovat vapaaehtoisia parametrejä. $* tarkoittaa yksinkertaisesti \"kaikki\n"
" parametrejä aliakselle; ne täytetään ensimmäinen, toinen, jne.\n"
" Parametrit. $1, $2, jne. ovat vaadittava parametrejä. @1, @2,\n"
" jne. ovat valinnaisia parametrejä. $* tarkoittaa yksinkertaisesti \"kaikki\n"
" jäljellä olevat parametrit,\" ja johon ei voida yhdistää vaihtoehtoisia parametrejä.\n"
" "

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
@ -76,9 +76,9 @@ msgstr "Ce nom n'est pas valide. Essayez plutôt %q."
#: plugin.py:292
msgid ""
"<name> <alias>\n"
"<name> <command>\n"
"\n"
" Defines an alias <name> that executes <alias>. The <alias>\n"
" Defines an alias <name> that executes <command>. The <command>\n"
" should be in the standard \"command argument [nestedcommand argument]\"\n"
" arguments to the alias; they'll be filled with the first, second, etc.\n"
" arguments. $1, $2, etc. can be used for required arguments. @1, @2,\n"

107
plugins/Alias/locale/hu.po Normal file
View File

@ -0,0 +1,107 @@
# Limnoria Alias plugin.
# Copyright (C) 2011 Limnoria
# nyuszika7h <litemininyuszika@gmail.com>, 2011.
# Mika Suomalainen <mika.henrik.mainio@hotmail.com>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: Limnoria Alias\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: 2012-04-27 15:12+0200\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: Finnish <>\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"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: plugin.py:45
msgid ""
"Returns the channel the msg came over or the channel given in args.\n"
"\n"
" If the channel was given in args, args is modified (the channel is\n"
" removed).\n"
" "
msgstr ""
"Kiírja a csatorna nevét, ahonnan az üzenet jött, vagy a paraméterként megadott csatornát.\n"
"\n"
"Ha a csatorna meg volt adva paraméterként, a paraméterek módosulnak (a csatorna eltávolításra kerül).\n"
#: plugin.py:164
msgid " at least"
msgstr " legalább"
#: plugin.py:165
msgid ""
"<an alias,%s %n>\n"
"\n"
"Alias for %q."
msgstr ""
"<egy álnév,%s %n\n"
"\n"
"Álnév %q-ra."
#: plugin.py:166
msgid "argument"
msgstr "paraméter"
#: plugin.py:220
msgid ""
"<alias>\n"
"\n"
" Locks an alias so that no one else can change it.\n"
" "
msgstr ""
"<álnév>\n"
"\n"
"Lezár egy álnevet, hogy senki más ne változtathassa meg.\n"
#: plugin.py:229
#: plugin.py:243
msgid "There is no such alias."
msgstr "Nincs ilyen álnév."
#: plugin.py:234
msgid ""
"<alias>\n"
"\n"
" Unlocks an alias so that people can define new aliases over it.\n"
" "
msgstr ""
"<álnév>\n"
"\n"
"Feloldja egy álnév lezárását, hogy az emberek új álnevekkel írhassák felül."
#: plugin.py:254
msgid "That name isn't valid. Try %q instead."
msgstr "Az a név nem érvényes. Próbáld meg %q-t inkább."
#: plugin.py:292
msgid ""
"<name> <command>\n"
"\n"
" Defines an alias <name> that executes <command>. The <command>\n"
" should be in the standard \"command argument [nestedcommand argument]\"\n"
" arguments to the alias; they'll be filled with the first, second, etc.\n"
" arguments. $1, $2, etc. can be used for required arguments. @1, @2,\n"
" etc. can be used for optional arguments. $* simply means \"all\n"
" remaining arguments,\" and cannot be combined with optional arguments.\n"
" "
msgstr ""
"<név> <álnév>\n"
"\n"
"Meghatároz egy <név> nevű álnevet, amely futtatja <álnév> parancsot. Az <álnév>-nek a szabványos \"parancs paraméter [beágyazottparancs paraméter]\" álnév paraméterei formában kell lennie; ezek ki lesznek töltve az első, második stb. paraméterekkel. $1, $2 stb. használható kötelező paraméterekhez. @1, @2 stb. használható választható paraméterekhez. $* azt jelenti, \"az összes hátralévő paraméter,\" és nem kombinálható választható paraméterekkel.\n"
#: plugin.py:315
msgid ""
"<name>\n"
"\n"
" Removes the given alias, if unlocked.\n"
" "
msgstr ""
"<név>\n"
"\n"
"Eltávolítja a megadott álnevet, ha nincs lezárva.\n"

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-07 08:23+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"
@ -81,9 +81,9 @@ msgstr "Nome non valido. Prova %q invece."
#: plugin.py:292
#, docstring
msgid ""
"<name> <alias>\n"
"<name> <command>\n"
"\n"
" Defines an alias <name> that executes <alias>. The <alias>\n"
" Defines an alias <name> that executes <command>. The <command>\n"
" should be in the standard \"command argument [nestedcommand argument]\"\n"
" arguments to the alias; they'll be filled with the first, second, etc.\n"
" arguments. $1, $2, etc. can be used for required arguments. @1, @2,\n"
@ -91,9 +91,9 @@ msgid ""
" remaining arguments,\" and cannot be combined with optional arguments.\n"
" "
msgstr ""
"<nome> <alias>\n"
"<nome> <comando>\n"
"\n"
" Definisce un <nome> che esegue <alias>. <alias> deve essere nello\n"
" Definisce un <nome> che esegue <comando>. <comando> deve essere nello\n"
" standard \"comando argomento [comando_nidificato argomento]\"; gli\n"
" argomenti dati devono essere riportati in sequenza. Per gli argomenti\n"
" richiesti è possibile utilizzare $1, $2, ecc., mentre @1, @2, ecc. per\n"

View File

@ -0,0 +1,91 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2012-02-15 23:03+CET\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: plugin.py:45
#, docstring
msgid ""
"Returns the channel the msg came over or the channel given in args.\n"
"\n"
" If the channel was given in args, args is modified (the channel is\n"
" removed).\n"
" "
msgstr ""
#: plugin.py:164
msgid " at least"
msgstr ""
#: plugin.py:165
msgid ""
"<an alias,%s %n>\n"
"\n"
"Alias for %q."
msgstr ""
#: plugin.py:166
msgid "argument"
msgstr ""
#: plugin.py:220
#, docstring
msgid ""
"<alias>\n"
"\n"
" Locks an alias so that no one else can change it.\n"
" "
msgstr ""
#: plugin.py:229 plugin.py:243
msgid "There is no such alias."
msgstr ""
#: plugin.py:234
#, docstring
msgid ""
"<alias>\n"
"\n"
" Unlocks an alias so that people can define new aliases over it.\n"
" "
msgstr ""
#: plugin.py:254
msgid "That name isn't valid. Try %q instead."
msgstr ""
#: plugin.py:292
#, docstring
msgid ""
"<name> <command>\n"
"\n"
" Defines an alias <name> that executes <command>. The <command>\n"
" should be in the standard \"command argument [nestedcommand argument]\"\n"
" arguments to the alias; they'll be filled with the first, second, etc.\n"
" arguments. $1, $2, etc. can be used for required arguments. @1, @2,\n"
" etc. can be used for optional arguments. $* simply means \"all\n"
" remaining arguments,\" and cannot be combined with optional arguments.\n"
" "
msgstr ""
#: plugin.py:315
#, docstring
msgid ""
"<name>\n"
"\n"
" Removes the given alias, if unlocked.\n"
" "
msgstr ""

View File

@ -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: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -69,9 +69,9 @@ msgstr ""
#: plugin.py:292
#, docstring
msgid ""
"<name> <alias>\n"
"<name> <command>\n"
"\n"
" Defines an alias <name> that executes <alias>. The <alias>\n"
" Defines an alias <name> that executes <command>. The <command>\n"
" should be in the standard \"command argument [nestedcommand argument]\"\n"
" arguments to the alias; they'll be filled with the first, second, etc.\n"
" arguments. $1, $2, etc. can be used for required arguments. @1, @2,\n"

View File

@ -289,9 +289,9 @@ class Alias(callbacks.Plugin):
@internationalizeDocstring
def add(self, irc, msg, args, name, alias):
"""<name> <alias>
"""<name> <command>
Defines an alias <name> that executes <alias>. The <alias>
Defines an alias <name> that executes <command>. The <command>
should be in the standard "command argument [nestedcommand argument]"
arguments to the alias; they'll be filled with the first, second, etc.
arguments. $1, $2, etc. can be used for required arguments. @1, @2,

View File

@ -49,10 +49,10 @@ conf.registerChannelValue(conf.supybot.plugins.Anonymous,
'requirePresenceInChannel', registry.Boolean(True, _("""Determines whether
the bot should require people trying to use this plugin to be in the
channel they wish to anonymously send to.""")))
conf.registerGlobalValue(conf.supybot.plugins.Anonymous, 'requireRegistration',
conf.registerChannelValue(conf.supybot.plugins.Anonymous, 'requireRegistration',
registry.Boolean(True, _("""Determines whether the bot should require
people trying to use this plugin to be registered.""")))
conf.registerGlobalValue(conf.supybot.plugins.Anonymous, 'requireCapability',
conf.registerChannelValue(conf.supybot.plugins.Anonymous, 'requireCapability',
registry.String('', _("""Determines what capability (if any) the bot should
require people trying to use this plugin to have.""")))
conf.registerGlobalValue(conf.supybot.plugins.Anonymous, 'allowPrivateTarget',

View File

@ -0,0 +1,94 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot\n"
"POT-Creation-Date: 2011-06-09 18:26+CEST\n"
"PO-Revision-Date: 2011-10-28 12:55+0100\n"
"Last-Translator: Florian Besser <fbesser@gmail.com>\n"
"Language-Team: German <fbesser@gmail.com>\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"
"X-Poedit-Language: de\n"
#: config.py:49
msgid ""
"Determines whether\n"
" the bot should require people trying to use this plugin to be in the\n"
" channel they wish to anonymously send to."
msgstr "Legt fest ob Leute im Kanal sein müssen, an den anonym senden wollen."
#: config.py:53
msgid ""
"Determines whether the bot should require\n"
" people trying to use this plugin to be registered."
msgstr "Legt fest ob Nutzer registiert sein müssen um dieses Plugin zu benutze."
#: config.py:56
msgid ""
"Determines what capability (if any) the bot should\n"
" require people trying to use this plugin to have."
msgstr "Legt fest welche Fähgikeiten (falls überhaupt) der Bot verlangt von Personen die versuchen dieses Plugin zu benutzen."
#: config.py:59
msgid ""
"Determines whether the bot will require \n"
" targets of the \"say\" command to be public (i.e., channels). If this is\n"
" True, the bot will allow people to use the \"say\" command to send private\n"
" messages to other users."
msgstr "Legt fest ob der Bot verlangt, dass Ziele des Befehls \"say\" öffentlich sind (z.B. Kanäle). Falls das auf True gesetzt ist, wird ber Bot Nutzern erlauben den Befehl \"say\" zu nutzen um anderen Nutzern private Nachrichten zu senden."
#: plugin.py:40
msgid ""
"This plugin allows users to act through the bot anonymously. The 'do'\n"
" command has the bot perform an anonymous action in a given channel, and\n"
" the 'say' command allows other people to speak through the bot. Since\n"
" this can be fairly well abused, you might want to set\n"
" supybot.plugins.Anonymous.requireCapability so only users with that\n"
" capability can use this plugin. For extra security, you can require that\n"
" the user be *in* the channel they are trying to address anonymously with\n"
" supybot.plugins.Anonymous.requirePresenceInChannel, or you can require\n"
" that the user be registered by setting\n"
" supybot.plugins.Anonymous.requireRegistration.\n"
" "
msgstr "Das Plugin erlaubt Nutzern durch den Bot anonym zu bleiben. Der 'do' Befehl lässt den Bot eine anonyme Aktion in einem Kanal ausführen und der 'say' Befehl lässt Nutzer durch den Bot sprechen. Da das Ganze natürlich leicht missbraucht werden kann, willst du vielleicht supybot.plugins.Anonymous.requireCapability setzen, sodass nur Nutzer mit dieser Fähigkeit das Plugin benutzen können. Für etwas mehr Sicherheit kannst du mit supybot.plugins.Anonymous.requirePresenceInChannel verlangen, dass der Nutzer in dem Kanal sein muss in dem er anonym senden will oder du kannst verlangen, dass der Nutzer registriert sein muss indem du supybot.plugins.Anonymous.requireRegistration setzt."
#: plugin.py:64
msgid "You must be in %s to %q in there."
msgstr "Du musst in %s sein um %q dort auszuführen."
#: plugin.py:68
msgid "I'm lobotomized in %s."
msgstr "Ich bin hirnamputiert in %s."
#: plugin.py:71
msgid "That channel has set its capabilities so as to disallow the use of this plugin."
msgstr "Für den Kanal sind die Fähigkeiten so gesetzt, dass sie das benutzen dieses Plugins nicht erlauben."
#: plugin.py:74
msgid "%q cannot be used to send private messages."
msgstr "%q kann nicht verwendet werden um private Nachrichten zu versenden."
#: plugin.py:80
msgid ""
"<channel|nick> <text>\n"
"\n"
" Sends <text> to <channel|nick>. Can only send to <nick> if\n"
" supybot.plugins.Anonymous.allowPrivateTarget is True.\n"
" "
msgstr ""
"<Kanal|Nick> <text>\n"
"\n"
"Sendet <Text> an <Kanal|Nick>. Kann nur an <Nick> senden wenn supybot.plugins.Anonymous.allowPrivateTarget auf True gesetzt ist."
#: plugin.py:94
msgid ""
"<channel> <action>\n"
"\n"
" Performs <action> in <channel>.\n"
" "
msgstr ""
"<Kanal> <Aktion>\n"
"\n"
"Führt die <Aktion> im <Kanal> aus."

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-08-10 00:13+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -49,12 +49,12 @@ class Anonymous(callbacks.Plugin):
supybot.plugins.Anonymous.requireRegistration.
"""
def _preCheck(self, irc, msg, target, action):
if self.registryValue('requireRegistration'):
if self.registryValue('requireRegistration', target):
try:
foo = ircdb.users.getUser(msg.prefix)
except KeyError:
irc.errorNotRegistered(Raise=True)
capability = self.registryValue('requireCapability')
capability = self.registryValue('requireCapability', target)
if capability:
if not ircdb.checkCapability(msg.prefix, capability):
irc.errorNoCapability(capability, Raise=True)

View File

@ -71,6 +71,9 @@ conf.registerChannelValue(AutoMode.ban, 'period',
registry.PositiveInteger(86400, _("""Determines how many seconds the bot
will automatically ban a person when banning.""")))
conf.registerChannelValue(AutoMode, 'delay',
registry.Integer(0, _("""Determines how many seconds the bot will wait
before applying a mode. Has no effect on bans.""")))
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:

View File

@ -0,0 +1,75 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot\n"
"POT-Creation-Date: 2012-04-19 21:37+CEST\n"
"PO-Revision-Date: 2012-04-27 15:38+0200\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: German <fbesser@gmail.com>\n"
"Language: de\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"
"X-Poedit-Language: German\n"
"X-Poedit-Country: GERMANY\n"
#: config.py:46
msgid ""
"Determines whether this plugin is enabled.\n"
" "
msgstr "Legt fest ob das Plugin aktiv ist."
#: config.py:49
msgid ""
"Determines whether this plugin will automode\n"
" owners even if they don't have op/halfop/voice/whatever capability."
msgstr "Legt fest ob das Plugin Besitzern automatisch den Modus zuweist, obwohl sie nicht die op/halfop/voice/wasauchimmer Fähigkeit besitzen."
#: config.py:52
#, fuzzy
msgid ""
"Determines whether the bot will \"fall\n"
" through\" to halfop/voicing when auto-opping is turned off but\n"
" auto-halfopping/voicing are turned on."
msgstr "Legt fest ob der Bot \"zurückfällt\" auf Halboperator/Sprechrechte wenn automatischer Operator abgeschaltet ist, aber automatische Halboperator/Sprecherechte angeschaltet sind."
#: config.py:56
msgid ""
"Determines whether the bot will automatically\n"
" op people with the <channel>,op capability when they join the channel.\n"
" "
msgstr "Legt fest ob der Bot Personen, mit der <Kanal>,op Fähigkeit, automatisch Operatorrechte zuweisen soll, wenn sie den Kanal betreten."
#: config.py:60
msgid ""
"Determines whether the bot will automatically\n"
" halfop people with the <channel>,halfop capability when they join the\n"
" channel."
msgstr "Legt fest ob der Bot Personen, mit der <Kanal>,halfop Fähigkeit, automatisch Halboperatorrechte zuweisen soll, wenn sie den Kanal betreten."
#: config.py:64
msgid ""
"Determines whether the bot will automatically\n"
" voice people with the <channel>,voice capability when they join the\n"
" channel."
msgstr "Legt fest ob der Bot Personen, mit der <Kanal>,voice Fähigkeit, automatisch Sprechrechte zuweisen soll, wenn sie den Kanal betreten."
#: config.py:68
msgid ""
"Determines whether the bot will automatically\n"
" ban people who join the channel and are on the banlist."
msgstr "Legt fest ob der Bot automatisch Personen bannen soll die auf der Banliste stehen."
#: config.py:71
msgid ""
"Determines how many seconds the bot\n"
" will automatically ban a person when banning."
msgstr "Legt fest wieviele Sekunden der Bot Personen automatisch bannt."
#: config.py:75
#, fuzzy
msgid ""
"Determines how many seconds the bot will wait\n"
" before applying a mode. Has no effect on bans."
msgstr "Legt fest wieviele Sekunden der Bot Personen automatisch bannt."

View File

@ -1,36 +1,36 @@
# AutoMode plugin in Limnoria.
# Copyright (C) 2011 Limnoria
# Mika Suomalainen <mika.henrik.mainio@hotmail.com>, 2011.
# Mika Suomalainen <mika.henrik.mainio@hotmail.com>, 2011, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: Supybot AutoMode\n"
"POT-Creation-Date: 2011-06-27 12:02+CEST\n"
"PO-Revision-Date: \n"
"POT-Creation-Date: 2012-04-19 21:37+CEST\n"
"PO-Revision-Date: 2012-04-20 11:34+0300\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: \n"
"Language-Team: Finnish <>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Finnish\n"
"X-Poedit-Country: FINLAND\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: config.py:46
msgid ""
"Determines whether this plugin is enabled.\n"
" "
msgstr ""
"Määrittää onko tämä lisäosa käytössä.\n"
" "
msgstr "Määrittää onko tämä lisäosa käytössä."
#: config.py:49
msgid ""
"Determines whether this plugin will automode\n"
" owners even if they don't have op/halfop/voice/whatever capability."
msgstr ""
"Määrittää vaihtaako botti omistajien tilaa automaattisesti, vaikka heillä ei olisi\n"
" op/halfop/voice/ihansama valtuutta."
"Määrittää vaihtaako botti omistajien tilaa automaattisesti, vaikka heillä ei "
"olisi\n"
" op/halfop/voice/ihansama valtuutta."
#: config.py:52
msgid ""
@ -38,9 +38,10 @@ msgid ""
" through\" to halfop/voicing when auto-opping is turned off but\n"
" auto-halfopping/voicing are turned on."
msgstr ""
"Määrittää \"siirtyykö\" botti\n"
" halfoppaamiseen/voicen antamiseen kun automaatti-oppaaminen on poistettu käytöstä, mutta\n"
" automaattinen-halfoppaaminen/voicen antaminen on käytössä."
"Määrittää \"alentuuko\" botti halfoppaamiseen/voicen antamiseen kun "
"automaattinen\n"
" oprtaattori aseman antaminen on poistettu käytöstä, mutta automaattinen\n"
" puolioperaattori aseman/äänen antaminen on käytössä."
#: config.py:56
msgid ""
@ -49,8 +50,8 @@ msgid ""
" "
msgstr ""
"Määrittää oppaako botti\n"
" ihmiset #<kanava>,op valtuudella automaattisesti, kun he liittyvät kanavalle.\n"
" "
" ihmiset, joilla on #<kanava>,op valtuus automaattisesti, kun he liittyvät "
"kanavalle."
#: config.py:60
msgid ""
@ -58,9 +59,8 @@ msgid ""
" halfop people with the <channel>,halfop capability when they join the\n"
" channel."
msgstr ""
"Määrittää halfoppaako botti automaattisesti, kun\n"
" ihmiset #<kanava>,halfop valtuudella, kun he liittyvät \n"
" kanavalle."
"Määrittää antaako botti puolioperaattorin aseman automaattisesti, kun "
"ihmiset, joilla on #<kanava>,halfop valtuus liittyvät kanavalle."
#: config.py:64
msgid ""
@ -68,9 +68,9 @@ msgid ""
" voice people with the <channel>,voice capability when they join the\n"
" channel."
msgstr ""
"Määrittää antaako botti automaattisesti äänen\n"
" ihmisille, joilla on #<kanava>,voice valtuus kun he liittyvät\n"
" kanavalle."
"Määrittää antaako botti automaattisesti äänen ihmisille, joilla on #<kanava>,"
"voice\n"
" valtuus heidän liittyessään kanavalle."
#: config.py:68
msgid ""
@ -78,13 +78,22 @@ msgid ""
" ban people who join the channel and are on the banlist."
msgstr ""
"Määrittää antaako botti porttikiellon ihmisille,\n"
" jotka liittyvät kanavalle ja ovat porttikieltolistalla."
" jotka liittyvät kanavalle ja ovat porttikieltolistalla."
#: config.py:71
msgid ""
"Determines how many seconds the bot\n"
" will automatically ban a person when banning."
msgstr ""
"Määrittää kuinka moneksi sekuntiksi botti\n"
"antaa porttikiellon henkilöle, kun ollaan antamassa porttikieltoja."
"Määrittää kuinka moneksi sekuntiksi botti antaa porttikiellon henkilöle, "
"antaessaan\n"
" porttikieltoa automaattisesti."
#: config.py:75
msgid ""
"Determines how many seconds the bot will wait\n"
" before applying a mode. Has no effect on bans."
msgstr ""
"Määrittää kuinka monta sekuntia botti odottaa ennen, kuin asettaa tilan. "
"Tällä ei ole\n"
" vaikutusta porttikieltoihin."

View File

@ -1,10 +1,11 @@
# Valentin Lorentz <progval@progval.net>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2011-06-27 12:02+CEST\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
"POT-Creation-Date: 2012-04-19 21:37+CEST\n"
"PO-Revision-Date: 2012-04-27 18:12+0200\n"
"Last-Translator: Valentin Lorentz <progval@progval.net>\n"
"Language-Team: French <kde-i18n-doc@kde.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -12,6 +13,8 @@ msgstr ""
"X-Poedit-Language: Français\n"
"X-Poedit-Country: France\n"
"X-Poedit-SourceCharset: ASCII\n"
"X-Generator: Lokalize 1.2\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: config.py:46
msgid ""
@ -23,45 +26,67 @@ msgstr "Détermine si ce plugin est activé."
msgid ""
"Determines whether this plugin will automode\n"
" owners even if they don't have op/halfop/voice/whatever capability."
msgstr "Détermine si ce plugin mettra des modes automatiques sur les owners, même si ils n'ont pas la capacité op/halfop/voice/..."
msgstr ""
"Détermine si ce plugin mettra des modes automatiques sur les owners, même si "
"ils n'ont pas la capacité op/halfop/voice/..."
#: config.py:52
msgid ""
"Determines whether the bot will \"fall\n"
" through\" to halfop/voicing when auto-opping is turned off but\n"
" auto-halfopping/voicing are turned on."
msgstr "Détermine si le bot ne halfopera/voicera pas lorsque l'auto-op est désactivé, même si l'auto-halfopvoice est activé."
msgstr ""
"Détermine si le bot ne halfopera/voicera pas lorsque l'auto-op est "
"désactivé, même si l'auto-halfopvoice est activé."
#: config.py:56
msgid ""
"Determines whether the bot will automatically\n"
" op people with the <channel>,op capability when they join the channel.\n"
" "
msgstr "Détermine si le bot opera automatiquement les gens qui ont la capacité <canal>,op lorsqu'ils rejoignent le canal."
msgstr ""
"Détermine si le bot opera automatiquement les gens qui ont la capacité "
"<canal>,op lorsqu'ils rejoignent le canal."
#: config.py:60
msgid ""
"Determines whether the bot will automatically\n"
" halfop people with the <channel>,halfop capability when they join the\n"
" channel."
msgstr "Détermine si le bot halfopera les gens qui ont la capacité <canal>,halfop lorsqu'ils rejoignent le canal."
msgstr ""
"Détermine si le bot halfopera les gens qui ont la capacité <canal>,halfop "
"lorsqu'ils rejoignent le canal."
#: config.py:64
msgid ""
"Determines whether the bot will automatically\n"
" voice people with the <channel>,voice capability when they join the\n"
" channel."
msgstr "Détermine si le bot voicera automatiquement les gens avec la capacité <canal>,voice lorsqu'ils rejoingent le canal."
msgstr ""
"Détermine si le bot voicera automatiquement les gens avec la capacité "
"<canal>,voice lorsqu'ils rejoingent le canal."
#: config.py:68
msgid ""
"Determines whether the bot will automatically\n"
" ban people who join the channel and are on the banlist."
msgstr "Détermine si le bot bannira automatiquement les personnes qui rejoignent le canal et qui sont sur la liste de bannissement."
msgstr ""
"Détermine si le bot bannira automatiquement les personnes qui rejoignent le "
"canal et qui sont sur la liste de bannissement."
#: config.py:71
msgid ""
"Determines how many seconds the bot\n"
" will automatically ban a person when banning."
msgstr "Détermine combien de secondes durera le bannissement que le bot posera sur une personne."
msgstr ""
"Détermine combien de secondes durera le bannissement que le bot posera sur "
"une personne."
#: config.py:75
msgid ""
"Determines how many seconds the bot will wait\n"
" before applying a mode. Has no effect on bans."
msgstr ""
"Détermine combien de secondes le bot attendra avant d'appliquer un mode. Cela "
"n'a aucun effet sur les bannissements."

View File

@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-08-10 00:29+0200\n"
"PO-Revision-Date: 2012-04-23 19:29+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"
"Language-Team: Italian <skizzhg@gmx.com>\n"
"Language: it\n"
@ -81,5 +81,13 @@ msgid ""
"Determines how many seconds the bot\n"
" will automatically ban a person when banning."
msgstr ""
"Determina quanti secondi durerà il ban applica a un utente."
"Determina quanti secondi durerà il ban applicato a un utente."
#: config.py:75
msgid ""
"Determines how many seconds the bot will wait\n"
" before applying a mode. Has no effect on bans."
msgstr ""
"Determina quanti secondi aspetterà il bot prima di applicare un mode.\n"
" Non ha effetto sui ban."

View File

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2011-06-27 12:02+CEST\n"
"POT-Creation-Date: 2012-04-19 21:37+CEST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -67,3 +67,9 @@ msgid ""
" will automatically ban a person when banning."
msgstr ""
#: config.py:75
msgid ""
"Determines how many seconds the bot will wait\n"
" before applying a mode. Has no effect on bans."
msgstr ""

View File

@ -55,16 +55,24 @@ class AutoMode(callbacks.Plugin):
if ircdb.checkCapability(msg.prefix, cap,
ignoreOwner=not self.registryValue('owner')):
if self.registryValue(type, channel):
self.log.info('Sending auto-%s of %s in %s.',
self.log.info('Scheduling auto-%s of %s in %s.',
type, msg.prefix, channel)
msgmaker = getattr(ircmsgs, type)
irc.queueMsg(msgmaker(channel, msg.nick))
schedule_msg(msgmaker(channel, msg.nick))
raise Continue # Even if fallthrough, let's only do one.
elif not fallthrough:
self.log.debug('%s has %s, but supybot.plugins.AutoMode.%s'
' is not enabled in %s, refusing to fall '
'through.', msg.prefix, cap, type, channel)
raise Continue
def schedule_msg(msg):
def f():
irc.queueMsg(msg)
delay = self.registryValue('delay', channel)
if delay:
schedule.addEvent(f, time.time() + delay)
else:
f()
try:
do('op')
if 'h' in irc.state.supported['prefix']:

View File

@ -52,7 +52,7 @@ BadWords = conf.registerPlugin('BadWords')
conf.registerGlobalValue(BadWords, 'words',
LastModifiedSetOfStrings([], _("""Determines what words are
considered to be 'bad' so the bot won't say them.""")))
conf.registerGlobalValue(BadWords,'requireWordBoundaries',
conf.registerChannelValue(BadWords,'requireWordBoundaries',
registry.Boolean(False, _("""Determines whether the bot will require bad
words to be independent words, or whether it will censor them within other
words. For instance, if 'darn' is a bad word, then if this is true, 'darn'

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-28 23:29+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -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: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -100,7 +100,7 @@ msgid ""
" has op."
msgstr ""
#: plugin.py:113
#: plugin.py:114
#, docstring
msgid ""
"takes no arguments\n"
@ -109,11 +109,11 @@ msgid ""
" "
msgstr ""
#: plugin.py:123
#: plugin.py:124
msgid "I'm not currently censoring any bad words."
msgstr ""
#: plugin.py:128
#: plugin.py:129
#, docstring
msgid ""
"<word> [<word> ...]\n"
@ -122,7 +122,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:140
#: plugin.py:141
#, docstring
msgid ""
"<word> [<word> ...]\n"

View File

@ -73,12 +73,13 @@ class BadWords(callbacks.Privmsg):
# We need to check for bad words here rather than in doPrivmsg because
# messages don't get to doPrivmsg if the user is ignored.
if msg.command == 'PRIVMSG':
self.updateRegexp()
s = ircutils.stripFormatting(msg.args[1])
channel = msg.args[0]
self.updateRegexp(channel)
s = ircutils.stripFormatting(msg.args[1])
if ircutils.isChannel(channel) and self.registryValue('kick', channel):
if self.regexp.search(s):
if irc.nick in irc.state.channels[channel].ops:
if irc.nick in irc.state.channels[channel].ops or \
irc.nick in irc.state.channels[channel].halfops:
message = self.registryValue('kick.message', channel)
irc.queueMsg(ircmsgs.kick(channel, msg.nick, message))
else:
@ -86,14 +87,15 @@ class BadWords(callbacks.Privmsg):
msg.nick, channel)
return msg
def updateRegexp(self):
def updateRegexp(self, channel):
if self.lastModified < self.words.lastModified:
self.makeRegexp(self.words())
self.makeRegexp(self.words(), channel)
self.lastModified = time.time()
def outFilter(self, irc, msg):
if self.filtering and msg.command == 'PRIVMSG' and self.words():
self.updateRegexp()
channel = msg.args[0]
self.updateRegexp(channel)
s = msg.args[1]
if self.registryValue('stripFormatting'):
s = ircutils.stripFormatting(s)
@ -102,9 +104,9 @@ class BadWords(callbacks.Privmsg):
msg = ircmsgs.privmsg(msg.args[0], t, msg=msg)
return msg
def makeRegexp(self, iterable):
def makeRegexp(self, iterable, channel):
s = '(%s)' % '|'.join(map(re.escape, iterable))
if self.registryValue('requireWordBoundaries'):
if self.registryValue('requireWordBoundaries', channel):
s = r'\b%s\b' % s
self.regexp = re.compile(s, re.I)

View File

@ -0,0 +1,687 @@
msgid ""
msgstr ""
"Project-Id-Version: sdf\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: 2012-04-27 15:33+0200\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
#: config.py:48
msgid ""
"Determines whether the bot will always try to\n"
" rejoin a channel whenever it's kicked from the channel."
msgstr "Legt fest ob der Bot immer probieren soll den Kanal wieder zu betreten, falls er gekickt wurde."
#: plugin.py:69
msgid ""
"[<channel>] <mode> [<arg> ...]\n"
"\n"
" Sets the mode in <channel> to <mode>, sending the arguments given.\n"
" <channel> is only necessary if the message isn't sent in the channel\n"
" itself.\n"
" "
msgstr ""
"[<Kanal>] <Modus> [<Argument> ...]\n"
"\n"
"Setzt den Modus für <Kanal> auf <Modus>, mit den angegeben Argumenten. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:76
msgid "change the mode"
msgstr "ändert den Modus"
#: plugin.py:80
msgid ""
"[<channel>] [<limit>]\n"
"\n"
" Sets the channel limit to <limit>. If <limit> is 0, or isn't given,\n"
" removes the channel limit. <channel> is only necessary if the message\n"
" isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] [<Limit>]\n"
"\n"
"Setzt das Kanal Limit auf <Limit>. Falls <Limit> 0 ist, oder nicht angegeben wird, wird das Kanal Limit entfernt. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:90
msgid "change the limit"
msgstr "ändert das Limit"
#: plugin.py:95
msgid ""
"[<channel>]\n"
"\n"
" Sets +m on <channel>, making it so only ops and voiced users can\n"
" send messages to the channel. <channel> is only necessary if the\n"
" message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>]\n"
"\n"
"Setzt +m auf <Kanal>, sodass nur Ops und Voice Benutzer Nachrichten an den Kanal senden können. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:102
msgid "moderate the channel"
msgstr "moderiert den Kanel"
#: plugin.py:106
msgid ""
"[<channel>]\n"
"\n"
" Sets -m on <channel>, making it so everyone can\n"
" send messages to the channel. <channel> is only necessary if the\n"
" message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>]\n"
"\n"
"Setzt -m auf <Kanal>, sodass jeder Nachrichten an den Kanal senden kann. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:114
msgid "unmoderate the channel"
msgstr "Kanal nicht mehr moderieren"
#: plugin.py:118
msgid ""
"[<channel>] [<key>]\n"
"\n"
" Sets the keyword in <channel> to <key>. If <key> is not given, removes\n"
" the keyword requirement to join <channel>. <channel> is only necessary\n"
" if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] [<Schlüssel>]\n"
"\n"
"Setzt das Schlüsselwort für <Kanal> auf <Schlüssel>. Fall <Schlüssel> nicht angegeben wird, wird die Schlüsselwort entfernt, und jeder kann dem <Kanal> beitreten. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:130
msgid "change the keyword"
msgstr "ändert das Schlüsselwort"
#: plugin.py:135
msgid ""
"[<channel>] [<nick> ...]\n"
"\n"
" If you have the #channel,op capability, this will give all the <nick>s\n"
" you provide ops. If you don't provide any <nick>s, this will op you.\n"
" <channel> is only necessary if the message isn't sent in the channel\n"
" itself.\n"
" "
msgstr ""
"[<Kanal>] [<Nick> ...]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird dies allen <Nick>s die du angibst Op geben. Falls du keine <Nick>s angibst, wird dir Op gegeben. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:147
msgid "op someone"
msgstr "jemandem Operatorrechte geben."
#: plugin.py:151
msgid ""
"[<channel>] [<nick> ...]\n"
"\n"
" If you have the #channel,halfop capability, this will give all the\n"
" <nick>s you provide halfops. If you don't provide any <nick>s, this\n"
" will give you halfops. <channel> is only necessary if the message isn't\n"
" sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] [<Nick> ...]\n"
"\n"
"Falls du die #channel,halfop Fähigkeit hast, wird allen angegeben <Nick>s halb-Op gegeben. Falls du keine <Nick>s angibst wird dir halb-Op gegeben. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:163
msgid "halfop someone"
msgstr "jemandem Halfop geben"
#: plugin.py:168
msgid ""
"[<channel>] [<nick> ...]\n"
"\n"
" If you have the #channel,voice capability, this will voice all the\n"
" <nick>s you provide. If you don't provide any <nick>s, this will\n"
" voice you. <channel> is only necessary if the message isn't sent in the\n"
" channel itself.\n"
" "
msgstr ""
"[<Kanal>] [<Nick> ...]\n"
"\n"
"Falls du die #channel,voice Fähigkeit hast, wird allen angegeben <Nick>s Voice gegeben. Falls du keine <Nick>s angibst wird dir Voice gegeben. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:190
msgid "voice someone"
msgstr "Sprechrecht geben"
#: plugin.py:195
msgid ""
"[<channel>] [<nick> ...]\n"
"\n"
" If you have the #channel,op capability, this will remove operator\n"
" privileges from all the nicks given. If no nicks are given, removes\n"
" operator privileges from the person sending the message.\n"
" "
msgstr ""
"[<Kanal>] [<Nick> ...]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird allen angegeben Nicks Op entzogen. Falls keine Nicks angegeben sind, wird Op der Person entzogen die den Befehl gab."
#: plugin.py:202
msgid "I cowardly refuse to deop myself. If you really want me deopped, tell me to op you and then deop me yourself."
msgstr "Ich verweigere es mir selbst Op zu entziehen. Falls du mir wirklich op entziehen willst, befehle mir dir Op zu geben und tu es selbst."
#: plugin.py:210
msgid "deop someone"
msgstr "Operator entziehen"
#: plugin.py:215
msgid ""
"[<channel>] [<nick> ...]\n"
"\n"
" If you have the #channel,op capability, this will remove half-operator\n"
" privileges from all the nicks given. If no nicks are given, removes\n"
" half-operator privileges from the person sending the message.\n"
" "
msgstr ""
"[<Kanal>] [<Nick> ...]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird allen angegeben Nicks halb-Op entzogen. Falls keine Nicks angegeben sind, wird halb-Op der Person entzogen die den Befehl gab."
#: plugin.py:222
msgid "I cowardly refuse to dehalfop myself. If you really want me dehalfopped, tell me to op you and then dehalfop me yourself."
msgstr "Ich verweigere mich mir halb-Op zu entziehen. Falls du mir halb-Op entziehen willst, befehle mir dir Op zu geben und tu es selbst."
#: plugin.py:230
msgid "dehalfop someone"
msgstr "entzieht jemanden halb-Op"
#: plugin.py:235
msgid ""
"[<channel>] [<nick> ...]\n"
"\n"
" If you have the #channel,op capability, this will remove voice from all\n"
" the nicks given. If no nicks are given, removes voice from the person\n"
" sending the message.\n"
" "
msgstr ""
"[<Kanal>] [<Nick> ...]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird allen angegeben Nicks Voice entzogen. Falls keine Nicks angegeben sind, wird Voice der Person entzogen die den Befehl gab."
#: plugin.py:242
msgid "I cowardly refuse to devoice myself. If you really want me devoiced, tell me to op you and then devoice me yourself."
msgstr "Ich bin zu Feige um mir Voice zu entziehen. Falls du mir wirklich Voice entziehen willst, befehle mir dir Op zu geben und entziehe mir Voice selbst."
#: plugin.py:255
msgid ""
"[<channel>]\n"
"\n"
" If you have the #channel,op capability, this will cause the bot to\n"
" \"cycle\", or PART and then JOIN the channel. <channel> is only necessary\n"
" if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird der Bot den Kanal verlassen und danach wieder betreten. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:268
msgid ""
"[<channel>] <nick>[, <nick>, ...] [<reason>]\n"
"\n"
" Kicks <nick>(s) from <channel> for <reason>. If <reason> isn't given,\n"
" uses the nick of the person making the command as the reason.\n"
" <channel> is only necessary if the message isn't sent in the channel\n"
" itself.\n"
" "
msgstr ""
"[<Kanal>] <Nick>[, <Nick>, ...]\n"
"\n"
"Kickt die <Nick>s aus dem <Kanal> mit der <Begründung>. Falls keine <Begründung> angegeben wurde, wird der Nick der Person die den Befehl gesendet hat, als Begründung genommen. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:276
msgid "I cowardly refuse to kick myself."
msgstr "Ich bin zu feige um mich selbst zu kicken."
#: plugin.py:281
msgid "The reason you gave is longer than the allowed length for a KICK reason on this server."
msgstr "Der Grund den du mir gegeben hast war länger als die erlaubte für KICK Gründe auf diesem Server."
#: plugin.py:286
msgid "kick someone"
msgstr "jemanden kicken"
#: plugin.py:292
msgid ""
"[<channel>] [--{exact,nick,user,host}] <nick> [<seconds>] [<reason>]\n"
"\n"
" If you have the #channel,op capability, this will kickban <nick> for\n"
" as many seconds as you specify, or else (if you specify 0 seconds or\n"
" don't specify a number of seconds) it will ban the person indefinitely.\n"
" --exact bans only the exact hostmask; --nick bans just the nick;\n"
" --user bans just the user, and --host bans just the host. You can\n"
" combine these options as you choose. <reason> is a reason to give for\n"
" the kick.\n"
" <channel> is only necessary if the message isn't sent in the channel\n"
" itself.\n"
" "
msgstr ""
"[<Kanal>] [--{exact,nick,user,host}] <Nick> [<Sekunden>] [<Begründung>]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird den <Nick> kickbannen, solange wie in Sekunden angegeben, oder andernfalls (falls 0 Sekunden oder gar keine Sekunden angeben werden) wird die Person für immer gebannt. --exact bannt nur die exakte Hostmaske; --nick bannt nur den Nick; --user bannt nur den Benuter und --host bannt nur diese Hostmaske. Du kannst die Optionen miteinander kombinieren wie du willst. <Begründung> ist die Begründung für den Kick. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:311
msgid "I cowardly refuse to kickban myself."
msgstr "Ich bin zu feige um mich selbst zu kicken und zu bannen."
#: plugin.py:318
msgid "I haven't seen %s."
msgstr "Ich habe % nicht gesehen."
#: plugin.py:326
msgid "I cowardly refuse to ban myself."
msgstr "Ich bin zu feige um mich selbst zu bannen."
#: plugin.py:353
msgid "%s has %s too, you can't ban him/her/it."
msgstr "%s hat auch %s, du kannst ihn/sie/es nicht bannen."
#: plugin.py:365
msgid "kick or ban someone"
msgstr "jemanden kicken oder bannen"
#: plugin.py:372
msgid ""
"[<channel>] [<hostmask>]\n"
"\n"
" Unbans <hostmask> on <channel>. If <hostmask> is not given, unbans\n"
" any hostmask currently banned on <channel> that matches your current\n"
" hostmask. Especially useful for unbanning yourself when you get\n"
" unexpectedly (or accidentally) banned from the channel. <channel> is\n"
" only necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] [<Hostmaske>]\n"
"\n"
"Entbannt <Hostmaske> im <Kanal>. Falls die <Hostmaske> nicht angegeben wird, werden alle Bans entfernt, die momenaten im <Kanal> gebannt sind und auf deine momentane Hostmaske zutreffen. Besonders nützlich um dich selsbt zu entbannen, falls du versehentlich im Kanal gebannt wurdest. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:389
msgid "All bans on %s matching %s have been removed."
msgstr "Alle Bans von %s die auf %s zutreffen wurden entfernt."
#: plugin.py:393
msgid "No bans matching %s were found on %s."
msgstr "Keine passenden Bans %s wurden in %s gefunden."
#: plugin.py:396
msgid "unban someone"
msgstr "jemanden entbannen"
#: plugin.py:401
msgid ""
"[<channel>] <nick>\n"
"\n"
" If you have the #channel,op capability, this will invite <nick>\n"
" to join <channel>. <channel> is only necessary if the message isn't\n"
" sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] <Nick>\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird <Nick> dazu eingeladen den <Kanal> zu betreten. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:410
msgid "invite someone"
msgstr "jemanden einladen"
#: plugin.py:429
msgid "%s is already in %s."
msgstr "%s ist schon in %s."
#: plugin.py:436
msgid "There is no %s on this network."
msgstr "%s nicht auf diesem Netzwerk."
#: plugin.py:448
msgid ""
"[<channel>]\n"
"\n"
" If you have the #channel,op capability, this will \"lobotomize\" the\n"
" bot, making it silent and unanswering to all requests made in the\n"
" channel. <channel> is only necessary if the message isn't sent in\n"
" the channel itself.\n"
" "
msgstr ""
"[<Kanal>]\n"
"\n"
"Falls du die #channel,op Fähigkeit besitzt, wird dies den Bot \"hirnamputieren\", er wird still und wird nicht auf Anfragen reagieren, die im Kanal getätigt werden. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:463
msgid ""
"[<channel>]\n"
"\n"
" If you have the #channel,op capability, this will unlobotomize the\n"
" bot, making it respond to requests made in the channel again.\n"
" <channel> is only necessary if the message isn't sent in the channel\n"
" itself.\n"
" "
msgstr ""
"[<Kanal>]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird dem Bot sein Hirn zurückgegeben, ab diesem Zeitpunkt antwortet er wieder auf Anfragen aus dem Kanal. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:478
msgid ""
"takes no arguments\n"
"\n"
" Returns the channels in which this bot is lobotomized.\n"
" "
msgstr ""
"hat keine Argumente\n"
"\n"
"Gibt die Kanäle aus in denen der Bot hirnamputiert ist."
#: plugin.py:493
msgid "I'm currently lobotomized in %L."
msgstr "Ich bin momentan hirnamputiert in %L."
#: plugin.py:496
msgid "I'm not currently lobotomized in any channels that you're in."
msgstr "Momentan bin ich nicht hirnamputiert in allen Kanälen in denen du bist."
#: plugin.py:503
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
"\n"
" If you have the #channel,op capability, this will effect a\n"
" persistent ban from interacting with the bot on the given\n"
" <hostmask> (or the current hostmask associated with <nick>). Other\n"
" plugins may enforce this ban by actually banning users with\n"
" matching hostmasks when they join. <expires> is an optional\n"
" argument specifying when (in \"seconds from now\") the ban should\n"
" expire; if none is given, the ban will never automatically expire.\n"
" <channel> is only necessary if the message isn't sent in the\n"
" channel itself.\n"
" "
msgstr ""
"[<Kanal>] <Nick|Hostmaske> [<Ablauf>]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird einem beständigen Ban mit der <Hostmaske> (oder dem Benutzer der mit <Nick> verbunden wird) verboten mit dem Bot zu interagieren. Andere Plugins setzen es womöglich durch das der Ban Benutzer beim betreten eines Kanals wirklich bannt. <Ablauf> ist optional, und legt fest wann (in Sekunden von jetzt an) der Ban abläuft, falls nicht angegeben wird der Ban niemals automatisch ablaufen. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:523
msgid ""
"[<channel>] <hostmask>\n"
"\n"
" If you have the #channel,op capability, this will remove the\n"
" persistent ban on <hostmask>. <channel> is only necessary if the\n"
" message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] <Hostmaske>\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird der beständige Ban auf <Hostmaske> aufgehoben. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:535
msgid "There are no persistent bans for that hostmask."
msgstr "Es gibt keine beständigen Bans für diese Hostmaske."
#: plugin.py:540
#, fuzzy
msgid ""
"[<channel>]\n"
"\n"
" If you have the #channel,op capability, this will show you the\n"
" current persistent bans on the <channel>.\n"
" "
msgstr ""
"[<Kanal>]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, werden die momentan beständigen Bans im <Kanal> angezeigt."
#: plugin.py:550
msgid "%q (expires %t)"
msgstr "%q (läuft ab:%t)"
#: plugin.py:553
msgid "%q (never expires)"
msgstr "%q(läuft niemals ab)"
#: plugin.py:557
msgid "There are no persistent bans on %s."
msgstr "Es gibt keine beständigen Bans für %s."
#: plugin.py:564
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
"\n"
" If you have the #channel,op capability, this will set a persistent\n"
" ignore on <hostmask> or the hostmask currently\n"
" associated with <nick>. <expires> is an optional argument\n"
" specifying when (in \"seconds from now\") the ignore will expire; if\n"
" it isn't given, the ignore will never automatically expire.\n"
" <channel> is only necessary if the message isn't sent in the\n"
" channel itself.\n"
" "
msgstr ""
"[<Kanal>] <Nick|Hostmaske> [<Ablauf>]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird eine beständige Ignorierung auf <Hostmaske> gesetzt oder auf die Hostmaske die momentan mit <Nick> verbunden wird. <Ablauf> ist optional und gibt an wann (in Sekunden von jetzt an) die Ignorierung abläuft, falls dies nicht angegeben wird, wird die Ignorierung niemals automatisch ablaufen. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:582
msgid ""
"[<channel>] <hostmask>\n"
"\n"
" If you have the #channel,op capability, this will remove the\n"
" persistent ignore on <hostmask> in the channel. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] <Hostmaske>\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird dies den dauerhaften Ignore von <Hostmaske> im Kanal entfernen. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:594
msgid "There are no ignores for that hostmask."
msgstr "Es gibt keine Ignorierungen für diese Hostmaske."
#: plugin.py:599
msgid ""
"[<channel>]\n"
"\n"
" Lists the hostmasks that the bot is ignoring on the given channel.\n"
" <channel> is only necessary if the message isn't sent in the\n"
" channel itself.\n"
" "
msgstr ""
"[<Kanal>]\n"
"\n"
"Listet die Hostmasken auf, die der Bot im gegeben Kanal ignoriert. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:608
msgid "I'm not currently ignoring any hostmasks in %q"
msgstr "Momentan ignoriere ich keine Hostmasken in %s."
#: plugin.py:619
#, fuzzy
msgid ""
"[<channel>] <nick|username> <capability> [<capability> ...]\n"
"\n"
" If you have the #channel,op capability, this will give the\n"
" <username> (or the user to whom <nick> maps)\n"
" the capability <capability> in the channel. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] <Nick|Benutzername> <Fähigkeit> [<Fähigkeit> ...]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird die Kanalfähigkeit <Fähigkeit> dem Benutzer <Name> (oder dem Benutzer auf den <Nick> passt) gegeben. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:635
msgid ""
"[<channel>] <name|hostmask> <capability> [<capability> ...]\n"
"\n"
" If you have the #channel,op capability, this will take from the\n"
" user currently identified as <name> (or the user to whom <hostmask>\n"
" maps) the capability <capability> in the channel. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] <Name|Hostmaske> <Fähigkeit> [<Fähigkeit> ...]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird die die Fähigkeit <Fähigkeit> im Kanal vom Benutzer entfernt, der momentan als <Name> angemeldet ist (oder auf des Benutzers auf den die <Hostmaske> zutrifft). <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:654
msgid "That user didn't have the %L %s."
msgstr "Der Nutzer hatte nicht %L %s."
#: plugin.py:663
msgid ""
"[<channel>] {True|False}\n"
"\n"
" If you have the #channel,op capability, this will set the default\n"
" response to non-power-related (that is, not {op, halfop, voice})\n"
" capabilities to be the value you give. <channel> is only necessary\n"
" if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] {True|False}\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird dies die Standard Antwort auf nicht-macht-bezogene (also nicht {Op, halb-Op, Voice}) Fähigkeiten auf die angegeben Antwort setzen. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:681
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
"\n"
" If you have the #channel,op capability, this will add the channel\n"
" capability <capability> for all users in the channel. <channel> is\n"
" only necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] <Fähigkeit> [<Fähigkeit> ...]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird die Kanalfähigkeit <Fähigkeit> für alle Benutzer hinzugefügt. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:696
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
"\n"
" If you have the #channel,op capability, this will unset the channel\n"
" capability <capability> so each user's specific capability or the\n"
" channel default capability will take precedence. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] <Fähigkeit> [<Fähigkeit> ...]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird die Kanalfähigkeit <Fähigkeit> entfernt, sodass die Benutzerfähigkeiten oder Kanal Standardfähigkeiten vorrang haben. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:712
msgid "capability"
msgstr "Fähigkeit"
#: plugin.py:715
msgid "I do not know about the %L %s."
msgstr "Ich weiß nichts von %L %s."
#: plugin.py:722
msgid ""
"[<channel>]\n"
"\n"
" Returns the capabilities present on the <channel>. <channel> is\n"
" only necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>]\n"
"\n"
"Gibt die Fähigkeiten zurück, die es im <Kanal> gibt. <Kanal> ist nur notwendig, falls die Nachricht nicht im Kanal selbt gegeben wurde."
#: plugin.py:734
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
"\n"
" If you have the #channel,op capability, this will disable the <command>\n"
" in <channel>. If <plugin> is provided, <command> will be disabled only\n"
" for that plugin. If only <plugin> is provided, all commands in the\n"
" given plugin will be disabled. <channel> is only necessary if the\n"
" message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] [<Plugin>] [<Befehl>]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird dies den <Befehl> im <Kanal> deaktivieren, falls er deaktiviert wurde. Falls <Plugin> angegeben wurde, wird <Befehl> nur für dieses <Plugin> deaktiviert. Falls nur <Plugin> angegeben wurde, werden alle Befehle des Plugins deaktiviert. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:750
#: plugin.py:789
msgid "The %s plugin does not have a command called %s."
msgstr "%s Plugin hat keinen Befehl %s."
#: plugin.py:757
#: plugin.py:796
msgid "No plugin or command named %s could be found."
msgstr "Kein Plugin oder Befehl mit dem Namen %s konnte gefunden werden."
#: plugin.py:773
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
"\n"
" If you have the #channel,op capability, this will enable the <command>\n"
" in <channel> if it has been disabled. If <plugin> is provided,\n"
" <command> will be enabled only for that plugin. If only <plugin> is\n"
" provided, all commands in the given plugin will be enabled. <channel>\n"
" is only necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<Kanal>] [<Plugin>] [<Befehl>]\n"
"\n"
"Falls du die #channel,op Fähigkeit hast, wird dies den <Befehl> im <Kanal> aktivieren, falls er deaktiviert wurde. Falls <Plugin> angegeben wurde, wird <Befehl> nur für dieses <Plugin> aktiviert. Falls nur <Plugin> angegeben wurde, werden alle Befehle des Plugins aktiviert. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:810
msgid "%s was not disabled."
msgstr "%s wurde nicht abgeschaltet."
#: plugin.py:819
msgid ""
"[<channel>] [--count]\n"
"\n"
" Returns the nicks in <channel>. <channel> is only necessary if the\n"
" message isn't sent in the channel itself. Returns only the number of\n"
" nicks if --count option is provided.\n"
" "
msgstr ""
"[<Kanal>] [--count]\n"
"\n"
"Gibt die Nicks in <Kanal> zurück. <Kanal> ist nur notwendig, wenn die Nachricht nicht im Kanal selbst gesendet wurde. Gibt nur die Anzahl der Nicks an, falls die --count Option angegeben wurde."
#: plugin.py:831
msgid "You don't have access to that information."
msgstr "Ich habe keinen Zugriff auf diese Informationen."
#: plugin.py:845
msgid ""
"Internal message for notifying all the #channel,ops in a channel of\n"
" a given situation."
msgstr "Interne Nachricht die alle #channel,ops eines Kanals über eine Situation informiert."
#: plugin.py:848
msgid "Alert to all %s ops: %s"
msgstr "Alarm an alle %s Operatoren: %s"
#: plugin.py:850
msgid " (from %s)"
msgstr "(von %s)"
#: plugin.py:858
msgid ""
"[<channel>] <text>\n"
"\n"
" Sends <text> to all the users in <channel> who have the <channel>,op\n"
" capability.\n"
" "
msgstr ""
"[<Kanal>] <Text>\n"
"\n"
"Sendet <Text an alle Nutzer im <Kanal>, die die <Kanal>,op Fähigkeit haben."

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot Channel\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: \n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: \n"
@ -340,15 +340,15 @@ msgstr "Minä en ole nähnyt käyttäjää %s."
msgid "I cowardly refuse to ban myself."
msgstr "Minä pelkurimaisesti kieltäydyn antamasta itselleni porttikieltoa."
#: plugin.py:352
#: plugin.py:353
msgid "%s has %s too, you can't ban him/her/it."
msgstr "Käyttäjälltä %s on myös valtuus %s, et voi antaa hänelle/sille porttikieltoa."
#: plugin.py:364
#: plugin.py:365
msgid "kick or ban someone"
msgstr "potki tai anna jollekulle porttikielto"
#: plugin.py:371
#: plugin.py:372
msgid ""
"[<channel>] [<hostmask>]\n"
"\n"
@ -368,19 +368,19 @@ msgstr ""
" vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:388
#: plugin.py:389
msgid "All bans on %s matching %s have been removed."
msgstr "Kaikki porttikiellot, jotka täsmäävät kanavalla %s käyttäjään %s on poistettu."
#: plugin.py:392
#: plugin.py:393
msgid "No bans matching %s were found on %s."
msgstr "Banneja, jotka täsmäävät käyttäjään %s ei löydetty kanavalla %s."
#: plugin.py:395
#: plugin.py:396
msgid "unban someone"
msgstr "poista joltakulta porttikielto"
#: plugin.py:400
#: plugin.py:401
msgid ""
"[<channel>] <nick>\n"
"\n"
@ -396,19 +396,19 @@ msgstr ""
" ei lähetetä kanavalla itsessään.\n"
" "
#: plugin.py:409
#: plugin.py:410
msgid "invite someone"
msgstr "kutsu joku"
#: plugin.py:428
#: plugin.py:429
msgid "%s is already in %s."
msgstr "%s on jo kanavalla %s"
#: plugin.py:435
#: plugin.py:436
msgid "There is no %s on this network."
msgstr "Käyttäjä %s ei ole tässä verkossa."
#: plugin.py:447
#: plugin.py:448
msgid ""
"[<channel>]\n"
"\n"
@ -426,7 +426,7 @@ msgstr ""
" kanavalla itsellään.\n"
" "
#: plugin.py:462
#: plugin.py:463
msgid ""
"[<channel>]\n"
"\n"
@ -443,7 +443,7 @@ msgstr ""
" <Kanava> on vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:477
#: plugin.py:478
msgid ""
"takes no arguments\n"
"\n"
@ -455,15 +455,15 @@ msgstr ""
" Palauttaa kanavat, joilla botti on lobotomoitu.\n"
" "
#: plugin.py:492
#: plugin.py:493
msgid "I'm currently lobotomized in %L."
msgstr "Minut on tällä hetkellä lobotomoity seuraavilla kanavilla: %L."
#: plugin.py:495
#: plugin.py:496
msgid "I'm not currently lobotomized in any channels that you're in."
msgstr "En tällä hetkellä ole lobotomoitu millään kanavalla, jolla sinä olet."
#: plugin.py:502
#: plugin.py:503
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
"\n"
@ -491,7 +491,7 @@ msgstr ""
" kanavalla itsellään.\n"
" "
#: plugin.py:522
#: plugin.py:523
msgid ""
"[<channel>] <hostmask>\n"
"\n"
@ -507,16 +507,16 @@ msgstr ""
" viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:534
#: plugin.py:535
msgid "There are no persistent bans for that hostmask."
msgstr "Tuolla hostmaskilla ei ole pysyvää porttikieltoa."
#: plugin.py:539
#: plugin.py:540
msgid ""
"[<channel>]\n"
"\n"
" If you have the #channel,op capability, this will show you the\n"
" current persistent bans on #channel.\n"
" current persistent bans on the <channel>.\n"
" "
msgstr ""
"[<kanava>]\n"
@ -525,19 +525,19 @@ msgstr ""
" pysyvät bannit #kanavalla.\n"
" "
#: plugin.py:549
#: plugin.py:550
msgid "%q (expires %t)"
msgstr "%q (venhentuu %t)"
#: plugin.py:552
#: plugin.py:553
msgid "%q (never expires)"
msgstr "%q (ei vanhene ikinä)"
#: plugin.py:556
#: plugin.py:557
msgid "There are no persistent bans on %s."
msgstr "Kanavalla %s ei ole pysyviä porttikieltoja."
#: plugin.py:563
#: plugin.py:564
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
"\n"
@ -553,15 +553,15 @@ msgstr ""
"[<kanava>] <nimimerkki|hostmask> [<vanhentuu>]\n"
"\n"
" Jos sinulla on #kanava,op valtuus, tämä asettaa pysyvän\n"
" ignoren <hostmaskiin> tai hostmaskiin\n"
" huomiotta jättämisen <hostmaskiin> tai hostmaskiin\n"
" joka on <nimimerkin> käytössä. <Vanhentuu> 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"
" <Kanava> on vaadittu vain jos viestiä ei lähetetä\n"
" kanavalla itsellään.\n"
" "
#: plugin.py:581
#: plugin.py:582
msgid ""
"[<channel>] <hostmask>\n"
"\n"
@ -573,15 +573,15 @@ msgstr ""
"[<kanava>] <hostmask>\n"
"\n"
" Jos sinulla on #kanava,op valtuus, tämä poistaa\n"
" pysyvän ignoren <hostmaskista> kanavalla. <Kanava> on vaadittu vain jos\n"
" pysyvän huomiotta jättämisen <hostmaskista> kanavalla. <Kanava> on vaadittu vain jos\n"
" viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:593
#: plugin.py:594
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
#: plugin.py:599
msgid ""
"[<channel>]\n"
"\n"
@ -592,34 +592,34 @@ msgid ""
msgstr ""
"[<kanava>]\n"
"\n"
" Luettelee hostmaskit, jotka ovat botin ignoressa annetulla kanavalla.\n"
" Luettelee hostmaskit, jotka ovat botin huomiotta jättämis listalla annetulla kanavalla.\n"
" <Kanava> on vaadittu vain, jos viestiä ei lähetetä\n"
" kanavalla itsellään.\n"
" "
#: plugin.py:607
#: plugin.py:608
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
#: plugin.py:619
msgid ""
"[<channel>] <nick|username> <capability> [<capability> ...]\n"
"\n"
" If you have the #channel,op capability, this will give the user\n"
" <name> (or the user to whom <nick> maps)\n"
" If you have the #channel,op capability, this will give the\n"
" <username> (or the user to whom <nick> maps)\n"
" the capability <capability> in the channel. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<kanava>] <nimimerkki|käyttäjänimi> <valtuuus> [<valtuus>]\n"
"[<kanava>] <nimimerkki|käyttäjänimi> <valtuus> [<valtuus>]\n"
"\n"
" Jos sinulla on #kanava,op valtuus, tämä antaa käyttäjä\n"
" <nimelle> (tai käyttäjälle, jonka <nimimerkki> määrittää)\n"
" <valtuuden> kanavalla. <kanava> on\n"
" Jos sinulla on #kanava,op valtuus, tämä antaa \n"
" <käyttäjätunnukselle> (tai käyttäjälle, jonka <nimimerkki> määrittää)\n"
" <valtuudet> kanavalla. <kanava> on\n"
" vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:634
#: plugin.py:635
msgid ""
"[<channel>] <name|hostmask> <capability> [<capability> ...]\n"
"\n"
@ -637,11 +637,11 @@ msgstr ""
" vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:653
#: plugin.py:654
msgid "That user didn't have the %L %s."
msgstr "Tuolla käyttäjällä ei ollut valtuutta %L kanavalla %s."
#: plugin.py:662
#: plugin.py:663
msgid ""
"[<channel>] {True|False}\n"
"\n"
@ -659,7 +659,7 @@ msgstr ""
" jos viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:680
#: plugin.py:681
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
"\n"
@ -675,7 +675,7 @@ msgstr ""
" vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:695
#: plugin.py:696
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
"\n"
@ -693,28 +693,29 @@ msgstr ""
" vain jos viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:711
#: plugin.py:712
msgid "capability"
msgstr "valtuus"
#: plugin.py:714
#: plugin.py:715
msgid "I do not know about the %L %s."
msgstr "En tiedä valtuudesta %L kanavalla %s."
#: plugin.py:721
#: plugin.py:722
msgid ""
"[<channel>]\n"
"\n"
" Returns the capabilities present on the <channel>. <channel> is\n"
" only necessary if the message isn't sent in the channel itself.\n"
" "
msgstr "[<Kanava>]\n"
msgstr ""
"[<Kanava>]\n"
"\n"
" Palauttaa listan valtuuksista, jotka ovat <kanavalla>. <Kanava> on\n"
" vaadittu vain, jos viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:733
#: plugin.py:734
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
"\n"
@ -734,17 +735,17 @@ msgstr ""
" viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:749
#: plugin.py:788
#: plugin.py:750
#: plugin.py:789
msgid "The %s plugin does not have a command called %s."
msgstr "%s lisäosassa ei ole komentoa %s."
#: plugin.py:756
#: plugin.py:795
#: plugin.py:757
#: plugin.py:796
msgid "No plugin or command named %s could be found."
msgstr "Lisäosaa tai komentoa nimeltä %s ei löytynyt."
#: plugin.py:772
#: plugin.py:773
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
"\n"
@ -764,11 +765,11 @@ msgstr ""
" on vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:809
#: plugin.py:810
msgid "%s was not disabled."
msgstr "%s ei ollut poistettu käytöstä."
#: plugin.py:818
#: plugin.py:819
msgid ""
"[<channel>] [--count]\n"
"\n"
@ -783,11 +784,11 @@ msgstr ""
" viestiä ei lähetetä kanavalla itsellään.\n"
" "
#: plugin.py:830
#: plugin.py:831
msgid "You don't have access to that information."
msgstr "Sinulla ei ole pääsyoikeutta tuohon tietoon."
#: plugin.py:843
#: plugin.py:845
msgid ""
"Internal message for notifying all the #channel,ops in a channel of\n"
" a given situation."
@ -795,15 +796,15 @@ msgstr ""
"Sisäinen viesti huomattamaan kaikkia henkilöitä, joilla on #kanava,op valtuus kanavalla,\n"
" annetusta tilanteesta."
#: plugin.py:846
#: plugin.py:848
msgid "Alert to all %s ops: %s"
msgstr "Hälytys kaikille kanavan %s operaattoreille: %s"
#: plugin.py:848
#: plugin.py:850
msgid " (from %s)"
msgstr "(lähettänyt %s)"
#: plugin.py:856
#: plugin.py:858
msgid ""
"[<channel>] <text>\n"
"\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
@ -287,15 +287,15 @@ msgstr "Je n'ai jamais vu %s."
msgid "I cowardly refuse to ban myself."
msgstr "Je suis trop couard pour me bannir moi-même."
#: plugin.py:352
#: plugin.py:353
msgid "%s has %s too, you can't ban him/her/it."
msgstr "%s est aussi %s, je ne peux le/la bannir."
#: plugin.py:364
#: plugin.py:365
msgid "kick or ban someone"
msgstr "kicker ou bannir quelqu'un"
#: plugin.py:371
#: plugin.py:372
msgid ""
"[<channel>] [<hostmask>]\n"
"\n"
@ -310,19 +310,19 @@ msgstr ""
"\n"
"Débannit le <masque d'hôte> du <canal>. Si le <masque d'hôte> n'est pas donné, débannit tous les masques d'hôte qui correspondent à votre masque d'hôte actuel. Particulièrement utile lorsque vous avez été banni(e) de manière inatendue ou accidentelle d'un canal. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:388
#: plugin.py:389
msgid "All bans on %s matching %s have been removed."
msgstr "Tous les bannissements sur %s correspondant à %s ont été supprimés."
#: plugin.py:392
#: plugin.py:393
msgid "No bans matching %s were found on %s."
msgstr "Aucun bannissement correspondant à % n'a été trouvé sur %s."
#: plugin.py:395
#: plugin.py:396
msgid "unban someone"
msgstr "débannir quelqu'un"
#: plugin.py:400
#: plugin.py:401
msgid ""
"[<channel>] <nick>\n"
"\n"
@ -335,19 +335,19 @@ msgstr ""
"\n"
"Si vous avez la capacité #canal,op, ceci invitera <nick> à rejoindre le <canal>. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:409
#: plugin.py:410
msgid "invite someone"
msgstr "inviter quelqu'un"
#: plugin.py:428
#: plugin.py:429
msgid "%s is already in %s."
msgstr "%s est déjà sur %s."
#: plugin.py:435
#: plugin.py:436
msgid "There is no %s on this network."
msgstr "Il n'y a aucun %s sur ce réseau."
#: plugin.py:447
#: plugin.py:448
msgid ""
"[<channel>]\n"
"\n"
@ -361,7 +361,7 @@ msgstr ""
"\n"
"Si vous avez la capacité #canal,op, ceci \"lobotomisera\" le bot, c'est à dire qu'il sera silencieux et ne répondra plus à aucune requête faite sur le canal. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:462
#: plugin.py:463
msgid ""
"[<channel>]\n"
"\n"
@ -375,7 +375,7 @@ msgstr ""
"\n"
"Si vous avez la capacité #canal,op, ceci \"dé-lobotomisera\" le bot, c'est à dire qu'il ne sera plus silencieux et répondra à nouveau aux requêtes faites sur le canal. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:477
#: plugin.py:478
msgid ""
"takes no arguments\n"
"\n"
@ -386,15 +386,15 @@ msgstr ""
"\n"
"Retourne les canaux sur lesquels le bot est lobotomisé."
#: plugin.py:492
#: plugin.py:493
msgid "I'm currently lobotomized in %L."
msgstr "Je suis actuellement lobotomisé sur %L."
#: plugin.py:495
#: plugin.py:496
msgid "I'm not currently lobotomized in any channels that you're in."
msgstr "Je ne suis actuellement lobotomisé sur aucun canal où vous êtes."
#: plugin.py:502
#: plugin.py:503
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
"\n"
@ -413,7 +413,7 @@ msgstr ""
"\n"
"Si vous avez la capacité #canal,op, ceci affectera un bannisement persistant au <nick|masque d'hôte> spécifié. D'autres plugins pourraient renforcer ce bannissement en bannissant vraiment les utilisateurs correspondant à ce masque d'hôte lorsqu'ils entrent. <expiration> est un argument option, correspondant à la durée, en secondes, que doit avoir le bannissement."
#: plugin.py:522
#: plugin.py:523
msgid ""
"[<channel>] <hostmask>\n"
"\n"
@ -426,35 +426,35 @@ msgstr ""
"\n"
"Si vous avez la capacité #canal,op, ceci supprimera le bannissement persistant sur le <masque d'hôte>. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:534
#: plugin.py:535
msgid "There are no persistent bans for that hostmask."
msgstr "Il n'y a pas de bannissement persistant pour ce masque d'hôte."
#: plugin.py:539
#: plugin.py:540
msgid ""
"[<channel>]\n"
"\n"
" If you have the #channel,op capability, this will show you the\n"
" current persistent bans on #channel.\n"
" current persistent bans on the <channel>.\n"
" "
msgstr ""
"[<canal>]\n"
"\n"
"Si vous avez la capacité #canal,op, ceci vous affichera la liste des bannissements persistants sur le canal."
#: plugin.py:549
#: plugin.py:550
msgid "%q (expires %t)"
msgstr "%q (expire dans %t)"
#: plugin.py:552
#: plugin.py:553
msgid "%q (never expires)"
msgstr "%q (n'expire jamais)"
#: plugin.py:556
#: plugin.py:557
msgid "There are no persistent bans on %s."
msgstr "Il n'y a pas de bannissement persistant sur %s."
#: plugin.py:563
#: plugin.py:564
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
"\n"
@ -471,7 +471,7 @@ msgstr ""
"\n"
"Vous permet d'ajouter un ignore persistant sur le <masque d'hôte>, ou le masque associé au <nick>, à condition d'avoir la capacité #canal,op. <secondes> est un argument optionnel, correspondant au nombre de secondes durant lesquelles l'ignore sera effectif ; si il n'est pas donné, l'ignore n'expirera jamais. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:581
#: plugin.py:582
msgid ""
"[<channel>] <hostmask>\n"
"\n"
@ -484,11 +484,11 @@ msgstr ""
"\n"
"Si vous avez la capacité #canal,op, ceci supprimera le masque d'ignorance persistant du <masque d'hôte> sur le canal. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:593
#: plugin.py:594
msgid "There are no ignores for that hostmask."
msgstr "Il n'y a pas d'ignorance pour ce masque d'hôte."
#: plugin.py:598
#: plugin.py:599
msgid ""
"[<channel>]\n"
"\n"
@ -501,25 +501,25 @@ msgstr ""
"\n"
"Liste les masques d'hôte que le bot ignore sur le canal donné. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:607
#: plugin.py:608
msgid "I'm not currently ignoring any hostmasks in %q"
msgstr "Je n'ignore actuellement aucun masque d'hôte sur %q."
#: plugin.py:618
#: plugin.py:619
msgid ""
"[<channel>] <nick|username> <capability> [<capability> ...]\n"
"\n"
" If you have the #channel,op capability, this will give the user\n"
" <name> (or the user to whom <nick> maps)\n"
" If you have the #channel,op capability, this will give the\n"
" <username> (or the user to whom <nick> maps)\n"
" the capability <capability> in the channel. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<canal>] <nick|nom> <capacité> [<capacité> ...]\n"
"\n"
"Vous permet de donner à l'utilisateur <nom> (ou celui ayant actuellement le <nick>) la <capacité> sur le canal. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
"Si vous avez la permission #canal,op : donne à l'utilisateur <nom> (ou celui ayant actuellement le <nick>) la <capacité> sur le canal. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:634
#: plugin.py:635
msgid ""
"[<channel>] <name|hostmask> <capability> [<capability> ...]\n"
"\n"
@ -533,11 +533,11 @@ msgstr ""
"\n"
" Vous permet de prendre la <capacité> de l'utilisateur <nom> (ou celui à qui appartient le <masque d'hôte>, à condition que vous ayez la capacité #canal,op. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:653
#: plugin.py:654
msgid "That user didn't have the %L %s."
msgstr "Cet utilisateur n'a pas les %L %s."
#: plugin.py:662
#: plugin.py:663
msgid ""
"[<channel>] {True|False}\n"
"\n"
@ -551,7 +551,7 @@ msgstr ""
"\n"
"Si vous avez la capacité #canal,op, cela vous permet de définir la réponse par défaut relative aux problèmes de pouvoir nécessaire op, halfop, voice). <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:680
#: plugin.py:681
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
"\n"
@ -564,7 +564,7 @@ msgstr ""
"\n"
"Si vous avez la capacité #canal,op ceci ajoutera la <capacité> de canal à tous les utilisateurs du canal. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:695
#: plugin.py:696
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
"\n"
@ -578,15 +578,15 @@ msgstr ""
"\n"
"Si vous avez la capacité #canal,op ceci désactivera le fait que tous les utilisateurs du canal aient la <capacité> de canal. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:711
#: plugin.py:712
msgid "capability"
msgstr "capacité"
#: plugin.py:714
#: plugin.py:715
msgid "I do not know about the %L %s."
msgstr "Je ne sais rien à propos des %L %s."
#: plugin.py:721
#: plugin.py:722
msgid ""
"[<channel>]\n"
"\n"
@ -598,7 +598,7 @@ msgstr ""
"\n"
"Retourne les capacité présentes sur le <canal>. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:733
#: plugin.py:734
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
"\n"
@ -613,17 +613,17 @@ msgstr ""
"\n"
" Si vous avez la capacité #canal,op, ceci désactive la <commande> sur le <canal>. Si le <plugin> est fourni, toutes les commandes de ce plugin seront désactivées. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même."
#: plugin.py:749
#: plugin.py:788
#: plugin.py:750
#: plugin.py:789
msgid "The %s plugin does not have a command called %s."
msgstr "Le plugin %s n'a pas de commande appelée %s."
#: plugin.py:756
#: plugin.py:795
#: plugin.py:757
#: plugin.py:796
msgid "No plugin or command named %s could be found."
msgstr "Aucun plugin ou commande appelé %s n'a pû être trouvé."
#: plugin.py:772
#: plugin.py:773
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
"\n"
@ -638,11 +638,11 @@ msgstr ""
"\n"
"Si vous avez la capacité #canal,op, ceci activera la <commande> sur le <canal>, si elle a auparavant été désactivée. Si le <plugin> seule la commande de ce plugin sera activée. <canal> n'est nécessaire n'est pas envoyé sur le canal lui-même."
#: plugin.py:809
#: plugin.py:810
msgid "%s was not disabled."
msgstr "%s n'était pas désactivé."
#: plugin.py:818
#: plugin.py:819
msgid ""
"[<channel>] [--count]\n"
"\n"
@ -655,25 +655,25 @@ msgstr ""
"\n"
"Retourne les nick sur le <canal>. <canal> n'est nécessaire que si le message n'est pas envoyé sur le canal lui-même. Ne retourne que le nombre de nicks si --count est donné."
#: plugin.py:830
#: plugin.py:831
msgid "You don't have access to that information."
msgstr "Vous n'avez pas accès à cette information"
#: plugin.py:843
#: plugin.py:845
msgid ""
"Internal message for notifying all the #channel,ops in a channel of\n"
" a given situation."
msgstr "Message interne pour notifier tous les #canal,ops sur un canal d'une situation donnée."
#: plugin.py:846
#: plugin.py:848
msgid "Alert to all %s ops: %s"
msgstr "Alerte à tous les ops de %s : %s"
#: plugin.py:848
#: plugin.py:850
msgid " (from %s)"
msgstr "(de %s)"
#: plugin.py:856
#: plugin.py:858
msgid ""
"[<channel>] <text>\n"
"\n"

View File

@ -5,9 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: Limnoria Channel\n"
"POT-Creation-Date: 2011-07-22 01:33+CEST\n"
"PO-Revision-Date: 2011-08-10 14:02+0100\n"
"Last-Translator: nyuszika7h <litemininyuszika@gmail.com>\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: 2012-04-27 14:49+0200\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
@ -285,15 +285,15 @@ msgstr "Nem láttam %s-t."
msgid "I cowardly refuse to ban myself."
msgstr "Gyáván megtagadom, hogy kitiltsam magam."
#: plugin.py:352
#: plugin.py:353
msgid "%s has %s too, you can't ban him/her/it."
msgstr "%s-nek is van %s, nem tilthatod ki őt."
#: plugin.py:364
#: plugin.py:365
msgid "kick or ban someone"
msgstr "kirúgni vagy kitiltani valakit"
#: plugin.py:371
#: plugin.py:372
msgid ""
"[<channel>] [<hostmask>]\n"
"\n"
@ -308,19 +308,19 @@ msgstr ""
"\n"
"Eltávolítja a tiltást <hoszt>-ról <csatorna>-ban. Ha <hoszt> nincs megadva, az összes tiltást eltávolítja <csatorna>-ról, ami illeszkedik rád. Főleg akkor hasznos, hogy eltávolítsd a tiltást magadról, ha váratlanul (vagy véletlenül) ki lettél tiltva a csatornáról. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:388
#: plugin.py:389
msgid "All bans on %s matching %s have been removed."
msgstr "Minden tiltás %s-ban, ami illeszkedik %s-ra el lett távolítva."
#: plugin.py:392
#: plugin.py:393
msgid "No bans matching %s were found on %s."
msgstr "Nem található %s-ra illeszkedő tiltás %s-ban."
#: plugin.py:395
#: plugin.py:396
msgid "unban someone"
msgstr "eltávolítani a tiltást valakiről"
#: plugin.py:400
#: plugin.py:401
msgid ""
"[<channel>] <nick>\n"
"\n"
@ -333,19 +333,19 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, meghívja <név>-et <csatorna>-ra. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:409
#: plugin.py:410
msgid "invite someone"
msgstr "meghívni valakit"
#: plugin.py:428
#: plugin.py:429
msgid "%s is already in %s."
msgstr "%s már %s-ban van."
#: plugin.py:435
#: plugin.py:436
msgid "There is no %s on this network."
msgstr "Nincs %s ezen a hálózaton."
#: plugin.py:447
#: plugin.py:448
msgid ""
"[<channel>]\n"
"\n"
@ -359,7 +359,7 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez \"némítja\" a botot, ezzel némáva teszi azt és nem fog válaszolni a csatornában végrehajtott kérésekre. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:462
#: plugin.py:463
msgid ""
"[<channel>]\n"
"\n"
@ -373,7 +373,7 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez megszünteti a bot némítását, így az újra válaszol a csatornában vérgehajtott kérésekre. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:477
#: plugin.py:478
msgid ""
"takes no arguments\n"
"\n"
@ -384,15 +384,15 @@ msgstr ""
"\n"
"Kiírja a csatornákat, ahol a bot némítva van."
#: plugin.py:492
#: plugin.py:493
msgid "I'm currently lobotomized in %L."
msgstr "Jelenleg némítva vagyok %L-ban."
#: plugin.py:495
#: plugin.py:496
msgid "I'm not currently lobotomized in any channels that you're in."
msgstr "Jelenleg nem vagyok némítva egy csatornában sem, ahol vagy."
#: plugin.py:502
#: plugin.py:503
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
"\n"
@ -411,7 +411,7 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez megtiltja <hoszt>-nak (vagy <nick> jelenlegi hosztjának), hogy a botot használja a csatornában. Más bővítmények kényszeríthetik a tiltást azzal, hogy kitiltják a felhasználókat, akikre illeszkedik a hoszt amikor belépnek. <lejár> egy nem kötelező paaméter, meghatározza, hogy mikor (hány \"másodperc múlva\") járjon le a tiltás; ha nincs megadva, a tiltás soha nem fog automatikusan lejárni. <csatorna> csak akkor szükséges, ha az üzenet nem a csaotnában van elküldve."
#: plugin.py:522
#: plugin.py:523
msgid ""
"[<channel>] <hostmask>\n"
"\n"
@ -424,35 +424,36 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez eltávolítja a tiltást <hoszt>-ról. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:534
#: plugin.py:535
msgid "There are no persistent bans for that hostmask."
msgstr "Nincsenek tiltások erre a hosztra."
#: plugin.py:539
#: plugin.py:540
#, fuzzy
msgid ""
"[<channel>]\n"
"\n"
" If you have the #channel,op capability, this will show you the\n"
" current persistent bans on #channel.\n"
" current persistent bans on the <channel>.\n"
" "
msgstr ""
"[<csatorna>]\n"
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez megmutatja neked a jelenlegi tiltásokat <csatorna>-n."
#: plugin.py:549
#: plugin.py:550
msgid "%q (expires %t)"
msgstr "%q (lejár %t)"
#: plugin.py:552
#: plugin.py:553
msgid "%q (never expires)"
msgstr "%q (soha nem jár le)"
#: plugin.py:556
#: plugin.py:557
msgid "There are no persistent bans on %s."
msgstr "Nincsenek tiltások %s-on."
#: plugin.py:563
#: plugin.py:564
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
"\n"
@ -469,7 +470,7 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez mellőzi <hoszt>-ot vagy <név> jelenlegi hosztját. <lejár> egy nem kötelező paraméter, meghatározza, hogy mikor (hány \"másodperc múlva\" járjon le a mellőzés; ha nincs megadva, a mellőzés soha nem fog automatikusan lejárni. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:581
#: plugin.py:582
msgid ""
"[<channel>] <hostmask>\n"
"\n"
@ -482,11 +483,11 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez eltávolítja a mellőzést <hoszt>-ról a csatornában. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:593
#: plugin.py:594
msgid "There are no ignores for that hostmask."
msgstr "Nincsenek mellőzések erre a hosztra."
#: plugin.py:598
#: plugin.py:599
msgid ""
"[<channel>]\n"
"\n"
@ -499,16 +500,17 @@ msgstr ""
"\n"
"Kiírja a hosztokat, amelyeket a bot mellőz a megadott csatornában. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:607
#: plugin.py:608
msgid "I'm not currently ignoring any hostmasks in %q"
msgstr "Nem mellőzők egy hosztot sem %q-ban."
#: plugin.py:618
#: plugin.py:619
#, fuzzy
msgid ""
"[<channel>] <nick|username> <capability> [<capability> ...]\n"
"\n"
" If you have the #channel,op capability, this will give the user\n"
" <name> (or the user to whom <nick> maps)\n"
" If you have the #channel,op capability, this will give the\n"
" <username> (or the user to whom <nick> maps)\n"
" the capability <capability> in the channel. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
@ -517,7 +519,7 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez <felhasználónév> felhasználónak (vagy <név> felhasználójának) a <képesség> képességet a csatornában. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:634
#: plugin.py:635
msgid ""
"[<channel>] <name|hostmask> <capability> [<capability> ...]\n"
"\n"
@ -531,11 +533,11 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez eltávolítja a jelenleg <név>-ként bejelentkezett felhasználóról (vagy a felhasználóról, akire <hoszt> illeszkedik) a <képesség> képességet a csatornában. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:653
#: plugin.py:654
msgid "That user didn't have the %L %s."
msgstr "A felhasználónak nem volt a(z) %L %s."
#: plugin.py:662
#: plugin.py:663
msgid ""
"[<channel>] {True|False}\n"
"\n"
@ -549,7 +551,7 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez az alapértelmezett választ a nem erővel kapcsolatos (vagyis nem {op, halfop, voice}) képességeket a megadott értékre állítja. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:680
#: plugin.py:681
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
"\n"
@ -562,7 +564,7 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez hozzáadja <képesség>-et a csatorna képességeihez. <csatorna> csak akkor szükséges, ha az üzenet nem, a csatornában van elküldve."
#: plugin.py:695
#: plugin.py:696
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
"\n"
@ -576,15 +578,15 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez eltávolítja a csatorna <képesség> képességét, így a felhasználók saját képességei vagy a csatorna alapértelmezett képességei lesznek előnyben. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:711
#: plugin.py:712
msgid "capability"
msgstr "képesség"
#: plugin.py:714
#: plugin.py:715
msgid "I do not know about the %L %s."
msgstr "Nem tudok a %L %s-ról."
#: plugin.py:721
#: plugin.py:722
msgid ""
"[<channel>]\n"
"\n"
@ -596,7 +598,7 @@ msgstr ""
"\n"
"Kiírja <csatorna> képességeit. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:733
#: plugin.py:734
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
"\n"
@ -611,17 +613,17 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez letiltja <parancs>-ot <csatorna>-ban. Ha <bővítmény> meg van adva, <parancs> csak a megadott bővítményben lesz letiltva. Ha csak <bővítmény> van megadva, minden parancs le lesz tiltva a megadott bővítményben. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:749
#: plugin.py:788
#: plugin.py:750
#: plugin.py:789
msgid "The %s plugin does not have a command called %s."
msgstr "A %s bővítménynek nincs %s nevű parancsa."
#: plugin.py:756
#: plugin.py:795
#: plugin.py:757
#: plugin.py:796
msgid "No plugin or command named %s could be found."
msgstr "Nem található bővítmény vagy parancs %s néven."
#: plugin.py:772
#: plugin.py:773
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
"\n"
@ -636,11 +638,11 @@ msgstr ""
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez engedélyezi <parancs>-ot <csatorna>-ban ha le lett tiltva. Ha <bővítmény> meg van adva, <parancs> csak a megadott bővítményben lesz engedélyezve."
#: plugin.py:809
#: plugin.py:810
msgid "%s was not disabled."
msgstr "%s nem volt letiltva."
#: plugin.py:818
#: plugin.py:819
msgid ""
"[<channel>] [--count]\n"
"\n"
@ -653,25 +655,25 @@ msgstr ""
"\n"
"Kiírja a neveket <csatorna>-ban. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve. Ha a --count opció meg van adva, csak a nevek számát írja ki."
#: plugin.py:830
#: plugin.py:831
msgid "You don't have access to that information."
msgstr "Nincs hozzáférésed ehhez az információhoz."
#: plugin.py:843
#: plugin.py:845
msgid ""
"Internal message for notifying all the #channel,ops in a channel of\n"
" a given situation."
msgstr "Belső üzenet #csatorna,op-ok értesítésére egy adott szituációban."
#: plugin.py:846
#: plugin.py:848
msgid "Alert to all %s ops: %s"
msgstr "Riasztás minden %s operátornak: %s"
#: plugin.py:848
#: plugin.py:850
msgid " (from %s)"
msgstr "(%s-tól)"
#: plugin.py:856
#: plugin.py:858
msgid ""
"[<channel>] <text>\n"
"\n"

View File

@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-08-10 01:23+0200\n"
"PO-Revision-Date: 2012-06-09 09:33+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"
"Language-Team: Italian <skizzhg@gmx.com>\n"
"Language: it\n"
@ -164,7 +164,7 @@ msgstr ""
msgid "halfop someone"
msgstr "dare l'halfop a qualcuno"
#: plugin.py:168
#: plugin.py:184
#, docstring
msgid ""
"[<channel>] [<nick> ...]\n"
@ -182,11 +182,11 @@ msgstr ""
" è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:190
#: plugin.py:192
msgid "voice someone"
msgstr "dare il voice a qualcuno"
#: plugin.py:195
#: plugin.py:197
#, docstring
msgid ""
"[<channel>] [<nick> ...]\n"
@ -202,15 +202,15 @@ msgstr ""
" i nick specificati; se nessun nick è fornito li rimuove a chi usa il comando.\n"
" "
#: plugin.py:202
#: plugin.py:204
msgid "I cowardly refuse to deop myself. If you really want me deopped, tell me to op you and then deop me yourself."
msgstr "Codardamente mi rifiuto di rimuovermi lo stato di operatore; se davvero lo vuoi, dimmi di darlo a te e poi toglimelo."
#: plugin.py:210
#: plugin.py:212
msgid "deop someone"
msgstr "rimuovere l'op a qualcuno"
#: plugin.py:215
#: plugin.py:217
#, docstring
msgid ""
"[<channel>] [<nick> ...]\n"
@ -226,15 +226,15 @@ msgstr ""
" i nick specificati; se nessun nick è fornito li rimuove a chi usa il comando.\n"
" "
#: plugin.py:222
#: plugin.py:224
msgid "I cowardly refuse to dehalfop myself. If you really want me dehalfopped, tell me to op you and then dehalfop me yourself."
msgstr "Codardamente mi rifiuto di rimuovermi lo stato di halfop; se davvero lo vuoi, dimmi di dare l'op a te e poi toglimelo."
#: plugin.py:230
#: plugin.py:232
msgid "dehalfop someone"
msgstr "rimuovere l'halfop a qualcuno"
#: plugin.py:235
#: plugin.py:237
#, docstring
msgid ""
"[<channel>] [<nick> ...]\n"
@ -250,11 +250,11 @@ msgstr ""
" i nick specificati; se nessun nick è fornito lo rimuove a chi usa il comando.\n"
" "
#: plugin.py:242
#: plugin.py:244
msgid "I cowardly refuse to devoice myself. If you really want me devoiced, tell me to op you and then devoice me yourself."
msgstr "Codardamente mi rifiuto di rimuovermi il voice; se davvero lo vuoi, dimmi di dare l'op a te e poi toglimelo."
#: plugin.py:255
#: plugin.py:253
#, docstring
msgid ""
"[<channel>]\n"
@ -270,7 +270,7 @@ msgstr ""
" <canale> è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:268
#: plugin.py:266
#, docstring
msgid ""
"[<channel>] <nick>[, <nick>, ...] [<reason>]\n"
@ -288,19 +288,19 @@ msgstr ""
" se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:276
#: plugin.py:274
msgid "I cowardly refuse to kick myself."
msgstr "Codardamente mi rifiuto di cacciare me stesso."
#: plugin.py:281
#: plugin.py:279
msgid "The reason you gave is longer than the allowed length for a KICK reason on this server."
msgstr "Il motivo che hai dato è più lungo della lunghezza consentita da questo server."
#: plugin.py:286
#: plugin.py:284
msgid "kick someone"
msgstr "cacciare (kick) qualcuno"
#: plugin.py:292
#: plugin.py:290
#, docstring
msgid ""
"[<channel>] [--{exact,nick,user,host}] <nick> [<seconds>] [<reason>]\n"
@ -327,27 +327,27 @@ msgstr ""
" se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:311
#: plugin.py:309
msgid "I cowardly refuse to kickban myself."
msgstr "Codardamente mi rifiuto di espellere (kickban) me stesso."
#: plugin.py:318
#: plugin.py:316
msgid "I haven't seen %s."
msgstr "Non ho mai visto %s."
#: plugin.py:326
#: plugin.py:324
msgid "I cowardly refuse to ban myself."
msgstr "Codardamente mi rifiuto di bannare stesso."
#: plugin.py:352
#: plugin.py:351
msgid "%s has %s too, you can't ban him/her/it."
msgstr "anche %s ha %s, non puoi bannarlo/a."
#: plugin.py:364
#: plugin.py:363
msgid "kick or ban someone"
msgstr "cacciare (kick) o bannare qualcuno"
#: plugin.py:371
#: plugin.py:370
#, docstring
msgid ""
"[<channel>] [<hostmask>]\n"
@ -368,19 +368,19 @@ msgstr ""
" messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:388
#: plugin.py:387
msgid "All bans on %s matching %s have been removed."
msgstr "Tutti i ban su %s che corrisopndono a %s sono stati rimossi."
#: plugin.py:392
#: plugin.py:391
msgid "No bans matching %s were found on %s."
msgstr "Non è stato trovato alcun ban corrispondente a %s su %s."
#: plugin.py:395
#: plugin.py:394
msgid "unban someone"
msgstr "rimuovere il ban a qualcuno"
#: plugin.py:400
#: plugin.py:399
#, docstring
msgid ""
"[<channel>] <nick>\n"
@ -396,19 +396,19 @@ msgstr ""
" <canale> è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:409
#: plugin.py:408
msgid "invite someone"
msgstr "invitare qualcuno"
#: plugin.py:428
#: plugin.py:427
msgid "%s is already in %s."
msgstr "%s è già in %s."
#: plugin.py:435
#: plugin.py:434
msgid "There is no %s on this network."
msgstr "Non c'è nessun %s su questa rete."
#: plugin.py:447
#: plugin.py:446
#, docstring
msgid ""
"[<channel>]\n"
@ -426,7 +426,7 @@ msgstr ""
" <canale> è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:462
#: plugin.py:461
#, docstring
msgid ""
"[<channel>]\n"
@ -444,7 +444,7 @@ msgstr ""
" <canale> è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:477
#: plugin.py:476
#, docstring
msgid ""
"takes no arguments\n"
@ -457,15 +457,15 @@ msgstr ""
" Riporta l'elenco dei canali nei quali il bot è lobotomizzato.\n"
" "
#: plugin.py:492
#: plugin.py:491
msgid "I'm currently lobotomized in %L."
msgstr "Sono attualmente lobotomizzato in %L."
#: plugin.py:495
#: plugin.py:494
msgid "I'm not currently lobotomized in any channels that you're in."
msgstr "Al momento non sono lobotomizzato in nessun canale in cui sei."
#: plugin.py:502
#: plugin.py:501
#, docstring
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
@ -491,7 +491,7 @@ msgstr ""
" <canale> è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:522
#: plugin.py:521
#, docstring
msgid ""
"[<channel>] <hostmask>\n"
@ -507,17 +507,17 @@ msgstr ""
" <canale> è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:534
#: plugin.py:533
msgid "There are no persistent bans for that hostmask."
msgstr "Non ci sono ban permanenti per questa hostmask."
#: plugin.py:539
#: plugin.py:538
#, docstring
msgid ""
"[<channel>]\n"
"\n"
" If you have the #channel,op capability, this will show you the\n"
" current persistent bans on #channel.\n"
" current persistent bans on the <channel>.\n"
" "
msgstr ""
"[<canale>]\n"
@ -525,19 +525,19 @@ msgstr ""
" Se hai la capacità #canale,op mostra gli attuali ban permanenti su <canale>.\n"
" "
#: plugin.py:549
#: plugin.py:548
msgid "%q (expires %t)"
msgstr "%q (scade il %t)"
#: plugin.py:552
#: plugin.py:551
msgid "%q (never expires)"
msgstr "%q (non scade)"
#: plugin.py:556
#: plugin.py:555
msgid "There are no persistent bans on %s."
msgstr "Non ci sono ban permanenti su %s."
#: plugin.py:563
#: plugin.py:562
#, docstring
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
@ -560,7 +560,7 @@ msgstr ""
" se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:581
#: plugin.py:580
#, docstring
msgid ""
"[<channel>] <hostmask>\n"
@ -576,11 +576,11 @@ msgstr ""
" <canale> è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:593
#: plugin.py:592
msgid "There are no ignores for that hostmask."
msgstr "Non ci sono ignore per questa hostmask."
#: plugin.py:598
#: plugin.py:597
#, docstring
msgid ""
"[<channel>]\n"
@ -596,17 +596,17 @@ msgstr ""
" necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:607
#: plugin.py:606
msgid "I'm not currently ignoring any hostmasks in %q"
msgstr "Al momento non sto ignorando nessuna hostmasks in %q"
#: plugin.py:618
#: plugin.py:617
#, docstring
msgid ""
"[<channel>] <nick|username> <capability> [<capability> ...]\n"
"\n"
" If you have the #channel,op capability, this will give the user\n"
" <name> (or the user to whom <nick> maps)\n"
" If you have the #channel,op capability, this will give the\n"
" <username> (or the user to whom <nick> maps)\n"
" the capability <capability> in the channel. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
@ -618,7 +618,7 @@ msgstr ""
" è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:634
#: plugin.py:633
#, docstring
msgid ""
"[<channel>] <name|hostmask> <capability> [<capability> ...]\n"
@ -636,11 +636,11 @@ msgstr ""
" <canale> è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:653
#: plugin.py:652
msgid "That user didn't have the %L %s."
msgstr "Questo utente non ha la %L %s."
#: plugin.py:662
#: plugin.py:661
#, docstring
msgid ""
"[<channel>] {True|False}\n"
@ -658,7 +658,7 @@ msgstr ""
" è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:680
#: plugin.py:679
#, docstring
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
@ -675,7 +675,7 @@ msgstr ""
" solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:695
#: plugin.py:694
#, docstring
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
@ -694,15 +694,15 @@ msgstr ""
" solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:711
#: plugin.py:710
msgid "capability"
msgstr "capacità"
#: plugin.py:714
#: plugin.py:713
msgid "I do not know about the %L %s."
msgstr "Non so nulla a proposito di %L %s."
#: plugin.py:721
#: plugin.py:720
#, docstring
msgid ""
"[<channel>]\n"
@ -717,7 +717,7 @@ msgstr ""
" solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:733
#: plugin.py:732
#, docstring
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
@ -737,15 +737,15 @@ msgstr ""
" <canale> è necessario solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:749 plugin.py:788
#: plugin.py:748 plugin.py:787
msgid "The %s plugin does not have a command called %s."
msgstr "Il plugin %s non ha un comando chiamato %s."
#: plugin.py:756 plugin.py:795
#: plugin.py:755 plugin.py:794
msgid "No plugin or command named %s could be found."
msgstr "Non è stato trovato nessun plugin o comando chiamato %s."
#: plugin.py:772
#: plugin.py:771
#, docstring
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
@ -766,11 +766,11 @@ msgstr ""
" inviato nel canale stesso.\n"
" "
#: plugin.py:809
#: plugin.py:808
msgid "%s was not disabled."
msgstr "%s non è stato disabilitato."
#: plugin.py:818
#: plugin.py:817
#, docstring
msgid ""
"[<channel>] [--count]\n"
@ -787,7 +787,7 @@ msgstr ""
" l'opzione --count, mostra solo il numero dei nick.\n"
" "
#: plugin.py:830
#: plugin.py:829
msgid "You don't have access to that information."
msgstr "Non hai accesso a questa informazione."

View File

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2011-07-22 01:33+CEST\n"
"POT-Creation-Date: 2012-06-09 08:56+CEST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -128,7 +128,7 @@ msgstr ""
msgid "halfop someone"
msgstr ""
#: plugin.py:168
#: plugin.py:184
#, docstring
msgid ""
"[<channel>] [<nick> ...]\n"
@ -140,11 +140,11 @@ msgid ""
" "
msgstr ""
#: plugin.py:190
#: plugin.py:192
msgid "voice someone"
msgstr ""
#: plugin.py:195
#: plugin.py:197
#, docstring
msgid ""
"[<channel>] [<nick> ...]\n"
@ -155,15 +155,15 @@ msgid ""
" "
msgstr ""
#: plugin.py:202
#: plugin.py:204
msgid "I cowardly refuse to deop myself. If you really want me deopped, tell me to op you and then deop me yourself."
msgstr ""
#: plugin.py:210
#: plugin.py:212
msgid "deop someone"
msgstr ""
#: plugin.py:215
#: plugin.py:217
#, docstring
msgid ""
"[<channel>] [<nick> ...]\n"
@ -174,15 +174,15 @@ msgid ""
" "
msgstr ""
#: plugin.py:222
#: plugin.py:224
msgid "I cowardly refuse to dehalfop myself. If you really want me dehalfopped, tell me to op you and then dehalfop me yourself."
msgstr ""
#: plugin.py:230
#: plugin.py:232
msgid "dehalfop someone"
msgstr ""
#: plugin.py:235
#: plugin.py:237
#, docstring
msgid ""
"[<channel>] [<nick> ...]\n"
@ -193,11 +193,11 @@ msgid ""
" "
msgstr ""
#: plugin.py:242
#: plugin.py:244
msgid "I cowardly refuse to devoice myself. If you really want me devoiced, tell me to op you and then devoice me yourself."
msgstr ""
#: plugin.py:255
#: plugin.py:253
#, docstring
msgid ""
"[<channel>]\n"
@ -208,7 +208,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:268
#: plugin.py:266
#, docstring
msgid ""
"[<channel>] <nick>[, <nick>, ...] [<reason>]\n"
@ -220,19 +220,19 @@ msgid ""
" "
msgstr ""
#: plugin.py:276
#: plugin.py:274
msgid "I cowardly refuse to kick myself."
msgstr ""
#: plugin.py:281
#: plugin.py:279
msgid "The reason you gave is longer than the allowed length for a KICK reason on this server."
msgstr ""
#: plugin.py:286
#: plugin.py:284
msgid "kick someone"
msgstr ""
#: plugin.py:292
#: plugin.py:290
#, docstring
msgid ""
"[<channel>] [--{exact,nick,user,host}] <nick> [<seconds>] [<reason>]\n"
@ -249,27 +249,27 @@ msgid ""
" "
msgstr ""
#: plugin.py:311
#: plugin.py:309
msgid "I cowardly refuse to kickban myself."
msgstr ""
#: plugin.py:318
#: plugin.py:316
msgid "I haven't seen %s."
msgstr ""
#: plugin.py:326
#: plugin.py:324
msgid "I cowardly refuse to ban myself."
msgstr ""
#: plugin.py:352
#: plugin.py:351
msgid "%s has %s too, you can't ban him/her/it."
msgstr ""
#: plugin.py:364
#: plugin.py:363
msgid "kick or ban someone"
msgstr ""
#: plugin.py:371
#: plugin.py:370
#, docstring
msgid ""
"[<channel>] [<hostmask>]\n"
@ -282,19 +282,19 @@ msgid ""
" "
msgstr ""
#: plugin.py:388
#: plugin.py:387
msgid "All bans on %s matching %s have been removed."
msgstr ""
#: plugin.py:392
#: plugin.py:391
msgid "No bans matching %s were found on %s."
msgstr ""
#: plugin.py:395
#: plugin.py:394
msgid "unban someone"
msgstr ""
#: plugin.py:400
#: plugin.py:399
#, docstring
msgid ""
"[<channel>] <nick>\n"
@ -305,19 +305,19 @@ msgid ""
" "
msgstr ""
#: plugin.py:409
#: plugin.py:408
msgid "invite someone"
msgstr ""
#: plugin.py:428
#: plugin.py:427
msgid "%s is already in %s."
msgstr ""
#: plugin.py:435
#: plugin.py:434
msgid "There is no %s on this network."
msgstr ""
#: plugin.py:447
#: plugin.py:446
#, docstring
msgid ""
"[<channel>]\n"
@ -329,7 +329,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:462
#: plugin.py:461
#, docstring
msgid ""
"[<channel>]\n"
@ -341,7 +341,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:477
#: plugin.py:476
#, docstring
msgid ""
"takes no arguments\n"
@ -350,15 +350,15 @@ msgid ""
" "
msgstr ""
#: plugin.py:492
#: plugin.py:491
msgid "I'm currently lobotomized in %L."
msgstr ""
#: plugin.py:495
#: plugin.py:494
msgid "I'm not currently lobotomized in any channels that you're in."
msgstr ""
#: plugin.py:502
#: plugin.py:501
#, docstring
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
@ -375,7 +375,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:522
#: plugin.py:521
#, docstring
msgid ""
"[<channel>] <hostmask>\n"
@ -386,33 +386,33 @@ msgid ""
" "
msgstr ""
#: plugin.py:534
#: plugin.py:533
msgid "There are no persistent bans for that hostmask."
msgstr ""
#: plugin.py:539
#: plugin.py:538
#, docstring
msgid ""
"[<channel>]\n"
"\n"
" If you have the #channel,op capability, this will show you the\n"
" current persistent bans on #channel.\n"
" current persistent bans on the <channel>.\n"
" "
msgstr ""
#: plugin.py:549
#: plugin.py:548
msgid "%q (expires %t)"
msgstr ""
#: plugin.py:552
#: plugin.py:551
msgid "%q (never expires)"
msgstr ""
#: plugin.py:556
#: plugin.py:555
msgid "There are no persistent bans on %s."
msgstr ""
#: plugin.py:563
#: plugin.py:562
#, docstring
msgid ""
"[<channel>] <nick|hostmask> [<expires>]\n"
@ -427,7 +427,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:581
#: plugin.py:580
#, docstring
msgid ""
"[<channel>] <hostmask>\n"
@ -438,11 +438,11 @@ msgid ""
" "
msgstr ""
#: plugin.py:593
#: plugin.py:592
msgid "There are no ignores for that hostmask."
msgstr ""
#: plugin.py:598
#: plugin.py:597
#, docstring
msgid ""
"[<channel>]\n"
@ -453,23 +453,23 @@ msgid ""
" "
msgstr ""
#: plugin.py:607
#: plugin.py:606
msgid "I'm not currently ignoring any hostmasks in %q"
msgstr ""
#: plugin.py:618
#: plugin.py:617
#, docstring
msgid ""
"[<channel>] <nick|username> <capability> [<capability> ...]\n"
"\n"
" If you have the #channel,op capability, this will give the user\n"
" <name> (or the user to whom <nick> maps)\n"
" If you have the #channel,op capability, this will give the\n"
" <username> (or the user to whom <nick> maps)\n"
" the capability <capability> in the channel. <channel> is only\n"
" necessary if the message isn't sent in the channel itself.\n"
" "
msgstr ""
#: plugin.py:634
#: plugin.py:633
#, docstring
msgid ""
"[<channel>] <name|hostmask> <capability> [<capability> ...]\n"
@ -481,11 +481,11 @@ msgid ""
" "
msgstr ""
#: plugin.py:653
#: plugin.py:652
msgid "That user didn't have the %L %s."
msgstr ""
#: plugin.py:662
#: plugin.py:661
#, docstring
msgid ""
"[<channel>] {True|False}\n"
@ -497,7 +497,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:680
#: plugin.py:679
#, docstring
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
@ -508,7 +508,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:695
#: plugin.py:694
#, docstring
msgid ""
"[<channel>] <capability> [<capability> ...]\n"
@ -520,15 +520,15 @@ msgid ""
" "
msgstr ""
#: plugin.py:711
#: plugin.py:710
msgid "capability"
msgstr ""
#: plugin.py:714
#: plugin.py:713
msgid "I do not know about the %L %s."
msgstr ""
#: plugin.py:721
#: plugin.py:720
#, docstring
msgid ""
"[<channel>]\n"
@ -538,7 +538,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:733
#: plugin.py:732
#, docstring
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
@ -551,15 +551,15 @@ msgid ""
" "
msgstr ""
#: plugin.py:749 plugin.py:788
#: plugin.py:748 plugin.py:787
msgid "The %s plugin does not have a command called %s."
msgstr ""
#: plugin.py:756 plugin.py:795
#: plugin.py:755 plugin.py:794
msgid "No plugin or command named %s could be found."
msgstr ""
#: plugin.py:772
#: plugin.py:771
#, docstring
msgid ""
"[<channel>] [<plugin>] [<command>]\n"
@ -572,11 +572,11 @@ msgid ""
" "
msgstr ""
#: plugin.py:809
#: plugin.py:808
msgid "%s was not disabled."
msgstr ""
#: plugin.py:818
#: plugin.py:817
#, docstring
msgid ""
"[<channel>] [--count]\n"
@ -587,7 +587,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:830
#: plugin.py:829
msgid "You don't have access to that information."
msgstr ""

View File

@ -1,6 +1,6 @@
###
# Copyright (c) 2002-2005, Jeremiah Fincher
# Copyright (c) 2009, James Vega
# Copyright (c) 2009-2012, James McCoy
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@ -163,15 +163,7 @@ class Channel(callbacks.Plugin):
halfop = wrap(halfop, ['halfop', ('haveOp', _('halfop someone')),
any('nickInChannel')])
@internationalizeDocstring
def voice(self, irc, msg, args, channel, nicks):
"""[<channel>] [<nick> ...]
If you have the #channel,voice capability, this will voice all the
<nick>s you provide. If you don't provide any <nick>s, this will
voice you. <channel> is only necessary if the message isn't sent in the
channel itself.
"""
def _voice(self, irc, msg, args, channel, nicks, fn):
if nicks:
if len(nicks) == 1 and msg.nick in nicks:
capability = 'voice'
@ -183,10 +175,20 @@ class Channel(callbacks.Plugin):
capability = ircdb.makeChannelCapability(channel, capability)
if ircdb.checkCapability(msg.prefix, capability):
def f(L):
return ircmsgs.voices(channel, L)
return fn(channel, L)
self._sendMsgs(irc, nicks, f)
else:
irc.errorNoCapability(capability)
def voice(self, irc, msg, args, channel, nicks):
"""[<channel>] [<nick> ...]
If you have the #channel,voice capability, this will voice all the
<nick>s you provide. If you don't provide any <nick>s, this will
voice you. <channel> is only necessary if the message isn't sent in the
channel itself.
"""
self._voice(irc, msg, args, channel, nicks, ircmsgs.voices)
voice = wrap(voice, ['channel', ('isGranted', _('voice someone')),
any('nickInChannel')])
@ -242,12 +244,8 @@ class Channel(callbacks.Plugin):
irc.error(_('I cowardly refuse to devoice myself. If you really '
'want me devoiced, tell me to op you and then devoice '
'me yourself.'), Raise=True)
if not nicks:
nicks = [msg.nick]
def f(L):
return ircmsgs.devoices(channel, L)
self._sendMsgs(irc, nicks, f)
devoice = wrap(devoice, ['voice', ('isGranted', 'devoice someone'),
self._voice(irc, msg, args, channel, nicks, ircmsgs.devoices)
devoice = wrap(devoice, ['channel', ('haveOp', 'devoice someone'),
any('nickInChannel')])
@internationalizeDocstring
@ -346,7 +344,8 @@ class Channel(callbacks.Plugin):
if bannedNick == msg.nick:
doBan()
elif ircdb.checkCapability(msg.prefix, capability):
if ircdb.checkCapability(bannedHostmask, capability):
if ircdb.checkCapability(bannedHostmask, capability) and \
not ircdb.checkCapability(msg.prefix, 'owner'):
self.log.warning('%s tried to ban %q, but both have %s',
msg.prefix, bannedHostmask, capability)
irc.error(format(_('%s has %s too, you can\'t ban '
@ -539,7 +538,7 @@ class Channel(callbacks.Plugin):
"""[<channel>]
If you have the #channel,op capability, this will show you the
current persistent bans on #channel.
current persistent bans on the <channel>.
"""
c = ircdb.channels.getChannel(channel)
if c.bans:
@ -617,8 +616,8 @@ class Channel(callbacks.Plugin):
def add(self, irc, msg, args, channel, user, capabilities):
"""[<channel>] <nick|username> <capability> [<capability> ...]
If you have the #channel,op capability, this will give the user
<name> (or the user to whom <nick> maps)
If you have the #channel,op capability, this will give the
<username> (or the user to whom <nick> maps)
the capability <capability> in the channel. <channel> is only
necessary if the message isn't sent in the channel itself.
"""
@ -827,8 +826,8 @@ class Channel(callbacks.Plugin):
msg.args[0] != channel and \
(ircutils.isChannel(msg.args[0]) or \
msg.nick not in irc.state.channels[channel].users):
irc.error(_('You don\'t have access to that information.'))
return
irc.error(_('You don\'t have access to that information.'),
Raise=True)
L = list(irc.state.channels[channel].users)
keys = [option for (option, arg) in optlist]
if 'count' not in keys:

View File

@ -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)

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-19 16:57+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -0,0 +1,186 @@
msgid ""
msgstr ""
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-07-05 13:41+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"
"Language-Team: Italian <skizzhg@gmx.com>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: config.py:60
msgid ""
"Determines whether the bot will keep channel\n"
" statistics on itself, possibly skewing the channel stats (especially in\n"
" cases where the bot is relaying between channels on a network)."
msgstr ""
"Determina se il bot terrà statistiche del canale, probabilmente alterandole\n"
" (in particolare in caso faccia l'inoltro dei messaggi attraverso i canali).\n"
#: config.py:64
msgid ""
"Determines what\n"
" words (i.e., pieces of text with no spaces in them) are considered\n"
" 'smileys' for the purposes of stats-keeping."
msgstr ""
"Determina quali parole (ovvero parti di testo senza spazi) sono considerate\n"
" faccine sorridenti per le statistiche."
#: config.py:68
msgid ""
"Determines what words\n"
" (i.e., pieces of text with no spaces in them ) are considered 'frowns' for\n"
" the purposes of stats-keeping."
msgstr ""
"Determina quali parole (ovvero parti di testo senza spazi) sono considerate\n"
" faccine tristi per le statistiche."
#: plugin.py:246
#, docstring
msgid ""
"[<channel>] [<name>]\n"
"\n"
" Returns the statistics for <name> on <channel>. <channel> is only\n"
" necessary if the message isn't sent on the channel itself. If <name>\n"
" isn't given, it defaults to the user sending the command.\n"
" "
msgstr ""
"[<canale>] [<nome>]\n"
"\n"
" Riporta le statistiche per <nome> su <canale>. <canale> è necessario\n"
" solo se il messaggio non viene inviato nel canale stesso. Se <nome>\n"
" non è specificato, passa all'utente che ha dato il comando.\n"
" "
#: plugin.py:259
msgid "I couldn't find you in my user database."
msgstr "Non ti trovo nel mio database utenti."
#: plugin.py:272
msgid "%s has sent %n; a total of %n, %n, %n, and %n; %s of those messages %s. %s has joined %n, parted %n, quit %n, kicked someone %n, been kicked %n, changed the topic %n, and changed the mode %n."
msgstr "%s ha inviato %n; un totale di %n, %n, %n, e %n; %s di quei messaggi %s. %s è entrato %n volte, è uscito %n volte, si è disconnesso %n volte, ha espulso qualcuno %n volte, è stato espulso %n volte, ha modificato il topic %n volte ed ha cambiato il mode %n volte."
#: plugin.py:279
msgid "character"
msgstr "carattere"
#: plugin.py:280 plugin.py:363
msgid "word"
msgstr "parola"
#: plugin.py:281 plugin.py:364
msgid "smiley"
msgstr "faccina sorridente"
#: plugin.py:282 plugin.py:365
msgid "frown"
msgstr "faccina triste"
#: plugin.py:284 plugin.py:366
msgid "was an ACTION"
msgstr "è stata un'azione (ACTION)"
#: plugin.py:285 plugin.py:367
msgid "were ACTIONs"
msgstr "sono state azioni (ACTION)"
#: plugin.py:287 plugin.py:288 plugin.py:289 plugin.py:290 plugin.py:291
#: plugin.py:292 plugin.py:293
msgid "time"
msgstr "volta"
#: plugin.py:296
msgid "I have no stats for that %s in %s."
msgstr "Non ho statistiche per %s in %s."
#: plugin.py:304
#, docstring
msgid ""
"[<channel>] <stat expression>\n"
"\n"
" Returns the ranking of users according to the given stat expression.\n"
" Valid variables in the stat expression include 'msgs', 'chars',\n"
" 'words', 'smileys', 'frowns', 'actions', 'joins', 'parts', 'quits',\n"
" 'kicks', 'kicked', 'topics', and 'modes'. Any simple mathematical\n"
" expression involving those variables is permitted.\n"
" "
msgstr ""
"[<canale>] <espressione statistica>\n"
"\n"
" Riporta la classifica degli utenti in base all'espresisone fornita.\n"
" Le variabili valide sono: \"msgs\", \"chars\", \"words\", \"smileys\",\n"
" \"frowns\", \"actions\", \"joins\", \"parts\", \"quits\", \"kicks\",\n"
" \"kicked\", \"topics\" e \"modes\". È permessa qualsiasi espressione\n"
" matematica che utilizzi queste variabili.\n"
" "
#: plugin.py:315
msgid "There's really no reason why you should have underscores or brackets in your mathematical expression. Please remove them."
msgstr "Non v'è alcuna ragione di usare underscore o parentesi nelle espressioni matematiche; ti invito a rimuoverli."
#: plugin.py:319
msgid "You can't use lambda in this command."
msgstr "Non è possibile usare lambda in questo comando."
#: plugin.py:333
msgid "stat variable"
msgstr "variabile di statistica"
#: plugin.py:349
#, docstring
msgid ""
"[<channel>]\n"
"\n"
" Returns the statistics for <channel>. <channel> is only necessary if\n"
" the message isn't sent on the channel itself.\n"
" "
msgstr ""
"[<canale>]\n"
"\n"
" Riporta le statistiche di <canale>. <canale> è necessario\n"
" solo se il messaggio non viene inviato nel canale stesso.\n"
" "
#: plugin.py:357
msgid "On %s there %h been %i messages, containing %i characters, %n, %n, and %n; %i of those messages %s. There have been %n, %n, %n, %n, %n, and %n. There %b currently %n and the channel has peaked at %n."
msgstr "In %s ci sono%v stati %i messaggi, contenenti %i caratteri, %n, %n, e %n; %i di questi messaggi %s. Ci sono stati %n, %n, %n, %n, %n, e %n. Attualmente ci sono%v %n e il canale ha raggiunto il picco di %n."
#: plugin.py:368
msgid "join"
msgstr "join"
#: plugin.py:369
msgid "part"
msgstr "part"
#: plugin.py:370
msgid "quit"
msgstr "quit"
#: plugin.py:371
msgid "kick"
msgstr "kick"
#: plugin.py:372
msgid "mode"
msgstr "mode"
#: plugin.py:372 plugin.py:373
msgid "change"
msgstr "modifiche"
#: plugin.py:373
msgid "topic"
msgstr "topic"
#: plugin.py:375 plugin.py:376
msgid "user"
msgstr "utente"
#: plugin.py:379
msgid "I've never been on %s."
msgstr "Non sono mai stato su %s."

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-07-08 09:05+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

155
plugins/Config/locale/de.po Normal file
View File

@ -0,0 +1,155 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-10-27 00:20+0100\n"
"Last-Translator: Florian Besser <fbesser@gmail.com>\n"
"Language: de\n"
"Language-Team: German <fbesser@gmail.com>\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"
"X-Poedit-Language: German\n"
#: plugin.py:103
msgid "configuration variable"
msgstr "Konfigurationsvariable"
#: plugin.py:109
msgid "settable configuration variable"
msgstr "setzbare Konfigurationsvariable"
#: plugin.py:136
msgid ""
"<group>\n"
"\n"
" Returns the configuration variables available under the given\n"
" configuration <group>. If a variable has values under it, it is\n"
" preceded by an '@' sign. If a variable is a 'ChannelValue', that is,\n"
" it can be separately configured for each channel using the 'channel'\n"
" command in this plugin, it is preceded by an '#' sign.\n"
" "
msgstr ""
"<Gruppe>\n"
"\n"
"Gibt die Konfigurationsvariablen aus die unter der gegeben Konfiguraions <Gruppe> verfügbar sind. Falls eine Variable mehrere Werte unter ihr wird '@' Zeichen vorangestellt. Falls eine Variable ein 'Kanalwert' wird ein '#' Zeichen vorangestellt, es ist dann möglich diese Variable für jeden Kanal, mit dem 'channel' Befehl, separat zu setzen."
#: plugin.py:148
msgid "There don't seem to be any values in %s."
msgstr "Es scheint so als würde es keine Werte in %s geben."
#: plugin.py:154
msgid ""
"<word>\n"
"\n"
" Searches for <word> in the current configuration variables.\n"
" "
msgstr ""
"<Wort>\n"
"\n"
"Sucht nach <Wort> in den momentanen Konfigurationsvariablen."
#: plugin.py:167
msgid "There were no matching configuration variables."
msgstr "Keine passende Konfigurationsvariable gefunden."
#: plugin.py:174
msgid "Global: %s; %s: %s"
msgstr "Global: %s; %s: %s"
#: plugin.py:185
msgid "That registry variable has no value. Use the list command in this plugin to see what variables are available in this group."
msgstr "Diese Registierungsvariable hat keinen Wert. Benutze den list Befehl um zu sehen welche Variablen in dieser Gruppe verfügbar sind."
#: plugin.py:200
msgid ""
"[<channel>] <name> [<value>]\n"
"\n"
" If <value> is given, sets the channel configuration variable for <name>\n"
" to <value> for <channel>. Otherwise, returns the current channel\n"
" configuration value of <name>. <channel> is only necessary if the\n"
" message isn't sent in the channel itself."
msgstr ""
"[<Kanal>] <name> [<Wert>]\n"
"\n"
"Falls <Wert> angegeben ist wird die Kanal Konfigurationsvariable für <Name> auf <Wert> gesetzt für <Kanal>. Andererseits wird der momentane Wert der Kanal Konfigurationsvariable <name> ausgegben. <Kanal> wird nur benötigt wenn die Nachricht nicht im Kanal selbst gesendet wird."
#: plugin.py:207
msgid "That configuration variable is not a channel-specific configuration variable."
msgstr "Diese Konfigurationsvariable ist keine kanalspezifische Konfigurationsvariable."
#: plugin.py:220
msgid ""
"<name> [<value>]\n"
"\n"
" If <value> is given, sets the value of <name> to <value>. Otherwise,\n"
" returns the current value of <name>. You may omit the leading\n"
" \"supybot.\" in the name if you so choose.\n"
" "
msgstr ""
"<Name> [<Wert>]\n"
"\n"
"Falls <Wert> angegeben wird, wird der Wert von <Name> auf <Wert> gesetzt. Wenn nicht, wird der momentane Wert von <Name> ausgegben> Du kannst möglicherweise das vornstehende \"supybot.\" im Namen weglassen, falls du das möchtest."
#: plugin.py:234
msgid ""
"<name>\n"
"\n"
" Returns the description of the configuration variable <name>.\n"
" "
msgstr ""
"<name>\n"
"\n"
"Gibt die Beschreibung der Konfigurationsvariable <name> aus."
#: plugin.py:242
msgid " (Current value: %s)"
msgstr " (Momentaner Wert: %s)"
#: plugin.py:245
msgid "That configuration group exists, but seems to have no help. Try \"config list %s\" to see if it has any children values."
msgstr "Diese Konfigurationsgruppe extistiert, es scheint aber so als wäre keine Hilfe verfügbar. Probiere \"config list\" um zu sehen ob es Werte darunter gibt."
#: plugin.py:249
msgid "%s has no help."
msgstr "%s hat keine Hilfe."
#: plugin.py:254
msgid ""
"<name>\n"
"\n"
" Returns the default value of the configuration variable <name>.\n"
" "
msgstr ""
"<name>\n"
"\n"
"Gibt den Standartwert der Konfigurationsvariable <name> aus."
#: plugin.py:264
msgid ""
"takes no arguments\n"
"\n"
" Reloads the various configuration files (user database, channel\n"
" database, registry, etc.).\n"
" "
msgstr ""
"hat kein Argument\n"
"\n"
"Läd verschiedene Konfigurationsdateien neu (Benuter Datenbank, Kanal Datenbank, Registrierung, etc)."
#: plugin.py:275
msgid ""
"<filename>\n"
"\n"
" Exports the public variables of your configuration to <filename>.\n"
" If you want to show someone your configuration file, but you don't\n"
" want that person to be able to see things like passwords, etc., this\n"
" command will export a \"sanitized\" configuration file suitable for\n"
" showing publicly.\n"
" "
msgstr ""
"<Dateiname>\n"
"\n"
"Exportier die öffentlichen Variablen deiner Konfiguration nach <Dateiname>. Falls du deine Konfiguration jemandem zeigen möchtest, er aber keine Dinge wie Passwörter, etc. sehen soll, wird dieser Befehl eine \"bereinigte\" Konfiguration exportieren die für die Öffentlichkeit geeignet ist."

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-28 12:33+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -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: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -50,6 +50,9 @@ conf.registerGlobalValue(Ctcp, 'versionWait',
wait after getting a version command (not a CTCP VERSION, but an actual
call of the command in this plugin named "version") before replying with
the results it has collected."""))
conf.registerGlobalValue(Ctcp, 'userinfo',
registry.String('', """Determines what will be sent when a
USERINFO query is received."""))
###
# supybot.abuse configuration variables.

55
plugins/Ctcp/locale/de.po Normal file
View File

@ -0,0 +1,55 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-10-29 19:22+0100\n"
"Last-Translator: Florian Besser <fbesser@gmail.com>\n"
"Language-Team: Germen <fbesser@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
#: plugin.py:77
msgid "\001PING ?(.*)\001"
msgstr "\001PING ?(.*)\001"
#: plugin.py:86
msgid "\001VERSION\001"
msgstr "\001VERSION\001"
#: plugin.py:91
msgid "\001USERINFO\001"
msgstr "\001USERINFO\001"
#: plugin.py:96
msgid "\001TIME\001"
msgstr "\001TIME\001"
#: plugin.py:101
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 "\001SOURCE\001"
msgstr "\001SOURCE\001"
#: plugin.py:123
msgid ""
"[<channel>] [--nicks]\n"
"\n"
" Sends a CTCP VERSION to <channel>, returning the various\n"
" version strings returned. It waits for 10 seconds before returning\n"
" the versions received at that point. If --nicks is given, nicks are\n"
" associated with the version strings; otherwise, only the version\n"
" strings are given.\n"
" "
msgstr ""
"[<Kanal>] [--nicks] \n"
"\n"
"Sendet CTCP VERSION an <Kanal>, gibt die verschiedenen Versions Zeichenketten zurück. Es wartet 10 Sekunden bevor die Versionen die zu diesem Zeitpunkt emfpangen wurden zurückgegeben werden. Falls --nicks angegeben wird, werden die Versions Zeichenketten an die Nicks geknüpft;wenn nicht werden nur die Versions Zeichenketten zurückgegeben."

View File

@ -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 <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: \n"
"Language: \n"

View File

@ -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 <progval@gmail.com>\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\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 ""

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-12 13:43+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -90,7 +90,7 @@ class Ctcp(callbacks.PluginRegexp):
def ctcpUserinfo(self, irc, msg, match):
"\x01USERINFO\x01"
self.log.info('Received CTCP USERINFO from %s', msg.prefix)
self._reply(irc, msg, 'USERINFO')
self._reply(irc, msg, 'USERINFO %s' % self.registryValue('userinfo'))
def ctcpTime(self, irc, msg, match):
"\x01TIME\x01"
@ -107,7 +107,7 @@ class Ctcp(callbacks.PluginRegexp):
"\x01SOURCE\x01"
self.log.info('Received CTCP SOURCE from %s', msg.prefix)
self._reply(irc, msg,
'SOURCE http://www.sourceforge.net/projects/supybot/')
'SOURCE https://github.com/ProgVal/Limnoria')
def doNotice(self, irc, msg):
if ircmsgs.isCtcp(msg):

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-28 20:21+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -0,0 +1,28 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-11-04 18:45+0100\n"
"Last-Translator: Florian Besser <fbesser@gmail.com>\n"
"Language-Team: German <fbesser@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
"Language: de\n"
#: config.py:46
msgid ""
"Determines whether the bot will prefix the nick\n"
" of the user giving an invalid command to the \"dunno\" response."
msgstr "Legt fest ob der Bot "
#: plugin.py:37
msgid ""
"This plugin was written initially to work with MoobotFactoids, the two\n"
" of them to provide a similar-to-moobot-and-blootbot interface for factoids.\n"
" Basically, it replaces the standard 'Error: <x> is not a valid command.'\n"
" messages with messages kept in a database, able to give more personable\n"
" responses."
msgstr "Dieses plugin wurde ursprünglich geschrieben um mit MoobotFactoids betrieben zu werden, die zwei zusammen um ein gleiches MooBot und Blootbot Interface für Factoids zu bieten. Es ersetzt die Standard 'Fehler: <x> ist kein zulässiger Befehl.' Nachricht mit einer Nachricht die in der Datenbank gespeichert ist, um die Antworten mehr zu personalisieren."

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-12 13:58+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -1,26 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# Mika Suomalainen <mika.henrik.mainio@hotmail.com>, 2011.
# Factoids plugin in Limnoria
# Copyright (C) 2011, 2012 Limnoria
# Mika Suomalainen <mika.henrik.mainio@hotmail.com>, 2011, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2011-06-28 19:40+CEST\n"
"PO-Revision-Date: 2011-07-21 19:18+0200\n"
"PO-Revision-Date: 2012-04-27 14:45+0200\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: \n"
"Language-Team: Finnish <>\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"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: config.py:45
msgid ""
"Value must include $value, otherwise the factoid's value would be left\n"
" out."
msgstr ""
"Arvon täytyy sisältää $value, muutoin factoidin arvo jätettäisiin\n"
" ulos."
msgstr "Arvon täytyy sisältää $value, muuten factoidin arvo jätettäisiin ulos."
#: config.py:51
msgid ""
@ -29,19 +29,20 @@ msgid ""
" feel more comfortable with 'is' or something else, so it's\n"
" configurable."
msgstr ""
"Määrittää mitä komentoa käytetään erottajana\n"
" \"learn\" komennossa. Oletuksena 'as' -- learn <avain> as <arvo>. Käyttäjistä saattaa\n"
" käyttäjästä saattaa olla mukavampaa käyttää 'is'iä tai jotakin muuta, joten se on\n"
" säädettävissä."
"Määrittää mitä sanaa käytetään eroittajana\n"
" \"learn\" komennossa. Oletuksena 'as' -- learn <avain> as <arvo>. Käyttäjistä saattaa\n"
" kuitenkin olla mukavampaa käyttää 'is'iä tai jotakin muuta eroittajaa, joten se on\n"
" säädettävissä."
#: config.py:56
#, fuzzy
msgid ""
"Determines whether the bot will reply with the\n"
" single matching factoid if only one factoid matches when using the search\n"
" command."
msgstr ""
"Määrittää vastaako botti yhden komennon täsmäävään\n"
" factoidiin, jos vain yksi täsmää \"search\" komentoa käytettäessä.\n"
" factoidiin, jos vain yksi täsmää \"search\" komentoa käytettäessä.\n"
#: config.py:60
msgid ""
@ -49,9 +50,9 @@ msgid ""
" commands by searching for a factoid; basically making the whatis\n"
" unnecessary when you want all factoids for a given key."
msgstr ""
"Determines whether the bot will reply to invalid\n"
" commands by searching for a factoid; basically making the whatis\n"
" unnecessary when you want all factoids for a given key."
"Määrittää vastaako botti virheelliseen komentoon etsimällä Factoidia; perusteellisesti\n"
" tehden \"whatis\" komennon tarpeettomaksi, kun tahdotaan kaikki factoidit, jotka\n"
" täsmäävät annettuun avaimeen."
#: config.py:64
msgid ""
@ -60,26 +61,24 @@ msgid ""
" several approximate matching algorithms and return a list of matching keys,\n"
" before giving up."
msgstr ""
"Jos sinä yrität etsiä olematonta factoidia,\n"
" tämä asetus saa botin yrittämään löytää mahdollisesti täsmääviä avaimia\n"
" muutaman tarkan täsmäusalgoritmin läpi ja palauttaa listan täsmäävistä avaimista ennen,\n"
" kuin luovuttaa."
"Jos sinä yritetään etsiä olematonta factoidia, tämä asetus saa botin yrittämään \n"
" löytää mahdollisesti täsmääviä avaimia muutaman tarkan täsmäusalgoritmin läpi ja\n"
" palauttaa listan täsmäävistä avaimista ennen luovuttamistaan."
#: config.py:69
msgid "$key could be $value."
msgstr "$key voisi olla $value."
#: config.py:69
#, fuzzy
msgid ""
"Determines the format of\n"
" the response given when a factoid's value is requested. All the standard\n"
" substitutes apply, in addition to \"$key\" for the factoid's key and \"$value\"\n"
" for the factoid's value."
msgstr ""
"Määrittää missä muodossa factoidin arvo annetaan, kun\n"
" factoidin arvoa pyydetään. Kaikki perus-\n"
" korvikkeet ovat voimassa, \"$key\"men lisäksi factoidin arvolle ja \"$value\"\llen factoidin arvolle."
"Määrittää missä muodossa factoidin arvo annetaan, kun factoidin arvoa pyydetään.\n"
" Kaikki peruskorvaukset ovat voimassa, \"$key\" factoidin avaimelle ja\n"
" \"$value\" factoidin arvolle."
#: plugin.py:179
msgid ""
@ -94,14 +93,12 @@ msgid ""
msgstr ""
"[<kanava>] <avain> %s <arvo>\n"
"\n"
" Liittää <avaimen> <arvoon>. <Kanava> on vaadittu vain, jos\n"
" viestiä ei lähetetä kanavalla itsellään.\n"
" Sana '%s' on vaadittu erottamaan avain arvosta.\n"
" Se voidaan vaihtaa toiseksi sanaksi\n"
" learnSeparator rekisteriarvolla.\n"
" "
" Liittää <avaimen> <arvoon>. <Kanava> on vaadittu vain, jos viestiä ei lähetetä\n"
" kanavalla itsellään. Sana '%s' on vaadittu erottamaan avain arvosta. Se voidaan\n"
" vaihtaa toiseksi sanaksi rekisteriarvolla plugins.Factoids.learnSeparator."
#: plugin.py:199
#, fuzzy
msgid ""
"Try to typo-match input to possible factoids.\n"
" \n"
@ -112,10 +109,9 @@ msgid ""
msgstr ""
"Yritä typo-täsmätä mahdollisia factoideja.\n"
" \n"
" Oleta, että ensinmäinen kirjain on oikein, vähentääksesi suoritusaikaa. \n"
" Ensiksi, yritä yksinkertaista jokerimerkki hakua.\n"
" Jos se epäonnistuu, käytä Damerau-Levenshtein muokkaus-etäisyys metriä.\n"
" "
" Oleta, että ensinmäinen kirjain on oikein, vähentääksesi suoritusaikaa\n"
" Ensiksi, yritä yksinkertaista jokerimerkki hakua.\n"
" Jos se epäonnistuu, käytä Damerau-Levenshtein muokkaus-etäisyys metriä."
#: plugin.py:257
#: plugin.py:386
@ -141,19 +137,20 @@ msgid ""
msgstr ""
"[<kanava>] [--raw] <avain> [<numero>]\n"
"\n"
" Etsii <avaimen> arvoa factoidi tietokannasta. Jos numero on annettu,\n"
" palauttaa vain juuri sen factoidin. Jos '--raw' asetus on\n"
" annettu, muuttujan korvike ei vaikuta factoidissa.\n"
" <Kanava> on vaadittu vain jos viestiä ei lähetetä kanavalla\n"
" itsellään.\n"
" "
" Etsii <avaimen> arvoa factoidi tietokannasta. Jos numero on annettu,\n"
" palauttaa vain juuri sen factoidin. Jos '--raw' asetus on\n"
" annettu, muuttujan korvike ei vaikuta factoidissa.\n"
" <Kanava> on vaadittu vain jos viestiä ei lähetetä kanavalla\n"
" itsellään."
#: plugin.py:321
#: plugin.py:523
msgid "key id"
msgstr "avaimen id"
# (verbatim) ?
#: plugin.py:334
#, fuzzy
msgid ""
"[<channel>] <oldkey> <newkey> [<number>]\n"
"\n"
@ -167,13 +164,12 @@ msgid ""
msgstr ""
"[<kanava>] <vanha avain> <uusi avain> [<numero>]\n"
"\n"
" Lisää uudenavaimen <uusi avain> factoidiin, joka on liitetty <vanhalla avaimella>.\n"
" <numero> on vaadittu vain, jos vain yksi factoid on liitetty\n"
" <vanhaan avaimeen>.\n"
" Lisää <uuden avaimen> factoidiin, joka on liitetty <vanhaan avaimeen>.\n"
" <Numero> on vaadittu vain, jos vain yksi factoidi on liitetty\n"
" <vanhaan avaimeen>.\n"
"\n"
" Sama toiminto voidaan suorittaa 'learn' toiminnolla, mutta\n"
" uusi avain tulee olemassa olevan (verbatim) factoidin sisällön kautta.\n"
" "
" Sama toiminto voidaan suorittaa 'learn' toiminnolla, mutta\n"
" uusi avain tulee olemassa olamassa olevan (verbatim) factoidin sisällön kautta."
#: plugin.py:381
#: plugin.py:398
@ -182,7 +178,7 @@ msgstr "Tämä avain-factoidi suhde on jo olemassa."
#: plugin.py:389
msgid "This key has more than one factoid associated with it, but you have not provided a number."
msgstr "Tähän avaimeen on liitetty useampi, kuin yksi factoidi, mutta sinä et antanut numeroa."
msgstr "Tähän avaimeen on liitetty useampi, kuin yksi factoidi, mutta numeroa ei ole annettu."
#: plugin.py:403
msgid ""
@ -204,19 +200,18 @@ msgid ""
msgstr ""
"[<kanava>] [--plain] [--alpha] [<numero>]\n"
"\n"
" Palauttaa factoidien top-listan. käyttömäärän\n"
" (rank) perusteella. Jos <numero> ei ole annettu\n"
" palauttaa factoideja rankListLength rekisteriarvon määrittämän määrän.\n"
" Palauttaa factoidien top-listan. käyttömäärän (rank) perusteella. Jos <numero>\n"
" ei ole annettu, palauttaa factoideja rankListLength rekisteriarvon määrittämän\n"
" määrän.\n"
"\n"
" Jos asetus --plain on annettu, ranking numeroita ja käyttömääriä ei sisällytetä\n"
" ulostuloon.\n"
" Jos asetus --plain on annettu, ranking numeroita ja käyttömääriä ei sisällytetä\n"
" ulostuloon.\n"
"\n"
" Jos --alpha asetus on annettu --plain :in lisäksi, avaimet lajitellaan\n"
" aakkosjärjestyksessä, rankingin sijasta.\n"
" Jos --alpha asetus on annettu --plain:in lisäksi, avaimet lajitellaan \n"
" aakkosjärjestyksessä, rankingin sijasta.\n"
"\n"
" <Kanava> on vaadittu vain jos viestiä ei lähetetä kanavalla\n"
" itsellään.\n"
" "
" <Kanava> on vaadittu vain jos viestiä ei lähetetä kanavalla\n"
" itsellään."
#: plugin.py:448
msgid ""
@ -229,10 +224,9 @@ msgid ""
msgstr ""
"[<kanava>] <avain>\n"
"\n"
" Lukitsee factoid(it), jotka on liitetty <avaimeen>, jotta niitä ei voida\n"
" poistaa, eikä lisätä. <Kanava> on vaadittu vain, jos viestiä ei lähetetä\n"
" kanavalla itsellään.\n"
" "
" Lukitsee factoidi(n/t), jotka on liitetty <avaimeen>, jotta niitä ei voida\n"
" poistaa, eikä lisätä. <Kanava> on vaadittu vain, jos viestiä ei lähetetä\n"
" kanavalla itsellään."
#: plugin.py:466
msgid ""
@ -245,10 +239,9 @@ msgid ""
msgstr ""
"[<kanava>] <avain>\n"
"\n"
" Avaa factoid(it), jotka on liitetty <avaimeen>, jotta niitä voidaan\n"
" lisätä tai poistaa. <Kanava> on vaadittu vain jos viestiä ei lähetetä kanavalla\n"
" itsellään.\n"
" "
" Avaa factoidi(n/t), jotka on liitetty <avaimeen>, jotta niitä voidaan\n"
" lisätä ja poistaa. <Kanava> on vaadittu vain mikäli viestiä ei lähetetä kanavalla\n"
" itsellään."
#: plugin.py:505
msgid ""
@ -268,29 +261,29 @@ msgid ""
msgstr ""
"[<kanava>] <avain> [<numero>|*]\n"
"\n"
" Poistaa avain-factoidi suhteen <avaimelle> factoidi\n"
" tietokannasta. jos avaimelle on useampi kuin yksi suhde,\n"
" numero on vaadittu määrittämään mikä pitäisi poistaa/\n"
" *:teä voi käyttää poistamaan kaikki suhteet <avaimelle>.\n"
" Poistaa avain-factoidi suhteen <avaimelle> factoidi tietokannasta. Jos avaimelle\n"
" on useampi kuin yksi suhde, numero on vaadittu määrittämään mikä pitäisi poistaa/\n"
" *:teä voidaan käyttää poistamaan kaikki suhteet <avaimelle>.\n"
"\n"
" Jos tuloksena, avain (factoidi) jää ilman\n"
" factoidia (avain), se poistetaan tietokannasta.\n"
" Jos tuloksena, avain (factoidi) jää ilman factoidia (avain), se poistetaan\n"
" tietokannasta.\n"
"\n"
" <Kanava> on vaadittu vain, jos viestiä\n"
" ei lähetetä kanavalla itsellään.\n"
" "
" <Kanava> on vaadittu vain, jos viestiä ei lähetetä kanavalla itsellään."
#: plugin.py:537
msgid "There is no such factoid."
msgstr "Tuollaista factoidia ei ole-"
msgstr "Tuollaista factoidia ei ole."
#: plugin.py:547
msgid "Invalid factoid number."
msgstr "Epäkelvollinen factoidin numero."
#: plugin.py:552
#, fuzzy
msgid "%s factoids have that key. Please specify which one to remove, or use * to designate all of them."
msgstr "%s factoidilla on tuo avain. Ole hyvä ja määritä mikä poistetaan, tai käytä * poistaaksesi ne kaikki."
msgstr ""
"%s factoidilla on tuo avain. Poistettava avain täytyy määrittää tai käyttää merkkiä *\n"
" poistaakseen ne kaikki."
#: plugin.py:560
msgid ""
@ -302,9 +295,8 @@ msgid ""
msgstr ""
"[<Kanava>]\n"
"\n"
" Palauttaa satunnaisen factoidin <kanavan> tietokannasta. <Kanava>\n"
" on vaadittu vain jos viestiä ei lähetetä kanavalla itsellään.\n"
" "
" Palauttaa satunnaisen factoidin <kanavan> tietokannasta. <Kanava> on vaadittu vain\n"
" jos viestiä ei lähetetä kanavalla itsellään."
#: plugin.py:582
msgid "I couldn't find a factoid."
@ -321,18 +313,17 @@ msgid ""
msgstr ""
"[<kanava>] <avain>\n"
"\n"
" Antaa tiedot factod(eista), jotka on liitetty <avaimella>.\n"
" <Kanava> on vaadittu vain, jos viestiä ei lähetetä kanavalla\n"
" itsellään.\n"
" "
" Antaa tiedot factoid(ista/eista), jotka on liitetty <avaimella>.\n"
" <Kanava> on vaadittu vain, jos viestiä ei lähetetä kanavalla\n"
" itsellään."
#: plugin.py:613
msgid "#%i was added by %s at %s, and has been recalled %n"
msgstr "#%i:inlisäsi %s %s, aja on kutsuttu %n"
msgstr "#Factoidin %i lisäsi %s %s, ja sitä on kutsuttu %n"
#: plugin.py:616
msgid "time"
msgstr "aika"
msgstr "kerta"
#: plugin.py:626
msgid ""
@ -344,9 +335,8 @@ msgid ""
msgstr ""
"[<kanava>] <avain> <numero> <säännöllinen lauseke>\n"
"\n"
" Vaihtaa factoidin #<numeroa>, joka on liitetty <avaimeen> \n"
" <säännöllisen lausekkeen> mukaan.\n"
" "
" Vaihtaa factoidin #<numeroa>, joka on liitetty <avaimeen> \n"
" <säännöllisen lausekkeen> mukaan."
#: plugin.py:640
msgid "I couldn't find any key %q"
@ -363,9 +353,10 @@ msgid ""
msgstr ""
"[<kanava>] [--values] [--{regexp} <arvo>] [<glob> ...]\n"
"\n"
" Etsii avainavaruudesta avaimia, jotka täsmäävät <glob>. Jos --regexp on annettu,\n"
" liittää arvon, joka on otettu säännöllisestä lausekkeesta ja täsmätty avaimia vastaan.\n"
" Jos --values on annettu, etsii arvoavaruudesta avainavaruuden sijaan.\n"
" Etsii avainavaruudesta avaimia, jotka täsmäävät <globiin>. Jos --regexp on\n"
" annettu, liittää arvon, joka on otettu säännöllisestä lausekkeesta ja täsmätty\n"
" avaimia vastaan. Jos --values on annettu, etsii arvoavaruudesta avainavaruuden\n"
" sijaan.\n"
" "
#: plugin.py:692

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-07-18 13:05+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-07-19 22:51+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -213,7 +213,7 @@ msgstr ""
"<numero> <teksti>\n"
"\n"
" Palauttaa <number>:nen välilyönnillä erotetut osan <tekstiät>. Esim. jos teksti\n"
" on \"foo bar baz\" ja <numero> on 2, palauttaa \"bar\ :in.\".\n"
" on \"foo bar baz\" ja <numero> on 2, palauttaa \"bar\" :in.\".\n"
" "
#: plugin.py:192

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-29 14:11+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

134
plugins/Games/locale/de.po Normal file
View File

@ -0,0 +1,134 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-11-10 23:19+0100\n"
"Last-Translator: Florian Besser <fbesser@gmail.com>\n"
"Language-Team: DE <DE@DE>\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"
"X-Poedit-Language: German\n"
#: plugin.py:46
msgid ""
"takes no arguments\n"
"\n"
" Flips a coin and returns the result.\n"
" "
msgstr ""
"hat keine Argumente\n"
"\n"
"Wirft eine Münze und gibt das Ergebnis aus."
#: plugin.py:51
msgid "heads"
msgstr "Kopf"
#: plugin.py:53
msgid "tails"
msgstr "Zahl"
#: plugin.py:58
msgid ""
"<dice>d<sides>\n"
"\n"
" Rolls a die with <sides> number of sides <dice> times.\n"
" For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10\n"
" ten-sided dice.\n"
" "
msgstr ""
"<würfel>d<Seiten>\n"
"\n"
"Wirft einen Würfel mit <Seiten> Anzahl der Seiten, <Würfel> mal. z.B. 2d6 wirft 2 Würfel mit 6 Seiten; 10d10 wirft 10 mal einen 10 seitigen Würfel."
#: plugin.py:66
msgid "You can't roll more than 1000 dice."
msgstr "Du kannst nicht mehr wie 1000 Würfel werfen."
#: plugin.py:68
msgid "Dice can't have more than 100 sides."
msgstr "Würfel kann nicht mehr als 100 Seiten haben."
#: plugin.py:70
msgid "Dice can't have fewer than 3 sides."
msgstr "Würfel können nicht weniger wie 3 Seiten haben."
#: plugin.py:78
msgid "Dice must be of the form <dice>d<sides>"
msgstr "Würfel muss mit <Würfel>d<Seite> angegeben werden"
#: plugin.py:82
msgid "It is possible.|Yes!|Of course.|Naturally.|Obviously.|It shall be.|The outlook is good.|It is so.|One would be wise to think so.|The answer is certainly yes."
msgstr "Es ist möglich.| Ja!|Natürlich.|Natürlicher.|Ist doch klar.|So soll es sein.|Es sieht gut aus.|So ist es.| Es wäre gut so zu denken.|Die Antwort ist sicherlich ja."
#: plugin.py:86
msgid "In your dreams.|I doubt it very much.|No chance.|The outlook is poor.|Unlikely.|About as likely as pigs flying.|You're kidding, right?|NO!|NO.|No.|The answer is a resounding no."
msgstr "In deinen Träumen.|Ich zweifel das stark an.| Keine Chance.|Es sieht schlecht aus.|Unwahrscheinlich.|So wahrscheinlich wie fliegende Schweine.| Du machst Witze, oder?|NEIN!|NEIN.|Nein.| Die Antwort ist ein klares Nein."
#: plugin.py:90
msgid "Maybe...|No clue.|_I_ don't know.|The outlook is hazy, please ask again later.|What are you asking me for?|Come again?|You know the answer better than I.|The answer is def-- oooh! shiny thing!"
msgstr "Vielleicht...| Keine Ahnung.| Ich weiß nicht.|Die Aussicht ist unklar, frag später nochmal.|Nach was fragst du mich?|Kommst du wieder?|Du weißt die Antwort besser als ich.|Die Antwort ist defin---- OHH! Da glänzt was!"
#: plugin.py:107
msgid ""
"[<question>]\n"
"\n"
" Ask a question and the answer shall be provided.\n"
" "
msgstr ""
"[<Frage>]\n"
"\n"
"Frage deine Frage und dir wird eine Antwort gegeben."
#: plugin.py:121
msgid ""
"[spin]\n"
"\n"
" Fires the revolver. If the bullet was in the chamber, you're dead.\n"
" Tell me to spin the chambers and I will.\n"
" "
msgstr ""
"[spin]\n"
"\n"
"Feuert den Revolver. Falls eine Patrone in der Kammer war, bist du tod. Sag mir das ich die Kammern drehen soll, dann werde ich das tun."
#: plugin.py:128
msgid "*SPIN* Are you feeling lucky?"
msgstr "*DREHE* Denkst du du hast Glück?"
#: plugin.py:137
msgid "*BANG* Hey, who put a blank in here?!"
msgstr "*BANG* Hey, wer hat hier eine leere Patrone reingetan?!"
#: plugin.py:139
msgid "reloads and spins the chambers."
msgstr "läd nach und dreht die Kammer."
#: plugin.py:141
msgid "*click*"
msgstr "*klick*"
#: plugin.py:148
msgid ""
"[<channel>]\n"
"\n"
" Returns the number of consecutive lines you've sent in <channel>\n"
" without being interrupted by someone else (i.e. how long your current\n"
" 'monologue' is). <channel> is only necessary if the message isn't sent\n"
" in the channel itself.\n"
" "
msgstr ""
"[<Kanal>]\n"
"\n"
"Gibt die Anzahl der aufeinderfolgenen Zeilen an, die du im <Kanal> gesendet hast, ohne von jemand anderem unterbrochen worden zu sein (z.B. wie lang dein momentaner Monolog ist). <Kanal> ist nur nötig falls die Nachricht nicht im Kanal selbst gesendet wurde."
#: plugin.py:167
msgid "Your current monologue is at least %n long."
msgstr "Dein momentaner Monolog ist mindestens %n lang."
#: plugin.py:168
msgid "line"
msgstr "Zeile"

View File

@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-21 00:17+0200\n"
"PO-Revision-Date: 2011-11-20 21:27+0100\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"
"Language-Team: Italian <skizzhg@gmx.com>\n"
"Language: it\n"
@ -109,7 +109,7 @@ msgstr "*GIRA* Pronto a mettere alla prova la fortuna?"
#: plugin.py:137
msgid "*BANG* Hey, who put a blank in here?!"
msgstr "*BANG* Hey, chi ha fatto un buco qui?!"
msgstr "*BANG* Hei, chi ha messo una cartuccia a salve qui?!"
#: plugin.py:139
msgid "reloads and spins the chambers."

View File

@ -5,10 +5,11 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-20 22:53+0200\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: 2012-03-15 08:54+0200\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -228,7 +229,7 @@ msgstr "kielelle"
msgid "^google\\s+(.*)$"
msgstr "^google\\s+(.*)$"
#: plugin.py:336
#: plugin.py:343
msgid ""
"<expression>\n"
"\n"
@ -240,11 +241,11 @@ msgstr ""
" Käyttää Googlen laskinta laskeakseen <lausekkeen> arvon.\n"
" "
#: plugin.py:353
msgid "Google's calculator didn't come up with anything."
msgstr "Googlen laskin ei keksinyt mitään."
#: plugin.py:370
msgid "Google says: Error: %s."
msgstr "Google sanoo: Virhe: %s."
#: plugin.py:359
#: plugin.py:377
msgid ""
"<phone number>\n"
"\n"
@ -256,7 +257,9 @@ msgstr ""
" Etsii <puhelinnumeroa> Googlesta.\n"
" "
#: plugin.py:373
#: plugin.py:391
msgid "Google's phonebook didn't come up with anything."
msgstr "Googlen puhelinluettelo ei keksinyt mitään."
#~ msgid "Google's calculator didn't come up with anything."
#~ msgstr "Googlen laskin ei keksinyt mitään."

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2011-02-14 18:30+CET\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
@ -25,11 +25,11 @@ msgstr "Le plugin Google sert à lire des URLs qui correspondent à un masque sp
msgid "Do you want the Google search snarfer enabled by default?"
msgstr "Voulez-vous activer le snarfer de recherche Google par défaut ?"
#: config.py:88
#: config.py:89
msgid "Value must be 1 <= n <= 8"
msgstr "La valeur doit être comprise entre 1 et 8 (inclus)"
#: config.py:99
#: config.py:100
msgid ""
"Determines the URL that will be sent to Google for\n"
" the Referer field of the search requests. If this value is empty, a\n"
@ -37,7 +37,7 @@ msgid ""
" http://$server/$botName"
msgstr "Détermine l'URL qui sera envoyée à Google comme Referer pour les recerches. Si la valeur est vide, un Refere sera automatiquement généré dans le format : http://$server/$botNamr"
#: config.py:104
#: config.py:105
msgid ""
"Determines whether the search snarfer is\n"
" enabled. If so, messages (even unaddressed ones) beginning with the word\n"
@ -45,33 +45,33 @@ msgid ""
" channel."
msgstr "Détermine si le snarger de recherche est activé. Si c'est le cas, les messages (même non adressés) commençant par 'google' seront répondus par la première URL que Google donne pour cette recherche."
#: config.py:109
#: config.py:110
msgid ""
"Determines whether the word 'google' in the\n"
" bot's output will be made colorful (like Google's logo)."
msgstr "Détermine si le mot 'google' dans la sortie du bot sera coloré (comme le logo de Google)"
#: config.py:112
#: config.py:113
msgid "Determines whether results are bolded."
msgstr "Détermine si les résultats sont mis en gras."
#: config.py:114
#: config.py:115
msgid ""
"Determines the maximum number of results returned\n"
" from the google command."
msgstr "Détermine le nombre maximum de résultats retournés par la commande google."
#: config.py:117
#: config.py:118
msgid ""
"Determines what default language is used in\n"
" searches. If left empty, no specific language will be requested."
msgstr "Détermine quand langue par défaut est utilisée dans les recherches. Si laissé vide, aucune langue spécifique ne sera demandée."
#: config.py:117
#: config.py:118
msgid "en"
msgstr "fr"
#: config.py:120
#: config.py:121
msgid ""
"Determines what level of search filtering to use\n"
" by default. 'active' - most filtering, 'moderate' - default filtering,\n"
@ -190,11 +190,11 @@ msgstr "Les langues valides sont : %L"
msgid "to language"
msgstr "vers la langue"
#: plugin.py:297
#: plugin.py:314
msgid "^google\\s+(.*)$"
msgstr "^google\\s+(.*)$"
#: plugin.py:320
#: plugin.py:343
msgid ""
"<expression>\n"
"\n"
@ -205,11 +205,11 @@ msgstr ""
"\n"
"Utilise la calculatrice Google pour calculer la valeur de l'<expression>."
#: plugin.py:337
msgid "Google's calculator didn't come up with anything."
msgstr "La calculatrice Google ne donne aucun résultat."
#: plugin.py:370
msgid "Google says: Error: %s."
msgstr "Google dit : Erreur : %s."
#: plugin.py:343
#: plugin.py:377
msgid ""
"<phone number>\n"
"\n"
@ -220,7 +220,9 @@ msgstr ""
"\n"
"Recherche le <numéro de téléphone> sur Google."
#: plugin.py:357
#: plugin.py:391
msgid "Google's phonebook didn't come up with anything."
msgstr "L'annuaire téléphonique de Google ne donne aucun résultat."
#~ msgid "Google's calculator didn't come up with anything."
#~ msgstr "La calculatrice Google ne donne aucun résultat."

View File

@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-07-17 00:07+0200\n"
"PO-Revision-Date: 2012-03-15 20:55+0100\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"
"Language-Team: Italian <skizzhg@gmx.com>\n"
"Language: it\n"
@ -225,7 +225,7 @@ msgstr "a lingua"
msgid "^google\\s+(.*)$"
msgstr "^google\\s+(.*)$"
#: plugin.py:336
#: plugin.py:343
#, docstring
msgid ""
"<expression>\n"
@ -238,11 +238,11 @@ msgstr ""
" Utilizza la calcolatrice di Google per calcolare il valore di <espressione>.\n"
" "
#: plugin.py:353
msgid "Google's calculator didn't come up with anything."
msgstr "La calcolatrice di Google non ha fornito alcun risultato."
#: plugin.py:370
msgid "Google says: Error: %s."
msgstr "Google dice: errore: %s."
#: plugin.py:359
#: plugin.py:377
#, docstring
msgid ""
"<phone number>\n"
@ -255,7 +255,7 @@ msgstr ""
" Cerca <numero telefonico> su Google.\n"
" "
#: plugin.py:373
#: plugin.py:391
msgid "Google's phonebook didn't come up with anything."
msgstr "La rubrica di Google non ha fornito alcun risultato."

View File

@ -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: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -179,7 +179,7 @@ msgstr ""
msgid "^google\\s+(.*)$"
msgstr ""
#: plugin.py:336
#: plugin.py:343
#, docstring
msgid ""
"<expression>\n"
@ -188,11 +188,11 @@ msgid ""
" "
msgstr ""
#: plugin.py:353
msgid "Google's calculator didn't come up with anything."
#: plugin.py:370
msgid "Google says: Error: %s."
msgstr ""
#: plugin.py:359
#: plugin.py:377
#, docstring
msgid ""
"<phone number>\n"
@ -201,7 +201,7 @@ msgid ""
" "
msgstr ""
#: plugin.py:373
#: plugin.py:391
msgid "Google's phonebook didn't come up with anything."
msgstr ""

View File

@ -246,70 +246,6 @@ class Google(callbacks.PluginRegexp):
s = ', '.join([format('%s: %i', bold(s), i) for (i, s) in results])
irc.reply(s)
_gtranslateUrl='http://ajax.googleapis.com/ajax/services/language/translate'
@internationalizeDocstring
def translate(self, irc, msg, args, fromLang, toLang, text):
"""<from-language> [to] <to-language> <text>
Returns <text> translated from <from-language> into <to-language>.
Beware that translating to or from languages that use multi-byte
characters may result in some very odd results.
"""
channel = msg.args[0]
ref = self.registryValue('referer')
if not ref:
ref = 'http://%s/%s' % (dynamic.irc.server,
dynamic.irc.nick)
headers = utils.web.defaultHeaders
headers['Referer'] = ref
opts = {'q': text, 'v': '1.0'}
lang = conf.supybot.plugins.Google.defaultLanguage
if fromLang.capitalize() in lang.transLangs:
fromLang = lang.transLangs[fromLang.capitalize()]
elif lang.normalize('lang_'+fromLang)[5:] \
not in lang.transLangs.values():
irc.errorInvalid(_('from language'), fromLang,
format(_('Valid languages are: %L'),
lang.transLangs.keys()))
else:
fromLang = lang.normalize('lang_'+fromLang)[5:]
if toLang.capitalize() in lang.transLangs:
toLang = lang.transLangs[toLang.capitalize()]
elif lang.normalize('lang_'+toLang)[5:] \
not in lang.transLangs.values():
irc.errorInvalid(_('to language'), toLang,
format(_('Valid languages are: %L'),
lang.transLangs.keys()))
else:
toLang = lang.normalize('lang_'+toLang)[5:]
if fromLang == 'auto':
fromLang = ''
if toLang == 'auto':
irc.error("Destination language cannot be 'auto'.")
return
opts['langpair'] = '%s|%s' % (fromLang, toLang)
fd = utils.web.getUrlFd('%s?%s' % (self._gtranslateUrl,
urllib.urlencode(opts)),
headers)
json = simplejson.load(fd)
fd.close()
if json['responseStatus'] != 200:
raise callbacks.Error, 'Google says: Response Status %s: %s.' % \
(json['responseStatus'], json['responseDetails'],)
if fromLang != '':
irc.reply(json['responseData']['translatedText'].encode('utf-8'))
else:
detected_language = json['responseData']['detectedSourceLanguage'].encode('utf-8')
translation = json['responseData']['translatedText'].encode('utf-8')
try:
long_lang_name = [k for k,v in lang.transLangs.iteritems() if v == detected_language][0]
except IndexError: #just in case google adds langs we don't know about
long_lang_name = detected_language
responsestring = "(Detected source language: %s) %s" % \
(long_lang_name, translation)
irc.reply(responsestring)
translate = wrap(translate, ['something', 'to', 'something', 'text'])
def googleSnarfer(self, irc, msg, match):
r"^google\s+(.*)$"
if not self.registryValue('searchSnarfer', msg.args[0]):
@ -327,7 +263,14 @@ class Google(callbacks.PluginRegexp):
url = r'http://google.com/search?q=' + s
return url
_calcRe = re.compile(r'<h\d class="?r"?.*?<b>(.*?)</b>', re.I)
def _googleUrlIG(self, s):
s = s.replace('+', '%2B')
s = s.replace(' ', '+')
url = r'http://www.google.com/ig/calculator?hl=en&q=' + s
return url
_calcRe1 = re.compile(r'<table.*class="?obcontainer"?[^>]*>(.*?)</table>', re.I)
_calcRe2 = re.compile(r'<h\d class="?r"?[^>]*>(?:<b>)?(.*?)(?:</b>)?</h\d>', re.I | re.S)
_calcSupRe = re.compile(r'<sup>(.*?)</sup>', re.I)
_calcFontRe = re.compile(r'<font size=-2>(.*?)</font>')
_calcTimesRe = re.compile(r'&(?:times|#215);')
@ -337,9 +280,22 @@ class Google(callbacks.PluginRegexp):
Uses Google's calculator to calculate the value of <expression>.
"""
urlig = self._googleUrlIG(expr)
js = utils.web.getUrl(urlig)
# fix bad google json
js = js \
.replace('lhs:','"lhs":') \
.replace('rhs:','"rhs":') \
.replace('error:','"error":') \
.replace('icc:','"icc":') \
.replace('\\', '\\\\')
js = simplejson.loads(js)
url = self._googleUrl(expr)
html = utils.web.getUrl(url)
match = self._calcRe.search(html)
match = self._calcRe1.search(html)
if match is None:
match = self._calcRe2.search(html)
if match is not None:
s = match.group(1)
s = self._calcSupRe.sub(r'^(\1)', s)
@ -348,7 +304,8 @@ class Google(callbacks.PluginRegexp):
s = utils.web.htmlToText(s)
irc.reply(s)
else:
irc.reply(_('Google\'s calculator didn\'t come up with anything.'))
irc.reply(_('Google says: Error: %s.') % (js['error'],))
irc.reply('Google\'s calculator didn\'t come up with anything.')
calc = wrap(calc, ['text'])
_phoneRe = re.compile(r'Phonebook.*?<font size=-1>(.*?)<a href')

View File

@ -58,11 +58,6 @@ class GoogleTestCase(ChannelPluginTestCase):
self.assertRegexp('fight supybot moobot', r'.*supybot.*: \d+')
self.assertNotError('fight ... !')
def testTranslate(self):
self.assertRegexp('translate en es hello world', 'mundo')
self.assertRegexp('translate auto en ciao', 'Italian.*hello')
self.assertError('translate en to auto stuff')
def testCalcDoesNotHaveExtraSpaces(self):
self.assertNotRegexp('google calc 1000^2', r'\s+,\s+')

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-30 02:17+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-12 14:14+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -1,6 +1,6 @@
###
# Copyright (c) 2003-2005, Jeremiah Fincher
# Copyright (c) 2010, James Vega
# Copyright (c) 2010-2011, James Vega
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@ -55,11 +55,8 @@ class Internet(callbacks.Plugin):
irc.reply(hostname)
else:
try:
ip = socket.gethostbyname(host)
if ip == '64.94.110.11': # Verisign sucks!
irc.reply(_('Host not found.'))
else:
irc.reply(ip)
ip = socket.getaddrinfo(host, None)[0][4][0]
irc.reply(ip)
except socket.error:
irc.reply(_('Host not found.'))
dns = wrap(dns, ['something'])
@ -153,12 +150,22 @@ class Internet(callbacks.Plugin):
Returns the hexadecimal IP for that IP.
"""
quads = ip.split('.')
ret = ""
for quad in quads:
i = int(quad)
ret += '%02x' % i
irc.reply(ret.upper())
if utils.net.isIPV4(ip):
quads = ip.split('.')
for quad in quads:
i = int(quad)
ret += '%02X' % i
else:
octets = ip.split(':')
for octet in octets:
if octet:
i = int(octet, 16)
ret += '%04X' % i
else:
missing = (8 - len(octets)) * 4
ret += '0' * missing
irc.reply(ret)
hexip = wrap(hexip, ['ip'])
Internet = internationalizeDocstring(Internet)

View File

@ -1 +1,7 @@
Insert a description of your plugin here, with any notes, etc. about using it.
This will increase or decrease karma for the item.
If "config plugins.karma.allowUnaddressedKarma" is set to true, saying "boats++" will give 1 karma to "boats", and "ships--" will subtract 1 karma from "ships".
However, if you use this in a sentence, like "That deserves a ++. Kevin++", 1 karma will be added to "That deserves a ++. Kevin", so you should only add or subtract karma in a line that doesn't have anything else in it.
If "config plugins.karma.allowUnaddressedKarma" is set to false, you must use "botname: bots++" to add or subtract karma.

View File

@ -40,24 +40,24 @@ def configure(advanced):
from supybot.questions import expect, anything, something, yn
conf.registerPlugin('Karma', True)
conf.registerPlugin('Karma')
Karma = conf.registerPlugin('Karma')
conf.registerChannelValue(conf.supybot.plugins.Karma, 'simpleOutput',
conf.registerChannelValue(Karma, 'simpleOutput',
registry.Boolean(False, _("""Determines whether the bot will output shorter
versions of the karma output when requesting a single thing's karma.""")))
conf.registerChannelValue(conf.supybot.plugins.Karma, 'response',
conf.registerChannelValue(Karma, 'response',
registry.Boolean(False, _("""Determines whether the bot will reply with a
success message when something's karma is increased or decreased.""")))
conf.registerChannelValue(conf.supybot.plugins.Karma, 'rankingDisplay',
conf.registerChannelValue(Karma, 'rankingDisplay',
registry.Integer(3, _("""Determines how many highest/lowest karma things
are shown when karma is called with no arguments.""")))
conf.registerChannelValue(conf.supybot.plugins.Karma, 'mostDisplay',
conf.registerChannelValue(Karma, 'mostDisplay',
registry.Integer(25, _("""Determines how many karma things are shown when
the most command is called.""")))
conf.registerChannelValue(conf.supybot.plugins.Karma, 'allowSelfRating',
conf.registerChannelValue(Karma, 'allowSelfRating',
registry.Boolean(False, _("""Determines whether users can adjust the karma
of their nick.""")))
conf.registerChannelValue(conf.supybot.plugins.Karma, 'allowUnaddressedKarma',
conf.registerChannelValue(Karma, 'allowUnaddressedKarma',
registry.Boolean(False, _("""Determines whether the bot will
increase/decrease karma without being addressed.""")))

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-28 10:43+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -60,11 +60,11 @@ class SqliteKarmaDB(object):
if filename in self.dbs:
return self.dbs[filename]
if os.path.exists(filename):
db = sqlite3.connect(filename)
db = sqlite3.connect(filename, check_same_thread=False)
db.text_factory = str
self.dbs[filename] = db
return db
db = sqlite3.connect(filename)
db = sqlite3.connect(filename, check_same_thread=False)
db.text_factory = str
self.dbs[filename] = db
cursor = db.cursor()

View File

@ -1 +1,5 @@
Insert a description of your plugin here, with any notes, etc. about using it.
Allows the use of the Luser Attitude Readjustment Tool on someone or something.
Example:
If you add 'slaps $who'.
Someone says '@lart ChanServ'.
* bot slaps ChanServ

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-12 14:41+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

161
plugins/Later/locale/de.po Normal file
View File

@ -0,0 +1,161 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot\n"
"POT-Creation-Date: 2011-08-10 11:28+CEST\n"
"PO-Revision-Date: 2011-11-02 00:00+0100\n"
"Last-Translator: Florian Besser <fbesser@gmail.com>\n"
"Language-Team: German <fbesser@gmail.com>\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"
"X-Poedit-Language: German\n"
"X-Poedit-Country: GERMANY\n"
#: config.py:45
msgid ""
"Determines the maximum number of\n"
" messages to be queued for a user. If this value is 0, there is no maximum.\n"
" "
msgstr "Legt die maximalanzahl von Nachrichten fest die in einer Warteschlange abgelegt werden. Falls dieser Wert 0 ist, gibt es keine begrenzung."
#: config.py:49
msgid ""
"Determines whether users will be notified in\n"
" the first place in which they're seen, or in private."
msgstr "Legt fest ob der Benutzer dort benachrichtig wird wo er zuerst gesehen wird, oder privat."
#: config.py:52
msgid ""
"Determines whether users will be notified upon\n"
" joining any channel the bot is in, or only upon sending a message."
msgstr "Legt fest ob ein Benutzer benachrichtig werden soll sobald er einen Kanal des Bots betritt, oder nach dem senden einer Nachricht."
#: config.py:55
msgid ""
"Determines the maximum number of\n"
" days that a message will remain queued for a user. After this time elapses,\n"
" the message will be deleted. If this value is 0, there is no maximum."
msgstr "Legt die maximal Anzahl an Tagen fest, die eine Nachricht in der Warteschlange bleibt. Nach dieser Zeit wird die Nachricht gelöscht. Falls dieser Wert 0 ist gibt es keine Begrenzung."
#: plugin.py:46
msgid ""
"Used to do things later; currently, it only allows the sending of\n"
" nick-based notes. Do note (haha!) that these notes are *not* private\n"
" and don't even pretend to be; if you want such features, consider using the\n"
" Note plugin."
msgstr "Wird benutzt um Sachen später zu machen, momentan kann man nur Notizen an andere Nutzer senden. Beachte, dass diese Notizen *nicht* privat sind und auch nicht sein wollen; falls du soetwas sucht, überlege das Note Plugin zu benutzen."
#: plugin.py:84
msgid "%s ago"
msgstr "vor %s"
#: plugin.py:86
msgid "just now"
msgstr "jetzt"
#: plugin.py:106
msgid ""
"Validate nick according to the IRC RFC 2812 spec.\n"
"\n"
" Reference: http://tools.ietf.org/rfcmarkup?doc=2812#section-2.3.1\n"
"\n"
" Some irc clients' tab-completion feature appends 'address' characters\n"
" to nick, such as ':' or ','. We try correcting for that by trimming\n"
" a char off the end.\n"
"\n"
" If nick incorrigibly invalid, return False, otherwise,\n"
" return (possibly trimmed) nick.\n"
" "
msgstr ""
"Validiert den Nick nach der IRC RFC 2812 spec.\n"
"\n"
"Referenz: http://tools.ietf.org/rfcmarkup?doc=2812#section-2.3.1\n"
"\n"
"Manche Klienten fügen bei der Tabvervollständigung 'addressierungs' Zeichen hinzu, sowie ':' oder','. Wir probieren das zu korregieren indem wir das letzte Zeichen abschneiden.\n"
"\n"
"Falls der Nick nicht korrigiert werden kann, wird False zurückgegeben, andererseits der (möglicherweise gekürzte) Nick."
#: plugin.py:151
msgid ""
"<nick> <text>\n"
"\n"
" Tells <nick> <text> the next time <nick> is in seen. <nick> can\n"
" contain wildcard characters, and the first matching nick will be\n"
" given the note.\n"
" "
msgstr ""
"<Nick> <Text>\n"
"\n"
"Sagt <Nick> <Text>, sobald <Nick> das nächste Mal gesehen wird. <Nick> kann Platzhalter enthalten, und der erste Nick der darauf passt wird die Notiz bekommen."
#: plugin.py:159
msgid "I can't send notes to myself."
msgstr "Ich kann keine Notizen an mich selbst senden."
#: plugin.py:169
msgid "That person's message queue is already full."
msgstr "Die Warteschlange dieser person ist bereits voll."
#: plugin.py:174
msgid ""
"[<nick>]\n"
"\n"
" If <nick> is given, replies with what notes are waiting on <nick>,\n"
" otherwise, replies with the nicks that have notes waiting for them.\n"
" "
msgstr ""
"[<Nick>]\n"
"\n"
"Falls <Nick> angegeben wird, wird mit den Notizen geantwortet die auf <Nick> waren, andernfalls wird mit den Nicks geanwortet die Notizen in der Warteschlange haben."
#: plugin.py:185
msgid "I have no notes for that nick."
msgstr "Ich habe keine Notizen für diesen Nick."
#: plugin.py:190
msgid "I currently have notes waiting for %L."
msgstr "Ich habe momentan keine Notizen in der Warteschlange für %L."
#: plugin.py:193
msgid "I have no notes waiting to be delivered."
msgstr "Ich habe keine Notizen, die darauf warten zugestellt zu werden."
#: plugin.py:198
msgid ""
"<nick>\n"
"\n"
" Removes the notes waiting on <nick>.\n"
" "
msgstr ""
"<Nick>\n"
"\n"
"Entfernt die wartenden Notizen für <Nick>."
#: plugin.py:207
msgid "There were no notes for %r"
msgstr "Da waren keine Nachrichten für %r"
#: plugin.py:212
msgid ""
"<nick>\n"
"\n"
" Removes the latest note you sent to <nick>.\n"
" "
msgstr ""
"<Nick>\n"
"\n"
"Entfern die letzte Notiz die du an <Nick> gesendet hast."
#: plugin.py:217
msgid "There are no note waiting for %s."
msgstr "Es gibt keine Notiz, die auf %s wartet."
#: plugin.py:228
msgid "There are no note from you waiting for %s."
msgstr "Es gibt keine Notiz von dir, die auf %s wartet."
#: plugin.py:252
msgid "Sent %s: <%s> %s"
msgstr "%s gesendet: <%s> %s"

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-08-10 14:27+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -1 +1,2 @@
Insert a description of your plugin here, with any notes, etc. about using it.
This will set a limit on the channel based on plugins.Limiter.MaximumExcess plus the current number of users in the channel.
This is useful to prevent flood attacks.

View File

@ -0,0 +1,49 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Limnoria Limiter\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-09-01 18:12+0200\n"
"Last-Translator: nyuszika7h <litemininyuszika@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
#: config.py:46
msgid ""
"Determines whether the bot will maintain the\n"
" channel limit to be slightly above the current number of people in the\n"
" channel, in order to make clone/drone attacks harder."
msgstr "Meghatározza, hogy a bot tartsa-e a csatorna korlátját kicsivel a jelenlegi emberek számával a csatornában, hogy a klóntámadásokat nehezebbé tegye."
#: config.py:50
msgid ""
"Determines the minimum number of free\n"
" spots that will be saved when limits are being enforced. This should\n"
" always be smaller than supybot.plugins.Limiter.limit.maximumExcess."
msgstr "Meghatározza a szabad helyek minimum számát, amelyek meg lesznek mentve amikor a korlátok kényszerítve vannak. Ennek mindig kisebbnek kell lennie a supybot.plugins.Limiter.limit.maximumExcess-nél."
#: config.py:54
msgid ""
"Determines the maximum number of free spots\n"
" that will be saved when limits are being enforced. This should always be\n"
" larger than supybot.plugins.Limiter.limit.minimumExcess."
msgstr "Meghatározza a szabad helyek maximum számát, amelyek meg lesznek mentve amikor a korlátok kényszerítve vannak. Ennek mindig nagyobbnak kell lennie a supybot.plugins.Limiter.limit.minimumExcess-nél."
#: plugin.py:39
#, docstring
msgid ""
"In order to use this plugin, its config values need to be properly\n"
" setup. supybot.plugins.Limiter.enable needs to be set to True and\n"
" supybot.plugins.Limiter.{maximumExcess,minimumExcess} should be set to\n"
" values appropriate to your channel (if the defaults aren't satisfactory).\n"
" Once these are set, and someone enters/leaves the channel, Supybot will\n"
" start setting the proper +l modes.\n"
" "
msgstr "A bővítmény használatához a konfigurációs értékeinek rendesen be kell lenniük állítva. A supybot.plugins.Limiter.enable True-ra kell, hogy legyen állítva, és a supybot.plugins.Limiter.{maximumExcess,minimumExcess}-nek a csatornának megfelelő értékekre kell lenniük állítva (ha az alapértelmezés nem kielégítő). Ahogy ezek be vannak állítva, és valaki be-/kilép a csatornáról/-ba, a Supybot elkezdi beállítani a megfelelő +l módokat."

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-15 13:37+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -1 +1 @@
Insert a description of your plugin here, with any notes, etc. about using it.
This plugin provides a calculator, converter, a listo of units and other useful math functions.

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-06-21 17:27+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -102,10 +102,15 @@ class Math(callbacks.Plugin):
return cmath.sqrt(x)
else:
return math.sqrt(x)
def _cbrt(x):
return math.pow(x, 1.0/3)
_mathEnv['sqrt'] = _sqrt
_mathEnv['cbrt'] = _cbrt
_mathEnv['abs'] = abs
_mathEnv['max'] = max
_mathEnv['min'] = min
_mathSafeEnv = dict([(x,y) for x,y in _mathEnv.items()
if x not in ['factorial']])
_mathRe = re.compile(r'((?:(?<![A-Fa-f\d)])-)?'
r'(?:0x[A-Fa-f\d]+|'
r'0[0-7]+|'
@ -195,7 +200,7 @@ class Math(callbacks.Plugin):
text = self._mathRe.sub(handleMatch, text)
try:
self.log.info('evaluating %q from %s', text, msg.prefix)
x = complex(eval(text, self._mathEnv, self._mathEnv))
x = complex(eval(text, self._mathSafeEnv, self._mathSafeEnv))
irc.reply(self._complexToString(x))
except OverflowError:
maxFloat = math.ldexp(0.9999999999999999, 1024)

View File

@ -110,6 +110,7 @@ class MathTestCase(PluginTestCase):
self.assertNotError('calc (1600 * 1200) - 2*(1024*1280)')
self.assertNotError('calc 3-2*4')
self.assertNotError('calc (1600 * 1200)-2*(1024*1280)')
self.assertError('calc factorial(99)')
def testCalcNoNameError(self):
self.assertNotRegexp('calc foobar(x)', 'NameError')
@ -134,6 +135,7 @@ class MathTestCase(PluginTestCase):
self.assertResponse('icalc 1^1', '0')
self.assertResponse('icalc 10**24', '1' + '0'*24)
self.assertRegexp('icalc 49/6', '8.16')
self.assertNotError('icalc factorial(99)')
def testRpn(self):
self.assertResponse('rpn 5 2 +', '7')

View File

@ -1,6 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"Project-Id-Version: Limnoria\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-07-17 01:43+0200\n"
"Last-Translator: skizzhg <skizzhg@gmx.com>\n"

View File

@ -46,6 +46,11 @@ conf.registerGlobalValue(Misc, 'listPrivatePlugins',
plugins with the list command if given the --private switch. If this is
disabled, non-owner users should be unable to see what private plugins
are loaded.""")))
conf.registerGlobalValue(Misc, 'listUnloadedPlugins',
registry.Boolean(True, _("""Determines whether the bot will list unloaded
plugins with the list command if given the --unloaded switch. If this is
disabled, non-owner users should be unable to see what unloaded plugins
are available.""")))
conf.registerGlobalValue(Misc, 'timestampFormat',
registry.String('[%H:%M:%S]', _("""Determines the format string for
timestamps in the Misc.last command. Refer to the Python documentation

293
plugins/Misc/locale/de.po Normal file
View File

@ -0,0 +1,293 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: 2012-04-27 15:40+0200\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: German <fbesser@gmail.com>\n"
"Language: de\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"
"X-Poedit-Language: de\n"
#: config.py:45
msgid ""
"Determines whether the bot will list private\n"
" plugins with the list command if given the --private switch. If this is\n"
" disabled, non-owner users should be unable to see what private plugins\n"
" are loaded."
msgstr "Legt fest ob der Bot private Plugins mit dem list Befehl auflisten soll, wenn man den --private Schalter angibt. Falls das deaktiviert ist, ist es nicht Inhabern unmöglich zu sehen ob private Plugins geladen sind."
#: config.py:50
#, fuzzy
msgid ""
"Determines whether the bot will list unloaded\n"
" plugins with the list command if given the --unloaded switch. If this is\n"
" disabled, non-owner users should be unable to see what unloaded plugins\n"
" are available."
msgstr "Legt fest ob der Bot private Plugins mit dem list Befehl auflisten soll, wenn man den --private Schalter angibt. Falls das deaktiviert ist, ist es nicht Inhabern unmöglich zu sehen ob private Plugins geladen sind."
#: config.py:55
msgid ""
"Determines the format string for\n"
" timestamps in the Misc.last command. Refer to the Python documentation\n"
" for the time module to see what formats are accepted. If you set this\n"
" variable to the empty string, the timestamp will not be shown."
msgstr "Legt das Format der Zeichenkette für Zeitstempel im Misc.last Befehl fest. Schau in die Python Dokumentation für das time Modul um zu sehen welche Formate unterstützt sind. Falls du diese Variable auf eine leere Zeichenkette setzt wird kein Zeitstempel angezeigt."
#: config.py:62
msgid ""
"Determines whether or not\n"
" the timestamp will be included in the output of last when it is part of a\n"
" nested command"
msgstr "Legt fest ob der Zeitstempel mit in der Ausgabe stehen soll, wenn der letzte Befehl teil eines verschachtelten Befehls war."
#: config.py:66
msgid ""
"Determines whether or not the\n"
" nick will be included in the output of last when it is part of a nested\n"
" command"
msgstr "Legt fest ob der Nick mit in der Ausgabe stehen soll, wenn der letzte Befehl teil eines verschachtelten Befehls war."
#: plugin.py:104
msgid "You've given me %s invalid commands within the last minute; I'm now ignoring you for %s."
msgstr "Du hast mir %s nicht zulässige Befehle innerhalb der letzten Minute gegeben. Ich werde dich für %s ignorieren."
#: plugin.py:116
msgid "The %q plugin is loaded, but there is no command named %q in it. Try \"list %s\" to see the commands in the %q plugin."
msgstr "Das %q Plugin ist geladen, aber es besitzt keinen Befehl mit dem Namen %q. Versuche \"list %s\" um die Befehle des %q Plugins zu sehen."
#: plugin.py:142
#, fuzzy
msgid ""
"[--private] [--unloaded] [<plugin>]\n"
"\n"
" Lists the commands available in the given plugin. If no plugin is\n"
" given, lists the public plugins available. If --private is given,\n"
" lists the private plugins. If --unloaded is given, it will list\n"
" available plugins that are not loaded.\n"
" "
msgstr ""
"[--private] [<Plugin>]\n"
"\n"
"Listet die Befehl auf die das gegebene Plugin anbietet. Falls kein Plugin angegeben wird, werden alle verfügbaren öffentliche Befehle aufgelistet. Falls --private angegeben wird, werden alle privaten Plugins aufgelistet."
#: plugin.py:163
msgid "--private and --unloaded are uncompatible options."
msgstr ""
#: plugin.py:194
msgid "There are no private plugins."
msgstr "Es gibt keine privaten Plugins."
#: plugin.py:196
msgid "There are no public plugins."
msgstr "Es gibt keine öffentlichen Plugins."
#: plugin.py:203
msgid "That plugin exists, but has no commands. This probably means that it has some configuration variables that can be changed in order to modify its behavior. Try \"config list supybot.plugins.%s\" to see what configuration variables it has."
msgstr "Dieses Plugin existiert, hat aber keine Befehle. Das heißt womöglich das es einige Konfigurationsvariablen hat, die verändert werden können um das Verhalten zu beeinflussen. Probiere \"config list supybot.plugins.%s\" um zu sehen welche Konfigurationsvariablen es hat."
#: plugin.py:215
msgid ""
"<string>\n"
"\n"
" Searches for <string> in the commands currently offered by the bot,\n"
" returning a list of the commands containing that string.\n"
" "
msgstr ""
"<Zeichenkette>\n"
"\n"
"Sucht nach <Zeichenkette> in den Befehlen die der Bot momentan anbietet, gibt eine Liste der Befehle zurück in denen die Zeichenkette vorkommt."
#: plugin.py:234
msgid "No appropriate commands were found."
msgstr "Kein passender Befehl gefunden."
#: plugin.py:239
msgid ""
"[<plugin>] [<command>]\n"
"\n"
" This command gives a useful description of what <command> does.\n"
" <plugin> is only necessary if the command is in more than one plugin.\n"
" "
msgstr ""
"[<Plugin>] [<Befehl>]\n"
"\n"
"Gibt eine nützliche Beschreibung was der <Befehl> tut. <Plugin> wird nur benötigt, falls es den Befehl in mehr wie einem Plugin gibt."
#: plugin.py:249
msgid "That command exists in the %L plugins. Please specify exactly which plugin command you want help with."
msgstr "Den Befehl gibt es in diesen %L Plugins. Bitte gibt genau an mit welchen Plugin Befehl du Hilfe benötigst."
#: plugin.py:256
msgid "There is no command %q."
msgstr "Es gibt keinen Befehl %q."
#: plugin.py:262
msgid ""
"takes no arguments\n"
"\n"
" Returns the version of the current bot.\n"
" "
msgstr ""
"hat keine Argumente\n"
"\n"
"Gibt die momentane Bot Version aus."
#: plugin.py:276
msgid "The newest versions available online are %s."
msgstr "Die neuste online Version ist %s."
#: plugin.py:277
msgid "%s (in %s)"
msgstr "%s (in %s)"
#: plugin.py:281
msgid "I couldn't fetch the newest version from the Limnoria repository."
msgstr "Ich konnte mir die neuste Version nicht aus dem Limnoria Verzeichnis holen."
#: plugin.py:283
msgid "The current (running) version of this Supybot is %s. %s"
msgstr "Die momentane (laufende) Version von Supybot ist %s. %s"
#: plugin.py:290
msgid ""
"takes no arguments\n"
"\n"
" Returns a URL saying where to get Limnoria.\n"
" "
msgstr ""
"hat keine Argumente\n"
"\n"
"Gibt eine URL zurück die dir sagt wo man Limnoria bekommt."
#: plugin.py:294
msgid "My source is at https://github.com/ProgVal/Limnoria"
msgstr "Mein Quellcode ist auf https://github.com/ProgVal/Limnoria"
#: plugin.py:299
msgid ""
"[<nick>]\n"
"\n"
" If the last command was truncated due to IRC message length\n"
" limitations, returns the next chunk of the result of the last command.\n"
" If <nick> is given, it takes the continuation of the last command from\n"
" <nick> instead of the person sending this message.\n"
" "
msgstr ""
"[<nick>]\n"
"\n"
"Falls die Ausgabe des letzten Befehls abgeschnitten wurde, wegen der IRC Nachrichtenlänge beschränkung, wird der nexte Teil der Ausgabe des letzten Befehls ausgegben. Falls <nick> angegeben wird, wird die AUsgabe des letzten Befehls von <nick> weitergeführt, anstatt der Person die den Befehl sendete."
#: plugin.py:313
msgid "%s has no public mores."
msgstr "%s hat keine öffentlichen Nachrichten mehr."
#: plugin.py:316
msgid "Sorry, I can't find any mores for %s"
msgstr "Sorry, Ich kann nicht mehr für %s finden"
#: plugin.py:323
msgid "more message"
msgstr "mehr Nachricht"
#: plugin.py:325
msgid "more messages"
msgstr "mehr Nachrichten"
#: plugin.py:329
msgid "You haven't asked me a command; perhaps you want to see someone else's more. To do so, call this command with that person's nick."
msgstr "Du hast mir keinen Befehl geben; eventuell willst du mehr Nachrichten einer anderen Person sehen. Um das zu ereichen, rufe diesen Befehl auf mit dem Nicknamen der Person auf."
#: plugin.py:333
msgid "That's all, there is no more."
msgstr "Das ist alles, mehr ist nicht da."
#: plugin.py:343
msgid ""
"[--{from,in,on,with,without,regexp} <value>] [--nolimit]\n"
"\n"
" Returns the last message matching the given criteria. --from requires\n"
" a nick from whom the message came; --in requires a channel the message\n"
" was sent to; --on requires a network the message was sent on; --with\n"
" requires some string that had to be in the message; --regexp requires\n"
" a regular expression the message must match; --nolimit returns all\n"
" the messages that can be found. By default, the channel this command is\n"
" given in is searched.\n"
" "
msgstr ""
"[--{from,in,on,with,without,regexp} <value>] [--nolimit]\n"
"\n"
"Gibt die letzte Nachricht aus, die auf die gegeben Kriterien passt. --from benötigt den Nick von dem die Nachricht kam; --in benötigt den Kanal in den die Nachricht gesendet wurde; --on benötigt das Netzwerk in dem die Nachricht gesendet wurde; --with benötigt eine Zeichenkette die in der Nachricht vorkommt; --regexp benötigt einen regulären Ausdruck auf der auf die Nachricht zutrifft; --nolimit zeigt alle Nachrichten die gefunden wurden. Voreinstellung: Der Kanal in dem der Befehl gegeben wird, wird durchsucht."
#: plugin.py:445
msgid "The regular expression timed out."
msgstr ""
#: plugin.py:458
msgid "I couldn't find a message matching that criteria in my history of %s messages."
msgstr "I konnte keine Nachricht in meiner Geschichte von %s Nachrichten finden die auf die Kriterien passt."
#: plugin.py:473
msgid ""
"<nick> <text>\n"
"\n"
" Tells the <nick> whatever <text> is. Use nested commands to your\n"
" benefit here.\n"
" "
msgstr ""
"<nick> <text>\n"
"\n"
"Sagt <nick> den Inhalt von <text>. Benutze verschachtelte Befehle um nutzen daraus zu ziehen."
#: plugin.py:483
msgid "Dude, just give the command. No need for the tell."
msgstr "Junge, gib mir einfach den Befehl."
#: plugin.py:488
msgid "You just told me, why should I tell myself?"
msgstr "Das hast du mir gerade gesagt, wieso sollte ich es mir selbst sagen?"
#: plugin.py:493
msgid "I haven't seen %s, I'll let you do the telling."
msgstr "Ich habe %s nicht gesehen, sag es ihm selbst."
#: plugin.py:498
msgid "%s wants me to tell you: %s"
msgstr "%s will dir folgendes sagen: %s"
#: plugin.py:505
msgid ""
"takes no arguments\n"
"\n"
" Checks to see if the bot is alive.\n"
" "
msgstr ""
"hat keine Argumente\n"
"\n"
"Überprüft ob der Bot noch am Leben ist."
#: plugin.py:509
msgid "pong"
msgstr "Pong"
#: plugin.py:513
msgid ""
"[<channel>] <beginning> [--match-case]\n"
"\n"
" Returns the nick of someone on the channel whose nick begins with the\n"
" given <beginning>.\n"
" <channel> defaults to the current channel."
msgstr ""
#: plugin.py:519
msgid "I'm not even in %s."
msgstr ""
#: plugin.py:531
msgid "No such nick."
msgstr ""

View File

@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2011-08-10 11:28+CEST\n"
"PO-Revision-Date: 2011-08-10 15:00+0200\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: 2012-03-15 08:45+0200\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: \n"
"Language: \n"
@ -29,6 +29,18 @@ msgstr ""
#: config.py:50
msgid ""
"Determines whether the bot will list unloaded\n"
" plugins with the list command if given the --unloaded switch. If this is\n"
" disabled, non-owner users should be unable to see what unloaded plugins\n"
" are available."
msgstr ""
"Määrittää luetteleeko botti lataamattomat lisäosat\n"
" \"list\" komennolla jos --unloaded valitsin on annettu. Jos tämä on poistettu käytöstä,\n"
" ei-omistaja käyttäjien pitäisi olla kykenemättömiä näkemään mitkä lisäosat eivät ole\n"
" ladattuja."
#: config.py:55
msgid ""
"Determines the format string for\n"
" timestamps in the Misc.last command. Refer to the Python documentation\n"
" for the time module to see what formats are accepted. If you set this\n"
@ -39,7 +51,7 @@ msgstr ""
" aikamoduulin kohdalle nähdäksesi mitkä aikamuodot hyväksytään. Jos asetat tämän asetuksen\n"
" tyhjäksi, niin aikaleimaa ei näytetä."
#: config.py:57
#: config.py:62
msgid ""
"Determines whether or not\n"
" the timestamp will be included in the output of last when it is part of a\n"
@ -49,7 +61,7 @@ msgstr ""
" aikeleima \"last\" komennon ulostuloon, kun se on osa\n"
" sisäkkäisiä komentoja."
#: config.py:61
#: config.py:66
msgid ""
"Determines whether or not the\n"
" nick will be included in the output of last when it is part of a nested\n"
@ -59,21 +71,22 @@ msgstr ""
" sisällytetäänkö nimimerkki \"last\" komennon ulostuloon, kun se on osa sisäkkäisiä\n"
" komentoja."
#: plugin.py:81
#: plugin.py:104
msgid "You've given me %s invalid commands within the last minute; I'm now ignoring you for %s."
msgstr "Olet antanut minulle %s epäkelvollista komentoa minuutin sisällä; Minä kiellän sinut nyt %s:siä."
#: plugin.py:93
#: plugin.py:116
msgid "The %q plugin is loaded, but there is no command named %q in it. Try \"list %s\" to see the commands in the %q plugin."
msgstr "Lisäosa %q on ladattu, mutta siinä ei ole %q nimistä komentoa. Käytä komentoa \"list %s\" mähdäksesi kaikki komennot lisäosassa %q."
#: plugin.py:119
#: plugin.py:142
msgid ""
"[--private] [<plugin>]\n"
"[--private] [--unloaded] [<plugin>]\n"
"\n"
" Lists the commands available in the given plugin. If no plugin is\n"
" given, lists the public plugins available. If --private is given,\n"
" lists the private plugins.\n"
" lists the private plugins. If --unloaded is given, it will list\n"
" available plugins that are not loaded.\n"
" "
msgstr ""
"[--private] [<lisäosa>]\n"
@ -83,19 +96,23 @@ msgstr ""
" luettelee kaikki yksityiset lisäosat.\n"
" "
#: plugin.py:144
#: plugin.py:163
msgid "--private and --unloaded are uncompatible options."
msgstr "--private ja --unloaded ovat epäyhteensopivia asetuksia."
#: plugin.py:194
msgid "There are no private plugins."
msgstr "Yksityisiä lisäosia ei ole."
#: plugin.py:146
#: plugin.py:196
msgid "There are no public plugins."
msgstr "Julkisia lisäosia ei ole."
#: plugin.py:153
#: plugin.py:203
msgid "That plugin exists, but has no commands. This probably means that it has some configuration variables that can be changed in order to modify its behavior. Try \"config list supybot.plugins.%s\" to see what configuration variables it has."
msgstr "Tuo lisäosa on olemassa, mutta siinä ei ole komentoja. Tämä tarkoittaa luultavasti sitä, että sillä on joitain asetusarvoja, joita voidaan muuttaa sen käyttäytymisen muokkaamiseksi. Käytä komentoa \"config list supybot.plugins.%s\" nähdäksesi mitä asetusarvoja sillä on."
#: plugin.py:164
#: plugin.py:215
msgid ""
"<string>\n"
"\n"
@ -109,11 +126,11 @@ msgstr ""
" palauttaen listan komennoista, jotka sisältävät sen merkkiketjun.\n"
" "
#: plugin.py:183
#: plugin.py:234
msgid "No appropriate commands were found."
msgstr "Sopivia komentoja ei löytynyt."
#: plugin.py:188
#: plugin.py:239
msgid ""
"[<plugin>] [<command>]\n"
"\n"
@ -127,15 +144,15 @@ msgstr ""
" <Lisäosa> on vaadittu vain jos komento on useammassa kuin yhdessä lisäosassa.\n"
" "
#: plugin.py:198
#: plugin.py:249
msgid "That command exists in the %L plugins. Please specify exactly which plugin command you want help with."
msgstr "Tuo komento on %L lisäosassa. Ole hyvä ja määritä minkä komennon kanssa haluat apua."
#: plugin.py:205
#: plugin.py:256
msgid "There is no command %q."
msgstr "Komentoa %q ei ole."
#: plugin.py:211
#: plugin.py:262
msgid ""
"takes no arguments\n"
"\n"
@ -147,23 +164,23 @@ msgstr ""
" Palauttaa nykyisen botin version.\n"
" "
#: plugin.py:225
#: plugin.py:276
msgid "The newest versions available online are %s."
msgstr "Uusimmat verkossa olevat versiot ovat %s."
#: plugin.py:226
#: plugin.py:277
msgid "%s (in %s)"
msgstr "%s (%s:ssa)"
#: plugin.py:230
#: plugin.py:281
msgid "I couldn't fetch the newest version from the Limnoria repository."
msgstr "Minä en voinut tarkistaa uusinta versiota Limnorian pakettivarastosta."
#: plugin.py:232
#: plugin.py:283
msgid "The current (running) version of this Supybot is %s. %s"
msgstr "Nykyinen (päällä) oleva versio tästä Supybotista on %s. %s"
#: plugin.py:239
#: plugin.py:290
msgid ""
"takes no arguments\n"
"\n"
@ -175,11 +192,11 @@ msgstr ""
" Palauttaa URL:n, joka kertoo mistä Limnorian saa.\n"
" "
#: plugin.py:243
#: plugin.py:294
msgid "My source is at https://github.com/ProgVal/Limnoria"
msgstr "Minun lähdekoodini on osoitteessa: https://github.com/ProgVal/Limnoria"
#: plugin.py:248
#: plugin.py:299
msgid ""
"[<nick>]\n"
"\n"
@ -197,31 +214,31 @@ msgstr ""
" <nimimerkiltä> komennon antaneen henkilön sijasta.\n"
" "
#: plugin.py:262
#: plugin.py:313
msgid "%s has no public mores."
msgstr "%s:llä ei ole julkista jatkoa."
#: plugin.py:265
#: plugin.py:316
msgid "Sorry, I can't find any mores for %s"
msgstr "Anteeksi, en voi löytää jatkoa %s:lle."
#: plugin.py:272
#: plugin.py:323
msgid "more message"
msgstr "viesti lisää"
#: plugin.py:274
#: plugin.py:325
msgid "more messages"
msgstr "lisää viestejä"
#: plugin.py:278
#: plugin.py:329
msgid "You haven't asked me a command; perhaps you want to see someone else's more. To do so, call this command with that person's nick."
msgstr "Et ole pyytänyt minulta komentoa; ehkäpä tahdoit nähdä jonkun muun jatkon. Tehdäksesi niin, käytä tätä komentoa tuon henkilön nimimerkillä."
#: plugin.py:282
#: plugin.py:333
msgid "That's all, there is no more."
msgstr "Siinä kaikki, enempää ei ole."
#: plugin.py:292
#: plugin.py:343
msgid ""
"[--{from,in,on,with,without,regexp} <value>] [--nolimit]\n"
"\n"
@ -245,11 +262,15 @@ msgstr ""
" komento on annettu.\n"
" "
#: plugin.py:386
#: plugin.py:445
msgid "The regular expression timed out."
msgstr "Säännöllinen lauseke aiheutti aikakatkaisun."
#: plugin.py:458
msgid "I couldn't find a message matching that criteria in my history of %s messages."
msgstr "En voinut löytää viestiä, joka täsmää noihin kriteereihin %s:än viestin historiassa."
#: plugin.py:401
#: plugin.py:473
msgid ""
"<nick> <text>\n"
"\n"
@ -263,23 +284,23 @@ msgstr ""
" eduksesi tässä.\n"
" "
#: plugin.py:409
#: plugin.py:483
msgid "Dude, just give the command. No need for the tell."
msgstr "Keikari, anna vain komento. Ei tarvitse kertoa."
#: plugin.py:414
#: plugin.py:488
msgid "You just told me, why should I tell myself?"
msgstr "Sinä kerroit juuri minulle, miksi minun pitäisi kertoa itselleni?"
#: plugin.py:419
#: plugin.py:493
msgid "I haven't seen %s, I'll let you do the telling."
msgstr "En ole nähnyt %s:ää, annan sinun hoitaa kertomisen."
#: plugin.py:424
#: plugin.py:498
msgid "%s wants me to tell you: %s"
msgstr "%s haluaa minun kertovan sinulle: %s"
#: plugin.py:431
#: plugin.py:505
msgid ""
"takes no arguments\n"
"\n"
@ -291,7 +312,29 @@ msgstr ""
" Tarkistaa onko botti elossa.\n"
" "
#: plugin.py:435
#: plugin.py:509
msgid "pong"
msgstr "pong"
#: plugin.py:513
msgid ""
"[<channel>] <beginning> [--match-case]\n"
"\n"
" Returns the nick of someone on the channel whose nick begins with the\n"
" given <beginning>.\n"
" <channel> defaults to the current channel."
msgstr ""
"[<kanava>] <alku> [--match-case]\n"
"\n"
" Palauttaa jonkun kanavalla olevan nimimerkin, joka alkaa\n"
" annetulla <alulla>.\n"
" <Kanava> on oletuksena nykyinen kanava."
#: plugin.py:519
msgid "I'm not even in %s."
msgstr "En edes ole kanavalla %s."
#: plugin.py:531
msgid "No such nick."
msgstr "Tuollaista nimimerkkiä ei ole."

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Supybot-fr\n"
"POT-Creation-Date: 2011-08-10 11:28+CEST\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: \n"
"Last-Translator: Valentin Lorentz <progval@gmail.com>\n"
"Language-Team: Supybot-fr <progval@gmail.com>\n"
@ -23,60 +23,73 @@ msgstr "Détermine si le bot listera les plugins privés dans la commande 'list'
#: config.py:50
msgid ""
"Determines whether the bot will list unloaded\n"
" plugins with the list command if given the --unloaded switch. If this is\n"
" disabled, non-owner users should be unable to see what unloaded plugins\n"
" are available."
msgstr "Détermine si le bot listera les plugins déchargés dans la commande 'list', si l'option --unloaded est donné. Si cette variable est désactivée, les utilisateurs non-owner ne pourront pas voir quels plugins déchargés sont présents."
#: config.py:55
msgid ""
"Determines the format string for\n"
" timestamps in the Misc.last command. Refer to the Python documentation\n"
" for the time module to see what formats are accepted. If you set this\n"
" variable to the empty string, the timestamp will not be shown."
msgstr "Détermine la chaîne de formattage pour les timestamps de la commande Misc.last. Référez-vous à la documentation de Python sur le module 'time' pour voir quels formats sont acceptés. Si vous définissez cette variable pour être une chaîne vide, le timestamp ne sera pas affiché."
#: config.py:57
#: config.py:62
msgid ""
"Determines whether or not\n"
" the timestamp will be included in the output of last when it is part of a\n"
" nested command"
msgstr "Détermine si le timestamp sera inclu dans la sortie de 'last' lorsqu'il est dans une commande imbriquée."
#: config.py:61
#: config.py:66
msgid ""
"Determines whether or not the\n"
" nick will be included in the output of last when it is part of a nested\n"
" command"
msgstr "Détermine si le nick est inclu dans la sortie de 'last' lorsqu'il est dans une commande imbriquée."
#: plugin.py:81
#: plugin.py:104
msgid "You've given me %s invalid commands within the last minute; I'm now ignoring you for %s."
msgstr "Vous m'avez donné %s commandes invalides dans la dernière minute, je vous ignore maitenant pendant %s."
#: plugin.py:93
#: plugin.py:116
msgid "The %q plugin is loaded, but there is no command named %q in it. Try \"list %s\" to see the commands in the %q plugin."
msgstr "Le plugin %q est chargé, mais il n'a pas de commande appelée %q. Essayez \"list %s\" pour voir les commandes dans le plugin %q."
#: plugin.py:119
#: plugin.py:142
msgid ""
"[--private] [<plugin>]\n"
"[--private] [--unloaded] [<plugin>]\n"
"\n"
" Lists the commands available in the given plugin. If no plugin is\n"
" given, lists the public plugins available. If --private is given,\n"
" lists the private plugins.\n"
" lists the private plugins. If --unloaded is given, it will list\n"
" available plugins that are not loaded.\n"
" "
msgstr ""
"[--private] [<plugin>]\n"
"[--private] [--unloaded] [<plugin>]\n"
"\n"
"Liste les commandes disponibles dans le plugin donné. Si aucun plugin n'est donné, liste les plugins publics. Si --private est donné, il liste les plugins privés."
"Liste les commandes disponibles dans le plugin donné. Si aucun plugin n'est donné, liste les plugins publics. Si --private est donné, il liste les plugins privés. Si --unloaded est donné, il liste les plugins disponibles qui ne sont pas chargés."
#: plugin.py:144
#: plugin.py:163
msgid "--private and --unloaded are uncompatible options."
msgstr "--private et --unloaded ne sont pas des options compatibles."
#: plugin.py:194
msgid "There are no private plugins."
msgstr "Il n'y a pas de plugin privé."
#: plugin.py:146
#: plugin.py:196
msgid "There are no public plugins."
msgstr "Il n'y a pas de plugin privé."
#: plugin.py:153
#: plugin.py:203
msgid "That plugin exists, but has no commands. This probably means that it has some configuration variables that can be changed in order to modify its behavior. Try \"config list supybot.plugins.%s\" to see what configuration variables it has."
msgstr "Ce plugin existe, mais n'a pas de commande. Cela signifie probablement qu'il a des variables de configuration qui peuvent être changés pour modifier son comportement. Essayez \"config list supybot.plugins.%s\" pour voir quelles variables de configuration il a."
#: plugin.py:164
#: plugin.py:215
msgid ""
"<string>\n"
"\n"
@ -88,11 +101,11 @@ msgstr ""
"\n"
"Recherche la <chaîne> dans les commandes actuellement fournies par le bot et retourne une list des commandes contenant cette chaîne."
#: plugin.py:183
#: plugin.py:234
msgid "No appropriate commands were found."
msgstr "Aucune commande appropriée n'a été trouvée."
#: plugin.py:188
#: plugin.py:239
msgid ""
"[<plugin>] [<command>]\n"
"\n"
@ -104,15 +117,15 @@ msgstr ""
"\n"
"Cette commande donne une description utile de ce que fait la <commande>. <plugin> n'est nécessaire que si la commande est présente dans plus d'un plugin."
#: plugin.py:198
#: plugin.py:249
msgid "That command exists in the %L plugins. Please specify exactly which plugin command you want help with."
msgstr "Cette commande existe dans les plugins %L. Veuillez spécifier dans quel plugin se trouve la commande pour laquelle vous cherchez de l'aide."
#: plugin.py:205
#: plugin.py:256
msgid "There is no command %q."
msgstr "Il n'y a pas de commande %q."
#: plugin.py:211
#: plugin.py:262
msgid ""
"takes no arguments\n"
"\n"
@ -123,23 +136,23 @@ msgstr ""
"\n"
"Retourne la version actuelle du bot"
#: plugin.py:225
#: plugin.py:276
msgid "The newest versions available online are %s."
msgstr "Les dernières versions disponibles en ligne sont %s."
#: plugin.py:226
#: plugin.py:277
msgid "%s (in %s)"
msgstr "%s (dans %s)"
#: plugin.py:230
#: plugin.py:281
msgid "I couldn't fetch the newest version from the Limnoria repository."
msgstr "Je ne peux récupérer la dernière version sur le dépôt de Limnoria."
#: plugin.py:232
#: plugin.py:283
msgid "The current (running) version of this Supybot is %s. %s"
msgstr "La version de ce Supybot est %s. %s"
#: plugin.py:239
#: plugin.py:290
msgid ""
"takes no arguments\n"
"\n"
@ -150,11 +163,11 @@ msgstr ""
"\n"
"Retourne une URL disant où trouver Limnoria."
#: plugin.py:243
#: plugin.py:294
msgid "My source is at https://github.com/ProgVal/Limnoria"
msgstr "Ma source est disponible sur https://github.com/ProgVal/Limnoria"
#: plugin.py:248
#: plugin.py:299
msgid ""
"[<nick>]\n"
"\n"
@ -168,31 +181,31 @@ msgstr ""
"\n"
"Si la dernière commande était tronquée par les limitations de taille des messages sur IRC, retourne le morceau suivant résultant de la dernière commande. Si le <nick> est donné, continue la dernière commande du <nick> plutôt que de la personne envoyant ce message."
#: plugin.py:262
#: plugin.py:313
msgid "%s has no public mores."
msgstr "%s n'a pas de 'more' public."
#: plugin.py:265
#: plugin.py:316
msgid "Sorry, I can't find any mores for %s"
msgstr "Désolé, je ne peux trouver de 'more' pour %s"
#: plugin.py:272
#: plugin.py:323
msgid "more message"
msgstr "autre message"
#: plugin.py:274
#: plugin.py:325
msgid "more messages"
msgstr "autres messages"
#: plugin.py:278
#: plugin.py:329
msgid "You haven't asked me a command; perhaps you want to see someone else's more. To do so, call this command with that person's nick."
msgstr "Vous ne m'avez donné aucune commande. Peut-être que vous voulez voir celle de quelqu'un d'autre. Pour cela, appelez cette commande en ajoutant le nick de cette personne."
#: plugin.py:282
#: plugin.py:333
msgid "That's all, there is no more."
msgstr "C'est tout, il n'y a plus de 'more'"
#: plugin.py:292
#: plugin.py:343
msgid ""
"[--{from,in,on,with,without,regexp} <value>] [--nolimit]\n"
"\n"
@ -209,11 +222,15 @@ msgstr ""
"\n"
"Retourne le dernier message correspondant aux critères donnés. --from requiert le nick de la personne qui a envoyé le message ; --in requiert le canal sur lequel a été envoyé le message ; --with requiert une chaîne qui doit être dans le message --regexp requiert une expression régulière à laquelle le message doit correspondre ; --nolimit retourne tous les messages qui peuvent être trouvés. Par défaut, recherche dans les logs du canal sur lequel est envoyée cette commande."
#: plugin.py:386
#: plugin.py:445
msgid "The regular expression timed out."
msgstr "L'expression régulière a pris trop de temps à être évaluée."
#: plugin.py:458
msgid "I couldn't find a message matching that criteria in my history of %s messages."
msgstr "Je ne peux trouver de message correspondant à ce critère dans mon historique de %s messages."
#: plugin.py:401
#: plugin.py:473
msgid ""
"<nick> <text>\n"
"\n"
@ -225,23 +242,23 @@ msgstr ""
"\n"
"Dit le <texte> au <nick>. Utile si vous utilisez des commandes imbriquées."
#: plugin.py:409
#: plugin.py:483
msgid "Dude, just give the command. No need for the tell."
msgstr "Mec, contentes-toi de me donner la commande. Pas besoin d'utiliser 'tell'."
#: plugin.py:414
#: plugin.py:488
msgid "You just told me, why should I tell myself?"
msgstr "Vous venez de me le dire, pourquoi devrais-je me le dire moi-même ?"
#: plugin.py:419
#: plugin.py:493
msgid "I haven't seen %s, I'll let you do the telling."
msgstr "Je n'ai pas vu %s, je vous laisse lui dire."
#: plugin.py:424
#: plugin.py:498
msgid "%s wants me to tell you: %s"
msgstr "%s veut que je vous dise : %s"
#: plugin.py:431
#: plugin.py:505
msgid ""
"takes no arguments\n"
"\n"
@ -252,7 +269,26 @@ msgstr ""
"\n"
"Vérifie si le bot est encore en vie."
#: plugin.py:435
#: plugin.py:509
msgid "pong"
msgstr "pong"
#: plugin.py:513
msgid ""
"[<channel>] <beginning> [--match-case]\n"
"\n"
" Returns the nick of someone on the channel whose nick begins with the\n"
" given <beginning>.\n"
" <channel> defaults to the current channel."
msgstr ""
"[<canal>] <lettres> [--match-case]\\n"
"Retourne le nick de quelqu'un dans le salon dont le nick commence par les <lettres> indiquées.<channel> correspond par défaut au salon actuel."
#: plugin.py:519
msgid "I'm not even in %s."
msgstr "Je ne suis pas dans %s."
#: plugin.py:531
msgid "No such nick."
msgstr "Ce nick n'existe pas."

View File

@ -5,9 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: Limnoria Misc\n"
"POT-Creation-Date: 2011-08-10 11:28+CEST\n"
"PO-Revision-Date: 2011-08-10 15:41+0100\n"
"Last-Translator: nyuszika7h <litemininyuszika@gmail.com>\n"
"POT-Creation-Date: 2012-03-11 20:58+UTC\n"
"PO-Revision-Date: 2012-04-27 15:15+0200\n"
"Last-Translator: Mika Suomalainen <mika.henrik.mainio@hotmail.com>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
@ -24,6 +24,15 @@ msgid ""
msgstr "Meghatározza, hogy a bot listázza-e a privát bővítményeket a list paranccsal, ha a --private kapcsoló meg van adva. Ha ez le van tiltva, a tulajdonoson kívül más felhasználók nem láthatják, hogy milyen privát bővítmények vannak betöltve."
#: config.py:50
#, fuzzy
msgid ""
"Determines whether the bot will list unloaded\n"
" plugins with the list command if given the --unloaded switch. If this is\n"
" disabled, non-owner users should be unable to see what unloaded plugins\n"
" are available."
msgstr "Meghatározza, hogy a bot listázza-e a privát bővítményeket a list paranccsal, ha a --private kapcsoló meg van adva. Ha ez le van tiltva, a tulajdonoson kívül más felhasználók nem láthatják, hogy milyen privát bővítmények vannak betöltve."
#: config.py:55
msgid ""
"Determines the format string for\n"
" timestamps in the Misc.last command. Refer to the Python documentation\n"
@ -31,54 +40,60 @@ msgid ""
" variable to the empty string, the timestamp will not be shown."
msgstr "Meghatározza az időbélyegek formátumát a Misc.last parancsban. Hivatkozz a Python dokumentációra a time modulhoz, hogy lásd, milyen formátumok fogadhatók el. Ha üres karakterláncra állítód ezt a változót, az időbélyegző nem lesz megjelenítve."
#: config.py:57
#: config.py:62
msgid ""
"Determines whether or not\n"
" the timestamp will be included in the output of last when it is part of a\n"
" nested command"
msgstr "Meghatározza, hogy a last kimenete tartalmazza-e az időbélyegzőt, ha az egy beágyazott parancs része."
#: config.py:61
#: config.py:66
msgid ""
"Determines whether or not the\n"
" nick will be included in the output of last when it is part of a nested\n"
" command"
msgstr "Meghatározza, hogy a last kimenete tartalmazza-e a nevet, ha az egy beágyazott parancs része."
#: plugin.py:81
#: plugin.py:104
msgid "You've given me %s invalid commands within the last minute; I'm now ignoring you for %s."
msgstr "%s érvénytelen parancsot adtál nekem az utolsó percben; most mellőzlek %s-ig."
#: plugin.py:93
#: plugin.py:116
msgid "The %q plugin is loaded, but there is no command named %q in it. Try \"list %s\" to see the commands in the %q plugin."
msgstr "A %q bővítmény be van töltve, de nincs benne parancs %q névvel. Próbáld meg a \"list %s\"-t, hogy lásd a parancsokat a %q bővítményben."
#: plugin.py:119
#: plugin.py:142
#, fuzzy
msgid ""
"[--private] [<plugin>]\n"
"[--private] [--unloaded] [<plugin>]\n"
"\n"
" Lists the commands available in the given plugin. If no plugin is\n"
" given, lists the public plugins available. If --private is given,\n"
" lists the private plugins.\n"
" lists the private plugins. If --unloaded is given, it will list\n"
" available plugins that are not loaded.\n"
" "
msgstr ""
"[--private] [<bővítmény>]\n"
"\n"
"Kiírja az elérhető parancsokat a megadott bővítményben. Ha nincs megadva bővítmény, kiírja az elérhető publikus bővítményeket. Ha --private meg van adva, kiírja a privát bővítményeket."
#: plugin.py:144
#: plugin.py:163
msgid "--private and --unloaded are uncompatible options."
msgstr ""
#: plugin.py:194
msgid "There are no private plugins."
msgstr "Nincsenek privát bővítmények."
#: plugin.py:146
#: plugin.py:196
msgid "There are no public plugins."
msgstr "Nincsenek publikus bővítmények."
#: plugin.py:153
#: plugin.py:203
msgid "That plugin exists, but has no commands. This probably means that it has some configuration variables that can be changed in order to modify its behavior. Try \"config list supybot.plugins.%s\" to see what configuration variables it has."
msgstr "Ez a bővítmény létezik, de nincsenek parancsai. Ez valószínűleg azt jelenti, hogy van néhány konfigurációs változója, ami megváltoztatható, hogy módosítsd a viselkedését. Próbáld meg a \"config list supybot.plugins.%s\"-t, hogy lásd, milyen konfigurációs változói vannak."
#: plugin.py:164
#: plugin.py:215
msgid ""
"<string>\n"
"\n"
@ -90,11 +105,11 @@ msgstr ""
"\n"
"<karakterlánc>-ra keres a parancsokban, amelyeket a bot kínál, és kiírja a parancsokat, amelyek tartalmazzák a karakterláncot."
#: plugin.py:183
#: plugin.py:234
msgid "No appropriate commands were found."
msgstr "Nem található megfelelő parancs."
#: plugin.py:188
#: plugin.py:239
msgid ""
"[<plugin>] [<command>]\n"
"\n"
@ -106,15 +121,15 @@ msgstr ""
"\n"
"Ez a parancs egy hasznos leírást ad arról, hogy mit csinál <parancs>. <bővítmény> csak akkor szükséges, ha a parancs egynél több bővítményben van."
#: plugin.py:198
#: plugin.py:249
msgid "That command exists in the %L plugins. Please specify exactly which plugin command you want help with."
msgstr "Ez a parancs a(z) %L bővítményekben létezik. Kérlek pontosan határozd meg, hogy melyik bővítmény parancsának akarod látni a segítségét."
#: plugin.py:205
#: plugin.py:256
msgid "There is no command %q."
msgstr "Nincs %q parancs."
#: plugin.py:211
#: plugin.py:262
msgid ""
"takes no arguments\n"
"\n"
@ -125,23 +140,23 @@ msgstr ""
"\n"
"Kiírja a bot verzióját."
#: plugin.py:225
#: plugin.py:276
msgid "The newest versions available online are %s."
msgstr "A legújabb elérhető verziók az interneten: %s."
#: plugin.py:226
#: plugin.py:277
msgid "%s (in %s)"
msgstr "%s (%s-ban)"
#: plugin.py:230
#: plugin.py:281
msgid "I couldn't fetch the newest version from the Limnoria repository."
msgstr "Nem tudtam lekérdezni a legújabb verziót a Limnoria gyűjteményből."
#: plugin.py:232
#: plugin.py:283
msgid "The current (running) version of this Supybot is %s. %s"
msgstr "Az aktuális (futó) verziója ennek a Supybot-nak %s. %s"
#: plugin.py:239
#: plugin.py:290
msgid ""
"takes no arguments\n"
"\n"
@ -151,11 +166,11 @@ msgstr ""
"paraméter nélküli\n"
"Kiír egy linket, ami megmondja, honnan lehet a Limnoria-t megszerezni."
#: plugin.py:243
#: plugin.py:294
msgid "My source is at https://github.com/ProgVal/Limnoria"
msgstr "A forrásom https://github.com/ProgVal/Limnoria -ban van."
#: plugin.py:248
#: plugin.py:299
msgid ""
"[<nick>]\n"
"\n"
@ -169,31 +184,31 @@ msgstr ""
"\n"
"Ha a legutóbbi parancs le volt rövidítve az IRC üzenethosszúság-korlátai miatt, kiírja a következő részét az utolsó parancs eredményének. Ha <név> meg van adva, <név> utolsó parancsának a folytatását írja ki."
#: plugin.py:262
#: plugin.py:313
msgid "%s has no public mores."
msgstr "%s-nek nincsenek publikus folytatásai."
#: plugin.py:265
#: plugin.py:316
msgid "Sorry, I can't find any mores for %s"
msgstr "Sajnálom, nem találok folytatásokat %s-hoz."
#: plugin.py:272
#: plugin.py:323
msgid "more message"
msgstr "eggyel több üzenet"
#: plugin.py:274
#: plugin.py:325
msgid "more messages"
msgstr "több üzenet"
#: plugin.py:278
#: plugin.py:329
msgid "You haven't asked me a command; perhaps you want to see someone else's more. To do so, call this command with that person's nick."
msgstr "Nem adtál nekem parancsot; talán valaki más folyatását szeretnéd látni. Ha ezt szeretnéd tenni, hívd meg ezt a parancsot az adott ember nevével."
#: plugin.py:282
#: plugin.py:333
msgid "That's all, there is no more."
msgstr "Ez minden, nincs több."
#: plugin.py:292
#: plugin.py:343
msgid ""
"[--{from,in,on,with,without,regexp} <value>] [--nolimit]\n"
"\n"
@ -209,11 +224,15 @@ msgstr ""
"[--{from,in,on,with,without,regexp} <érték>] [--nolimit]\n"
"Kiírja a legutolsó üzenetet, amire illeszkedik a megadott kritérium. --from kér egy nevet, akitől az üzenet jött; --in kér egy csatornát, ahová az üzenet lett küldve; --on kér egy hálózatpt, amelyen az üzenet lett küldve; --with kér egy karakterlánc aminek az üzenetben kellett lennie; --regexp kér egy szabályos kifejezést, amelyre az üzenetnek illeszkednie kell; --nolimit kiírja az összes talált üzenetet. Alapértelmezésben abban a csatornában keres, ahol ez a parancs végre lett hajtva."
#: plugin.py:386
#: plugin.py:445
msgid "The regular expression timed out."
msgstr ""
#: plugin.py:458
msgid "I couldn't find a message matching that criteria in my history of %s messages."
msgstr "Nem találtam a kritériumra illeszkedő üzenetet a(z) %s üzenetes előzményeimben."
#: plugin.py:401
#: plugin.py:473
msgid ""
"<nick> <text>\n"
"\n"
@ -222,23 +241,23 @@ msgid ""
" "
msgstr "<név> <szöveg>Megmondja <név>-nek szöveget. Itt az előnyödre használhatod a beágyazott parancsokat."
#: plugin.py:409
#: plugin.py:483
msgid "Dude, just give the command. No need for the tell."
msgstr "Haver, csak add meg a parancsot. Nem kell mondani."
#: plugin.py:414
#: plugin.py:488
msgid "You just told me, why should I tell myself?"
msgstr "Most mondtad el nekem, miért mondjam el magamnak?"
#: plugin.py:419
#: plugin.py:493
msgid "I haven't seen %s, I'll let you do the telling."
msgstr "Nem láttam %s-t, rád hagyom a mondást."
#: plugin.py:424
#: plugin.py:498
msgid "%s wants me to tell you: %s"
msgstr "%s szeretné, hogy megmondjam neked: %s"
#: plugin.py:431
#: plugin.py:505
msgid ""
"takes no arguments\n"
"\n"
@ -249,7 +268,24 @@ msgstr ""
"\n"
"Ellenőrzi, hogy a bot él-e."
#: plugin.py:435
#: plugin.py:509
msgid "pong"
msgstr "pong"
#: plugin.py:513
msgid ""
"[<channel>] <beginning> [--match-case]\n"
"\n"
" Returns the nick of someone on the channel whose nick begins with the\n"
" given <beginning>.\n"
" <channel> defaults to the current channel."
msgstr ""
#: plugin.py:519
msgid "I'm not even in %s."
msgstr ""
#: plugin.py:531
msgid "No such nick."
msgstr ""

Some files were not shown because too many files have changed in this diff Show More