diff options
| author | Sadie Powell <sadie@witchery.services> | 2023-06-03 21:42:06 +0100 |
|---|---|---|
| committer | Sadie Powell <sadie@witchery.services> | 2023-06-03 21:51:07 +0100 |
| commit | 9d0a6ddc67b1e7bd0c32603b6fa90b702c13447d (patch) | |
| tree | 1e4d019535c89f67e7cf54a76afabe188947c668 | |
| parent | 29db25dac7aff36b4f7239a9fabd57230534cf35 (diff) | |
| parent | fbf3b344740f6bd4f9337e485e35e9e8103428bc (diff) | |
Merge branch '2.0' into 2.1.
| -rw-r--r-- | CMakeLists.txt | 10 | ||||
| -rw-r--r-- | docs/Changes | 13 | ||||
| -rw-r--r-- | docs/Changes.conf | 6 | ||||
| -rw-r--r-- | docs/LANGUAGE | 12 | ||||
| -rw-r--r-- | include/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | include/channels.h | 5 | ||||
| -rw-r--r-- | include/config.h | 23 | ||||
| -rw-r--r-- | language/anope.de_DE.po | 421 | ||||
| -rw-r--r-- | language/anope.it_IT.po | 2176 | ||||
| -rwxr-xr-x | language/update.sh | 49 | ||||
| -rw-r--r-- | modules/CMakeLists.txt | 34 | ||||
| -rw-r--r-- | modules/commands/ns_recover.cpp | 2 | ||||
| -rw-r--r-- | modules/commands/os_config.cpp | 2 | ||||
| -rw-r--r-- | modules/commands/os_mode.cpp | 4 | ||||
| -rw-r--r-- | modules/extra/m_ldap.cpp | 97 | ||||
| -rw-r--r-- | modules/extra/m_regex_pcre2.cpp | 2 | ||||
| -rw-r--r-- | modules/extra/m_ssl_openssl.cpp | 2 | ||||
| -rw-r--r-- | modules/protocol/inspircd.cpp | 2 | ||||
| -rw-r--r-- | modules/pseudoclients/chanserv.cpp | 4 | ||||
| -rw-r--r-- | src/channels.cpp | 23 | ||||
| -rw-r--r-- | src/config.cpp | 58 | ||||
| -rw-r--r-- | src/init.cpp | 28 | ||||
| -rw-r--r-- | src/logger.cpp | 2 | ||||
| -rw-r--r-- | src/modes.cpp | 2 | ||||
| -rw-r--r-- | src/servers.cpp | 4 | ||||
| -rw-r--r-- | src/users.cpp | 9 | ||||
| -rw-r--r-- | src/win32/conanfile.txt | 21 |
27 files changed, 1542 insertions, 1475 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index e0aab3e92..868880669 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -126,6 +126,12 @@ if(EXTRA_LIBS) link_directories(${EXTRA_LIBS}) endif() +# setup conan +if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/conanbuildinfo.cmake") + include("${CMAKE_CURRENT_SOURCE_DIR}/conanbuildinfo.cmake") + conan_basic_setup() +endif() + # Find gettext find_package(Gettext) find_package(Intl) @@ -371,10 +377,6 @@ if(WIN32) install(FILES ${Anope_SOURCE_DIR}/src/win32/anope.bat DESTINATION ${BIN_DIR} ) - - # Package any DLLs in src/win/ - file(GLOB EXTRA_DLLS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${Anope_SOURCE_DIR}/src/win32/*.dll") - install(FILES ${EXTRA_DLLS} DESTINATION ${BIN_DIR}) endif() install(CODE "file(REMOVE_RECURSE \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${LIB_DIR}/modules\")") diff --git a/docs/Changes b/docs/Changes index e37de690a..c9863b5fb 100644 --- a/docs/Changes +++ b/docs/Changes @@ -1,7 +1,18 @@ -Anope Version 2.0.13-git +Anope Version 2.0.14-git ------------------------ No significant changes. +Anope Version 2.0.13 +-------------------- +Fixed a crash on some compilers when trying to call methods on a null pointer +Fixed a crash when encountering an unterminated commented config block +Fixed erroneously rejecting spaces in fantasy:name +Fixed marking services pseudoclients as an oper on InspIRCd +Fixed not checking user@ip as well as user@host when logging into an operator account +Fixed setting the vhost/vident during SASL on UnrealIRCd +Updated the German translation +Updated the Italian translation + Anope Version 2.0.12 -------------------- Added account confirmation to the web panel diff --git a/docs/Changes.conf b/docs/Changes.conf index e232d7391..05c3ab179 100644 --- a/docs/Changes.conf +++ b/docs/Changes.conf @@ -9,10 +9,14 @@ Renamed the inspircd3 module to inspircd. Renamed the unreal4 module to unrealircd. Replaced uplink:ipv6 with uplink:protocol. -Anope Version 2.0.13-git +Anope Version 2.0.14-git ------------------------ No significant changes. +Anope Version 2.0.13 +-------------------- +No significant changes. + Anope Version 2.0.12 -------------------- Added the regex_pcre2 module diff --git a/docs/LANGUAGE b/docs/LANGUAGE index 3aab36b45..6788b41fe 100644 --- a/docs/LANGUAGE +++ b/docs/LANGUAGE @@ -4,6 +4,7 @@ Anope Multi Language Support 1) Building Anope with gettext support 2) Adding a new language 3) Using languages with modules +4) Updating a language file 1) Building Anope with gettext support @@ -51,3 +52,14 @@ Anope Multi Language Support All .po and .pot files should be placed in modules/third/language. Additionally an update script is provided there that will create .pot files and merge any changes to it with existing .po files. + +4) Updating a language file + + Poedit (https://poedit.net/) is a popular po file editor, and we recommend using it or another editor designed to edit + po files (especially on Windows). + + Before editing the relevant file in languages/, run `update.sh` in the languages/ folder, i.e. `cd` to it and run + ./update.sh + This will update the language file to contain all strings that need a translation. + + Then commit only the changed .po files in git. diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index 448e7fdac..763826344 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt @@ -6,8 +6,8 @@ set_target_properties(version-bin PROPERTIES LINKER_LANGUAGE CXX LINK_FLAGS "${L set(version_BINARY "$<TARGET_FILE:version-bin>") # Modify version.h from the above executable, with dependencies to version.cpp # and all of the source files in the main build -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/version_build - COMMAND ${version_BINARY} ${Anope_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/version.h ${CMAKE_CURRENT_BINARY_DIR}/build.h +add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/version.h ${CMAKE_CURRENT_BINARY_DIR}/build.h + COMMAND version-bin ${Anope_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/version.h ${CMAKE_CURRENT_BINARY_DIR}/build.h DEPENDS version-bin ${SRC_SRCS} ) # Add version-bin to list of files for CPack to ignore @@ -19,4 +19,4 @@ if(NOT WIN32) endif() # Add a custom target to the above file -add_custom_target(headers DEPENDS version-bin ${CMAKE_CURRENT_BINARY_DIR}/version_build) +add_custom_target(headers DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/version.h ${CMAKE_CURRENT_BINARY_DIR}/build.h) diff --git a/include/channels.h b/include/channels.h index e2399b381..da4ab33a4 100644 --- a/include/channels.h +++ b/include/channels.h @@ -288,6 +288,11 @@ class CoreExport Channel : public Base, public Extensible */ bool CheckKick(User *user); + /** Find which bot should send mode/topic/etc changes for this channel + * @return The bot + */ + BotInfo *WhoSends() const; + /** Finds a channel * @param name The channel to find * @return The channel, if found diff --git a/include/config.h b/include/config.h index 0cf9fe52d..bcd792adb 100644 --- a/include/config.h +++ b/include/config.h @@ -19,9 +19,11 @@ namespace Configuration { + namespace Internal + { class CoreExport Block { - friend struct Conf; + friend struct Configuration::Conf; public: typedef Anope::map<Anope::string> item_map; @@ -33,13 +35,17 @@ namespace Configuration block_map blocks; int linenum; + /* Represents a missing tag. */ + static Block EmptyBlock; + public: Block(const Anope::string &); const Anope::string &GetName() const; - int CountBlock(const Anope::string &name); - Block* GetBlock(const Anope::string &name, int num = 0); + int CountBlock(const Anope::string &name) const; + const Block* GetBlock(const Anope::string &name, int num = 0) const; + Block* GetMutableBlock(const Anope::string &name, int num = 0); - template<typename T> inline T Get(const Anope::string &tag) + template<typename T> inline T Get(const Anope::string &tag) const { return this->Get<T>(tag, ""); } @@ -65,6 +71,10 @@ namespace Configuration template<> CoreExport const Anope::string Block::Get(const Anope::string &tag, const Anope::string& def) const; template<> CoreExport time_t Block::Get(const Anope::string &tag, const Anope::string &def) const; template<> CoreExport bool Block::Get(const Anope::string &tag, const Anope::string &def) const; + } // namespace Internal + + typedef const Internal::Block Block; + typedef Internal::Block MutableBlock; /** Represents a configuration file */ @@ -128,9 +138,6 @@ namespace Configuration std::map<Anope::string, Block *> modules; Anope::map<Anope::string> bots; - /* Represents a missing tag. */ - Block EmptyBlock; - Conf(); ~Conf(); @@ -142,7 +149,7 @@ namespace Configuration BotInfo *GetClient(const Anope::string &name); - Block *GetCommand(CommandSource &); + const Block *GetCommand(CommandSource &); }; struct Uplink diff --git a/language/anope.de_DE.po b/language/anope.de_DE.po index 33850614b..ec0280e3e 100644 --- a/language/anope.de_DE.po +++ b/language/anope.de_DE.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Anope\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-01-06 18:19+0100\n" -"PO-Revision-Date: 2021-12-26 21:47+0100\n" +"POT-Creation-Date: 2023-04-21 21:30+0200\n" +"PO-Revision-Date: 2023-04-21 22:04+0200\n" "Last-Translator: henk\n" "Language-Team: German\n" "Language: de_DE\n" @@ -325,9 +325,7 @@ msgstr "%s passt zum Eintrag %s, der folgendes Privileg hat: %s." #, c-format msgid "%s matches an except on %s and cannot be banned until the except has been removed." -msgstr "" -"%s passt auf eine Ausnahme (exception) von %s und kann nicht gebannt werden bis die Ausnahme entfernt " -"worden ist." +msgstr "%s passt auf eine Ausnahme (exception) von %s und kann nicht gebannt werden bis die Ausnahme entfernt worden ist." #, c-format msgid "%s matches auto kick entry %s on %s (%s)." @@ -363,8 +361,7 @@ msgstr "%s wurde nicht in der Ignore-Liste gefunden." #, c-format msgid "%s not found on session list, but has a limit of %d because it matches entry: %s." -msgstr "" -"%s nicht in der Sitzungsliste gefunden, hat aber eine Beschränkung auf %d, weil dieser Eintrag passt: %s." +msgstr "%s nicht in der Sitzungsliste gefunden, hat aber eine Beschränkung auf %d, weil dieser Eintrag passt: %s." #, c-format msgid "%s not found on session-limit exception list." @@ -479,8 +476,7 @@ msgid "" "up on the given server. REVOKE removes this\n" "restriction." msgstr "" -"SET killt alle Operatoren vom angegebenen server und verhindert auf ihm das Erlangen von Operatoren-" -"Rechten.\n" +"SET killt alle Operatoren vom angegebenen server und verhindert auf ihm das Erlangen von Operatoren-Rechten.\n" "REVOKE entfernt diese Einschränkung wieder." #, c-format @@ -488,9 +484,7 @@ msgid "" "User access levels can be seen by using the\n" "%s command; type %s%s HELP LEVELS for\n" "information." -msgstr "" -"User access levels können mit dem Befehl %s angezeigt werden; siehe %s%s HELP LEVELS für weitere " -"Informationen." +msgstr "User access levels können mit dem Befehl %s angezeigt werden; siehe %s%s HELP LEVELS für weitere Informationen." #, c-format msgid "[auto-memo] The memo you sent to %s has been viewed." @@ -609,7 +603,7 @@ msgid "channel SET modes" msgstr "Channel SET Modi" msgid "channel SET type level" -msgstr "" +msgstr "channel SET Typ Level" msgid "channel VIEW [mask | entry-num | list]" msgstr "Channel VIEW [Maske | Nummer | Liste]" @@ -669,7 +663,7 @@ msgid "channel {ON|OFF} [ttb]" msgstr "Channel {ON | OFF}" msgid "channel {DIS | DISABLE} type" -msgstr "" +msgstr "channel {DIS | DISABLE} Typ" #, fuzzy msgid "channel {ON | LEVEL | OFF}" @@ -1018,8 +1012,7 @@ msgid "" "other channel users.\n" msgstr "" " \n" -"Siehe Befehl %s (%s%s HELP ACCESS) für Informationen, wie man einen Teil dieser Rechte anderen " -"Kanalbenutzern geben kann.\n" +"Siehe Befehl %s (%s%s HELP ACCESS) für Informationen, wie man einen Teil dieser Rechte anderen Kanalbenutzern geben kann.\n" msgid "" " \n" @@ -1052,9 +1045,7 @@ msgid "" "automatically expiring." msgstr "" " \n" -"Setzt die Zeit nach der Bot Bans ablaufen. Wenn dies eingeschaltet ist, werden von Bots durch \"Badword " -"Kicker\", \"Flood Kicker\", etc. gesetzte Bans automatisch nach der angegebenen Zeit entfernt. Mit dem " -"Wert 0 wird dieser Automatismus abgeschaltet." +"Setzt die Zeit nach der Bot Bans ablaufen. Wenn dies eingeschaltet ist, werden von Bots durch \"Badword Kicker\", \"Flood Kicker\", etc. gesetzte Bans automatisch nach der angegebenen Zeit entfernt. Mit dem Wert 0 wird dieser Automatismus abgeschaltet." #, fuzzy, c-format msgid "" @@ -1133,17 +1124,13 @@ msgid "" "akick list." msgstr "" " \n" -"Der Befehl AKICK DEL entfernt den angegebenen Nickname oder das angegebene Muster von der AutoKick-Liste. " -"Er entfernt jedoch keine Bans, die durch einen AutoKick gesetzt wurden; diese müssen manuell entfernt " -"werden.\n" +"Der Befehl AKICK DEL entfernt den angegebenen Nickname oder das angegebene Muster von der AutoKick-Liste. Er entfernt jedoch keine Bans, die durch einen AutoKick gesetzt wurden; diese müssen manuell entfernt werden.\n" " \n" -"Der Befehl AKICK LIST zeigt entweder die komplette AutoKick-Liste an oder, mit Angabe eines optionalen " -"Musters, nur die darauf passenden Einträge.\n" +"Der Befehl AKICK LIST zeigt entweder die komplette AutoKick-Liste an oder, mit Angabe eines optionalen Musters, nur die darauf passenden Einträge.\n" " \n" "Der Befehl AKICK VIEW ist eine ausführlichere Version des Befehls AKICK LIST.\n" " \n" -"Der Befehl AKICK ENFORCE lässt %s die momentane AKICK Liste durchsetzen, also diejenigen Nutzer " -"entfernen, die auf ein Muster der AKICK Liste passen.\n" +"Der Befehl AKICK ENFORCE lässt %s die momentane AKICK Liste durchsetzen, also diejenigen Nutzer entfernen, die auf ein Muster der AKICK Liste passen.\n" " \n" "Der Befehl AKICK CLEAR entfernt alle Einträge in der AKICK Liste." @@ -1744,20 +1731,20 @@ msgid "(%s from now)" msgstr "(in %s)" msgid "(Split)" -msgstr "" +msgstr "(aufgeteilt)" #, c-format msgid "(by %s on %s) %s" -msgstr "" +msgstr "(von %s am %s) %s" msgid "(disabled)" msgstr "(deaktiviert)" msgid "(founder only)" -msgstr "" +msgstr "(nur 'founder')" msgid "(now)" -msgstr "" +msgstr "(jetzt)" msgid "* AKILL any new clients connecting" msgstr "* Setzt einen AKILL auf jeden NEU verbindenden Clienten" @@ -1785,7 +1772,7 @@ msgid "* No new nick registrations" msgstr "* Keine neuen Nicknamen-Registrierungen" msgid "* Silently ignore non-opers" -msgstr "* Stilles Ignorieren von Nicht-Operatoren." +msgstr "* Stilles Ignorieren von Nicht-Operatoren" #, c-format msgid "* Use the reduced session limit of %d" @@ -1803,18 +1790,14 @@ msgid "<unknown>" msgstr "<unbekannt>" #, c-format -msgid "" -"A confirmation e-mail has been sent to %s. Follow the instructions in it to change your e-mail address." -msgstr "" -"Eine Bestätigungsmail wurde an %s gesendet. Folge den Anweisungen, um Deine E-Mail Adresse zu ändern." +msgid "A confirmation e-mail has been sent to %s. Follow the instructions in it to change your e-mail address." +msgstr "Eine Bestätigungsmail wurde an %s gesendet. Folge den Anweisungen, um Deine E-Mail Adresse zu ändern." msgid "A massmemo has been sent to all registered users." msgstr "Ein Massen-Memo wurde an alle regsitrierten Benutzer gesendet." -msgid "" -"A memo informing the user will also be sent, which includes the reason for the rejection if supplied." -msgstr "" -"Ausserdem wird dem Nutzer eine Notiz gesendet, die den Grund für die Ablehnung enthält, falls angegeben." +msgid "A memo informing the user will also be sent, which includes the reason for the rejection if supplied." +msgstr "Ausserdem wird dem Nutzer eine Notiz gesendet, die den Grund für die Ablehnung enthält, falls angegeben." msgid "A memo informing the user will also be sent." msgstr "Ausserdem wird dem Nutzer eine Notiz gesendet." @@ -1924,6 +1907,9 @@ msgstr "Zugriffs-Liste von %s:" msgid "Access to this command requires the permission %s to be present in your opertype." msgstr "Um Zugriff auf diesen Befehl zu haben benötigst Du die Berechtigung %s in Deinem Oper Type." +msgid "Account" +msgstr "Konto" + #, c-format msgid "Account %s has already reached the maximum number of simultaneous logins (%u)." msgstr "Das Konto %s hat die erlaubte Anzahl gleichzeitiger Anmeldungen bereits erreicht (%u)." @@ -2001,9 +1987,7 @@ msgid "" "Additionally, if fantasy is enabled fantasy commands\n" "can be executed by prefixing the command name with\n" "one of the following characters: %s" -msgstr "" -"Falls \"fantasy\" eingeschaltet ist, können Fantasy-Befehle ausgeführt werden, indem Befehlen eines der " -"folgenden Zeichen vorangestellt wird: %s" +msgstr "Falls \"fantasy\" eingeschaltet ist, können Fantasy-Befehle ausgeführt werden, indem Befehlen eines der folgenden Zeichen vorangestellt wird: %s" #, c-format msgid "All O:lines of %s have been reset." @@ -2036,11 +2020,8 @@ msgstr "Alle Memos für den Channel %s wurden gelöscht." msgid "All modes cleared on %s." msgstr "Alle Modi von %s gesäubert." -msgid "" -"All new accounts must be validated by an administrator. Please wait for your registration to be confirmed." -msgstr "" -"Alle neuen Konten müssen von einem Administrator validiert werden. Bitte auf die Bestätigung der " -"Registrierung warten." +msgid "All new accounts must be validated by an administrator. Please wait for your registration to be confirmed." +msgstr "Alle neuen Konten müssen von einem Administrator validiert werden. Bitte auf die Bestätigung der Registrierung warten." msgid "All of your memos have been deleted." msgstr "Alle Deine Memos wurden gelöscht." @@ -2349,12 +2330,7 @@ msgid "" "killed. Before the user is killed, they are notified, of a\n" "source of help regarding session limiting. The content of\n" "this notice is a config setting." -msgstr "" -"Erlaubt Dienstoperatoren die Liste der Computer mit spezifischen Sitzungslimiten zu verändern, z.B. um " -"Shell-Servern mehr Klienten gleichzeitig als standardmässig zu erlauben. Sobald ein Computer sein " -"Sitzungslimit erreicht, werden alle Klienten, die von diesem Computer aus verbinden werden gekillt. Bevor " -"das passiert, bekommt er eine Benachrichtigung mit Informationen zu Sitzungslimiten. Der Inhalt dieser " -"Benachrichtigung ist konfigurierbar." +msgstr "Erlaubt Dienstoperatoren die Liste der Computer mit spezifischen Sitzungslimiten zu verändern, z.B. um Shell-Servern mehr Klienten gleichzeitig als standardmässig zu erlauben. Sobald ein Computer sein Sitzungslimit erreicht, werden alle Klienten, die von diesem Computer aus verbinden werden gekillt. Bevor das passiert, bekommt er eine Benachrichtigung mit Informationen zu Sitzungslimiten. Der Inhalt dieser Benachrichtigung ist konfigurierbar." #, fuzzy msgid "" @@ -2400,6 +2376,14 @@ msgid "" "topic lock is set, the channel topic will be unchangeable by users who do not have\n" "the TOPIC privilege." msgstr "" +"Verändern des 'topic' des angegebenen Kanals.\n" +"Der Befehl SET setzt das 'topic' des Kanals auf den angegebenen Wert\n" +"oder entfernt es, wenn kein Wert angegeben wird. Der Befehl APPEND\n" +"hängt den angegebenen Wert an das momentane 'topic' an.\n" +" \n" +"Mit LOCK und UNLOCK kann das 'topic' ge- bzw. entsperrt werden. Wenn\n" +"es gesperrt ist, kann es nur von Benutzern mit dem TOPIC-Privileg geändert\n" +"werden." #, c-format msgid "" @@ -2434,6 +2418,9 @@ msgid "" "Note that operators removed by this command but are still set in\n" "the configuration file are not permanently affected by this." msgstr "" +"Einsehen und Ändern der 'Services Operators'.\n" +"Zu beachten: hiermit entfernte Operatoren, die aber noch in der\n" +"Konfigurations-Datei aufgeführt sind, bleiben nicht permanent entfernt." msgid "" "Allows you to change and view configuration settings.\n" @@ -2444,6 +2431,13 @@ msgid "" "Example:\n" " MODIFY nickserv forcemail no" msgstr "" +"Einsehen und Ändern der Konfiguration.\n" +"Mit diesem Befehl vorgenommene Änderungen sind temporär und werden nicht\n" +"in die Konfigurationsdatei übernommen, sondern gehen verloren, wenn diese neu\n" +"gelesen, Anope gestoppt oder neugestartet wird.\n" +" \n" +"Beispiel:\n" +" MODIFY nickserv forcemail no" #, fuzzy msgid "" @@ -2475,12 +2469,18 @@ msgid "" "to memo you or a channel, they will not be told that you have\n" "them ignored." msgstr "" +"Erlaubt die Memos eines Benutzer (basierend auf Nickname oder Host)\n" +"an dich oder einen Kanal zu ignorieren. Wenn jemand auf dieser liste\n" +"versucht, dir oder einem Kanal ein Memo zu schicken, wird die Person\n" +"nicht informiert, dass du sie ignorierst." msgid "" "Allows you to kill a user from the network.\n" "Parameters are the same as for the standard /KILL\n" "command." msgstr "" +"Einen Benutzer aus dem Netzwerk werfen.\n" +"Parameter sind die selben wie für den standard /KILL Befehl." #, fuzzy, c-format msgid "" @@ -2541,7 +2541,7 @@ msgstr "" msgid "" "Alternative methods of modifying channel access lists are\n" "available. " -msgstr "" +msgstr "Alternative Methoden zum Bearbeiten der Kanalzugangsliste sind verfügbar." msgid "Approve the requested vHost of a user" msgstr "Genehmigt den beantragten vHost eines Users" @@ -2576,7 +2576,7 @@ msgid "Associate a URL with your account" msgstr "Stellt eine Begrüssungsmeldung für Deinen Nicknamen ein." msgid "Associate a greet message with your nickname" -msgstr "Stellt eine Begrüssungsmeldung für Deinen Nicknamen ein." +msgstr "Stelle eine Begrüssungsmeldung für Deinen Nicknamen ein." #, fuzzy msgid "Associate an E-mail address with the channel" @@ -2637,7 +2637,7 @@ msgid "Available privileges for %s:" msgstr "Verfügbare Rechte für %s:" msgid "BANS enforced by " -msgstr "" +msgstr "BANS durchgesetzt durch " msgid "Bad words kicker" msgstr "Bad words kicker" @@ -2867,7 +2867,7 @@ msgid "Bot won't kick for repeats anymore." msgstr "Der Bot ignoriert jetzt User die sich wiederholen und wird nicht kicken." msgid "By" -msgstr "" +msgstr "Von" #, fuzzy msgid "CLEAR target" @@ -2952,7 +2952,7 @@ msgid "Certificate list for %s:" msgstr "Zertifikat-Liste von %s:" msgid "ChanServ is required to enable persist on this network." -msgstr "" +msgstr "ChanServ ist notwendig, um 'persist' auf diesem Netzwerk einzuschalten." msgid "Change channel modes" msgstr "Ändert die Raum Modi" @@ -3112,7 +3112,7 @@ msgstr "Der Channel %s ist jetzt auf SUSPENDED gesetzt." #, c-format msgid "Channel %s registered under your account: %s" -msgstr "Der Raum %s wurde unter deinem Account %s registriert." +msgstr "Der Kanal %s wurde unter deinem Konto %s registriert." #, c-format msgid "Channel %s will expire." @@ -3163,7 +3163,7 @@ msgstr "Die Räume auf die %s Zugriff hat:" #, c-format msgid "Channels: %lu entries, %lu buckets, longest chain is %d" -msgstr "" +msgstr "Kanäle: %lu Einträge, %lu buckets, längste Kette ist %d" msgid "Chanstats" msgstr "Chanstats" @@ -3197,6 +3197,9 @@ msgid "" "or changing nick on the network and tells you when and, depending\n" "on channel or user settings, where it was." msgstr "" +"Prüft den letzten Zeitpunkt, wann Nickname einen Kanal betreten,\n" +"verlassen oder seinen Nicknamen gewechselt hat. Zeigt an, wann und,\n" +"je nach Kanal- und Benutzereinstellungen auch wo, das war." msgid "Checks if last memo to a nick was read" msgstr "Überprüft ob Deine letzte gesendete Memo vom Empänger gelesen wurde" @@ -3211,7 +3214,7 @@ msgstr "" #, c-format msgid "Cleared info from %s." -msgstr "" +msgstr "Info entfernt von %s." msgid "Colors kicker" msgstr "Farb-Kicker" @@ -3299,6 +3302,8 @@ msgstr "Regelt Modi und gesperrte Modi eines Raumes" msgid "Controls what messages will be sent to users when they join the channel." msgstr "" +"Zum Einstellen der Nachrichten, die Benutzern gesendet werden, wenn\n" +"sie dem Kanal beitreten." msgid "" "Copies all settings, access, akicks, etc from channel to the\n" @@ -3306,9 +3311,13 @@ msgid "" "or LEVELS then only the respective settings are cloned.\n" "You must be the founder of channel and target." msgstr "" +"Kopiert alle Einstellungen, Zugriffsrechte, akicks, etc von channel nach\n" +"target. Falls what als ACCESS, AKICK, BADWORDS,\n" +"oder LEVELS angegeben wurde, werden nur diese Einstellungen kopiert.\n" +"Der Anwender muss der Gründer von channel und target sein." msgid "Copy all settings from one channel to another" -msgstr "Kopiert alle Einstellungen von einem Raum zu einem anderen." +msgstr "Kopiert alle Einstellungen von einem Kanal zu einem anderen." msgid "Created" msgstr "Erstellt" @@ -3493,7 +3502,7 @@ msgid "Default SQLINE expiry time: No expiration" msgstr "Standard Auslaufzeit von SQLINEs: Kein Auslauf, permanent" msgid "Define messages to be randomly shown to users at logon" -msgstr "Zufalls-News bearbeiten, die beim Einloggen angezeigt werden." +msgstr "Zufalls-News bearbeiten, die Benutzern beim Einloggen angezeigt werden." msgid "Define messages to be shown to users at logon" msgstr "Logon-News bearbeiten" @@ -3619,7 +3628,7 @@ msgstr "" #, c-format msgid "Depooled %s." -msgstr "" +msgstr "%s aus dem Pool entfernt." #, fuzzy msgid "Description" @@ -3707,10 +3716,10 @@ msgid "Displays this list and give information about commands" msgstr "Zeigt Informationen bezüglich Deiner Memos an" msgid "Displays your Channel Stats" -msgstr "" +msgstr "Zeigt deine Kanalstatistiken an." msgid "Displays your Global Stats" -msgstr "" +msgstr "Zeigt deine globalen Statistiken an." msgid "Don't use AMSGs!" msgstr "Benutze keine AMSGs!" @@ -3740,6 +3749,9 @@ msgid "" "you may own. Any other user will be able to gain control of\n" "this nick." msgstr "" +"Entfernt den angegebenen Nicknamen aus der Datenbank.\n" +"Sobald der Nickname entfernt wird, gehen dir alle Zugriffsrechte und Kanäle,\n" +"die du besitzt, verloren. Andere Benutzer können diesen Nickname übernehmen." #, c-format msgid "E-mail address for %s changed to %s." @@ -3808,13 +3820,13 @@ msgid "Email matched: %s (%s) to %s." msgstr "Passende Emails %s bis %s." msgid "Enable fantaisist commands" -msgstr "" +msgstr "Aktivieren der Fantasy Befehle" msgid "Enable greet messages" -msgstr "" +msgstr "Aktivieren der Begrüssungsnachrichten" msgid "Enable or disable keep modes" -msgstr "" +msgstr "Aktivieren oder deaktivieren des \"keep\" Modus" msgid "Enabled" msgstr "Aktiviert" @@ -3848,12 +3860,19 @@ msgid "" "modes is enabled, services will remember users' usermodes\n" "and attempt to re-set them the next time they authenticate." msgstr "" +"Aktivieren oder deaktivieren des \"keep\" Modus für den angegebenen Nickname.\n" +"Wenn der Modus aktiv ist, merken die Services sich die 'Modes' des Benutzers\n" +"und versuchen sie wiederherzustellen, wenn der Benutzer sich das nächste Mal\n" +"authentisiert." msgid "" "Enables or disables keepmodes for your nick. If keep\n" "modes is enabled, services will remember your usermodes\n" "and attempt to re-set them the next time you authenticate." msgstr "" +"Aktivieren oder deaktivieren des \"keep\" Modus für deinen Nickname.\n" +"Wenn der Modus aktiv ist, merken die Services sich deine 'Modes' und versuchen\n" +"sie wiederherzustellen, wenn du dich das nächste Mal authentisiert." #, fuzzy msgid "" @@ -4051,7 +4070,7 @@ msgid "End of users list. %u users shown." msgstr "Ende der Zugangsliste - %d/%d Treffer angezeigt." msgid "Enforce various channel modes and set options" -msgstr "" +msgstr "Erzwingen diverser Kanal Modi und Einstellungen" msgid "" "Enforce various channel modes and set options. The channel\n" @@ -4068,6 +4087,19 @@ msgid "" "kicking users affected by them, and LIMIT will kick users until the\n" "user count drops below the channel limit, if one is set." msgstr "" +"Verschiedene Kanalmodi und Einstellungen erzwingen. Das Argument channel\n" +"gibt an, in welchem Kanal dies passieren soll.\n" +"Das Argument what gibt an, was durchgesetzt werden soll, mögliche Werte sind\n" +"SECUREOPS, RESTRICTED, REGONLY, SSLONLY, BANS und LIMIT.\n" +" \n" +"Mit SECUREOPS kann die SECUREOPS Einstellung durchgesetzt werden, selbst wenn\n" +"diese nicht aktiviert ist\n" +"Mit RESTRICTED kann die RESTRICTED Einstellung durchgesetzt werden, selbst wenn\n" +"diese nicht aktiviert ist.\n" +"Mit REGONLY werden alle nicht registrierten Benutzer aus dem Kanal gekickt.\n" +"Mit SSLONLY werden alle Benutzer gekickt, die keine verschlüsselte Verbindung nutzen.\n" +"Mit BANS werden Bans durchgesetzt, indem von ihnen betroffene Benutzer gekickt werden.\n" +"Mit LIMIT werden Benutzer gekickt, bis die Nutzerzahl unter ein evtl. gesetztes Limit sinkt." msgid "English" msgstr "Deutsch" @@ -4122,6 +4154,17 @@ msgid "" " CERT LIST\n" " Displays the current certificate list." msgstr "" +"Beispiele:\n" +" \n" +" CERT ADD\n" +" Fügt deinen momentanen Fingerabdruck zu deiner Zertifikatsliste hinzu\n" +"\tund identifiziert dicah automatisch, wenn du dich mit diesem Zertifikat verbindest.\n" +" \n" +" CERT DEL <fingerprint>\n" +" Entfernt den Fingerabdruck <fingerprint> von deiner Zertifikatsliste.\n" +" \n" +" CERT LIST\n" +" Anzeigen der aktuellen Zertifikatsliste." #, c-format msgid "Exception for %s has been updated to %d." @@ -4242,9 +4285,7 @@ msgstr "Einem User \"Operflags\" setzen" msgid "" "Gives %s status to the selected nick on a channel. If nick is\n" "not given, it will %s you." -msgstr "" -"Gibt dem angegebenen Nickname den Status %s in einem Kanal. Falls kein nick angegeben ist, bekommt der " -"aufrufende Nickname %s." +msgstr "Gibt dem angegebenen Nickname den Status %s in einem Kanal. Falls kein nick angegeben ist, bekommt der aufrufende Nickname %s." #, fuzzy, c-format msgid "Gives you or the specified nick %s status on a channel" @@ -4356,25 +4397,23 @@ msgstr "Information für den Raum %s:" #, c-format msgid "Invalid duration %s, using %d days." -msgstr "" +msgstr "Ungültige Zeitdauer %s, werde '%d Tage' benutzen." msgid "Invalid expiry time." msgstr "Ungültige Ablaufzeit." -msgid "" -"Invalid hostmask. Only real hostmasks are valid, as exceptions are not matched against nicks or usernames." -msgstr "" -"Ungültige Hostmask. Nur echte Hostmasken sind gültig, da auf Nicknames oder Idents nicht geprüft wird." +msgid "Invalid hostmask. Only real hostmasks are valid, as exceptions are not matched against nicks or usernames." +msgstr "Ungültige Hostmask. Nur echte Hostmasken sind gültig, da auf Nicknames oder Idents nicht geprüft wird." #, c-format msgid "Invalid limit %s, using %d." -msgstr "" +msgstr "Ungültige Einschränkung %s, werde %d benutzen." msgid "Invalid passcode has been entered, please check the e-mail again, and retry." -msgstr "" +msgstr "Ein ungültiger Code wurde angegeben. Bitte nochmal die E-Mail prüfen und erneut versuchen." msgid "Invalid passcode." -msgstr "" +msgstr "Ungültiger Code." #, c-format msgid "Invalid session limit. It must be a valid integer greater than or equal to zero and less than %d." @@ -4386,10 +4425,10 @@ msgid "Invalid threshold value. It must be a valid integer greater than 1." msgstr "Ungültiger Wert. Es muss eine gültige grade Zahl sein, die grösser als 1 ist." msgid "Invalid value for LIMIT. Must be numerical." -msgstr "" +msgstr "Ungültiger Wert für LIMIT: muss numerisch sein." msgid "Invites you or an optionally specified nick into a channel" -msgstr |
