Aka, Anonymous, PluginDownloader, Seen, Todo: Add russian locale

This commit is contained in:
ssdaniel24 2024-06-12 23:44:48 +03:00 committed by GitHub
parent f5302f0bfc
commit bd4a85ba08
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 1247 additions and 1 deletions

415
plugins/Aka/locales/ru.po Normal file
View File

@ -0,0 +1,415 @@
# Aka plugin for Limnoria
# Copyright (C) 2024 Limnoria
# ssdaniel24 <bo7oaonteg2m__at__mailDOTru>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2022-02-06 00:12+0100\n"
"PO-Revision-Date: 2024-06-12 21:50+0300\n"
"Last-Translator: ssdaniel24 <bo7oaonteg2m__at__mailDOTru>\n"
"Language-Team: \n"
"Language: ru\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-Generator: Poedit 3.4.2\n"
#: config.py:55
msgid ""
"The maximum number of words allowed in a\n"
" command name. Setting this to an high value may slow down your bot\n"
" on long commands."
msgstr ""
"Максимальное количество слов, которые могут быть в имени команды.\n"
"Выставление большого значения может замедлить работу вашего бота на длинных "
"командах."
#: config.py:61
msgid ""
"Determines whether the Akas will be\n"
" browsable through the HTTP server."
msgstr "Определяет, где псевдонимы могут быть просмотрены через HTTP-сервер."
#: plugin.py:141 plugin.py:274 plugin.py:732
msgid "This Aka already exists."
msgstr "Этот псевдоним уже существует."
#: plugin.py:170 plugin.py:182 plugin.py:196 plugin.py:301 plugin.py:318
#: plugin.py:335 plugin.py:912
msgid "This Aka does not exist."
msgstr "Этот псевдоним не существует."
#: plugin.py:303
msgid "This Aka is already locked."
msgstr "Этот псевдоним уже заблокирован."
#: plugin.py:320
msgid "This Aka is already unlocked."
msgstr "Этот псевдоним уже разблокирован."
#: plugin.py:465
msgid "By %s at %s"
msgstr "%s %s"
#: plugin.py:501
msgid ""
"\n"
" This plugin allows users to define aliases to commands and "
"combinations\n"
" of commands (via nesting).\n"
"\n"
" Importing from Alias\n"
" ^^^^^^^^^^^^^^^^^^^^\n"
"\n"
" Add an aka, Alias, which eases the transitioning to Aka from Alias.\n"
"\n"
" First we will load Alias and Aka::\n"
"\n"
" <jamessan> @load Alias\n"
" <bot> jamessan: The operation succeeded.\n"
" <jamessan> @load Aka\n"
" <bot> jamessan: The operation succeeded.\n"
"\n"
" Then we import the Alias database to Aka in case it exists and unload\n"
" Alias::\n"
"\n"
" <jamessan> @importaliasdatabase\n"
" <bot> jamessan: The operation succeeded.\n"
" <jamessan> @unload Alias\n"
" <bot> jamessan: The operation succeeded.\n"
"\n"
" And now we will finally add the Aka ``alias`` itself::\n"
"\n"
" <jamessan> @aka add \"alias\" \"aka $1 $*\"\n"
" <bot> jamessan: The operation succeeded.\n"
"\n"
" Now you can use Aka as you used Alias before.\n"
"\n"
" Trout\n"
" ^^^^^\n"
"\n"
" Add an aka, trout, which expects a word as an argument::\n"
"\n"
" <jamessan> @aka add trout \"reply action slaps $1 with a large "
"trout\"\n"
" <bot> jamessan: The operation succeeded.\n"
" <jamessan> @trout me\n"
" * bot slaps me with a large trout\n"
"\n"
" This ``trout`` aka requires the plugin ``Reply`` to be loaded since it\n"
" provides the ``action`` command.\n"
"\n"
" LastFM\n"
" ^^^^^^\n"
"\n"
" Add an aka, ``lastfm``, which expects a last.fm username and replies "
"with\n"
" their most recently played item::\n"
"\n"
" @aka add lastfm \"rss [format concat http://ws.audioscrobbler."
"com/1.0/user/ [format concat [web urlquote $1] /recenttracks.rss]]\"\n"
"\n"
" This ``lastfm`` aka requires the following plugins to be loaded: "
"``RSS``,\n"
" ``Format`` and ``Web``.\n"
"\n"
" ``RSS`` provides ``rss``, ``Format`` provides ``concat`` and ``Web`` "
"provides\n"
" ``urlquote``.\n"
"\n"
" Note that if the nested commands being aliased hadn't been quoted, "
"then\n"
" those commands would have been run immediately, and ``@lastfm`` would "
"always\n"
" reply with the same information, the result of those commands.\n"
" "
msgstr ""
"\n"
"Этот плагин позволяет пользователям создавать собственные псевдонимы к "
"командам и комбинациями команд (вложенные команды).\n"
"\n"
"Импорт из Alias\n"
"^^^^^^^^^^^^^^^\n"
"\n"
"Переходим к использованию плагина Aka от плагина Alias.\n"
"\n"
"Во-первых, загрузим Alias и Aka:\n"
"\n"
" <jamessan> @load Alias\n"
" <bot> jamessan: The operation succeeded.\n"
" <jamessan> @load Aka\n"
" <bot> jamessan: The operation succeeded.\n"
"\n"
"После этого импортируем базу данных плагина Alias в Aka, если та "
"существует, и отключим плагин Alias::\n"
"\n"
"<jamessan> @importaliasdatabase\n"
"<bot> jamessan: The operation succeeded.\n"
"<jamessan> @unload Alias\n"
"<bot> jamessan: The operation succeeded.\n"
"\n"
"И наконец добавим псевдоним команды из плагина Alias, чтобы оставить "
"обратную совместимость:\n"
"\n"
"<jamessan> @aka add \"alias\" \"aka $1 $*\"\n"
"<bot> jamessan: The operation succeeded.\n"
"\n"
"Теперь вы можете использовать плагин Aka как вы использовали до этого "
"плагин Alias.\n"
"\n"
"Дать леща\n"
"^^^^^^^^^\n"
"\n"
"Добавляем псевдоним (чтобы дать кому-то леща), который принимает одно слово "
"как аргумент::\n"
"\n"
"<jamessan> @aka add trout \"reply action с размаху даёт леща $1\"\n"
"<bot> jamessan: The operation succeeded.\n"
"<jamessan> @trout мне\n"
"* bot с размаху даёт леща мне\n"
"\n"
"LastFM\n"
"^^^^^^\n"
"\n"
"Добавляем псевдоним - ``lastfm``, принимает аргументом имя пользователя и "
"отвечает с последней песней, которая у него играла.\n"
"\n"
"@aka add lastfm \"rss [format concat http://ws.audioscrobbler.com/1.0/user/ "
"[format concat [web urlquote $1] /recenttracks.rss]]\"\n"
"\n"
"Этот псевдоним ``lastfm`` требует для работы следующие плагины: ``RSS``, "
"``Format`` и ``Web``.\n"
"\n"
"``RSS`` предоставляет ``rss``, ``Format`` предоставляет ``concat`` и "
"``Web`` предоставляет ``urlquote``.\n"
"\n"
"Обратите внимание, что если бы вложенные команды не были бы обозначены "
"кавычками, то они были бы запущены немедленно, и псевдоним ``@lastfm`` "
"показывал бы всегда одну и ту же информацию - результат выполнения этих "
"команд."
#: plugin.py:699
msgid "You've attempted more nesting than is currently allowed on this bot."
msgstr "Вы попробовали больше вложений, чем сейчас это разрешено в боте."
#: plugin.py:703
msgid " at least"
msgstr " хотя бы"
#: plugin.py:712
msgid "Locked by %s at %s"
msgstr "Заблокировано %s %s"
#: plugin.py:717
msgid ""
"<a global alias,%s %n>\n"
"\n"
"Alias for %q.%s"
msgstr ""
"<глобальный псевдоним, %s %n>\n"
"\n"
"Псевдоним для %q.%s"
#: plugin.py:718 plugin.py:722
msgid "argument"
msgstr "аргумент"
#: plugin.py:721
msgid ""
"<an alias on %s,%s %n>\n"
"\n"
"Alias for %q.%s"
msgstr ""
"<псевдоним %s,%s %n>\n"
"\n"
"Псевдоним для %q.%s"
#: plugin.py:729
msgid "You can't overwrite commands in this plugin."
msgstr "Вы не можете перезаписывать команды в этом плагине."
#: plugin.py:734
msgid "This Aka has too many spaces in its name."
msgstr "Этот псевдоним содержит слишком много пробелов в имени."
#: plugin.py:739
msgid "Can't mix $* and optional args (@1, etc.)"
msgstr "Нельзя перемешивать $* и необязательные аргументы (@1 и др.)"
#: plugin.py:746
msgid "This Aka is locked."
msgstr "Этот псевдоним заблокирован."
#: plugin.py:750
msgid ""
"[--channel <#channel>] <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"
" arguments that have not replaced $1, $2, etc.\", ie. it will also\n"
" include optional arguments.\n"
" "
msgstr ""
"[--channel <#канал>] <название> <команда>\n"
"\n"
"Определяет псевдоним c <названием>, который запускает <команду>. <команда> "
"должна быть вида: \"<команда> <аргумент> [<вложенная команда> <аргумент>] "
"<аргументы к псевдониму>\". Аргументы к псевдониму по порядку: $1, $2 и тд. "
"используются для обязательных аргументов; @1, @2 и т.д. используются для "
"необязательных аргументов; $* означает \"все аргументы, которые не были "
"заменены с помощью $1, $2 и т.д.\", это включает в себя и необязательные "
"аргументы тоже."
#: plugin.py:764 plugin.py:796 plugin.py:827 plugin.py:859 plugin.py:882
#: plugin.py:905 plugin.py:951 plugin.py:994
msgid "%r is not a valid channel."
msgstr "%r не является допустимым каналом."
#: plugin.py:782
msgid ""
"[--channel <#channel>] <name> <command>\n"
"\n"
" Overwrites an existing alias <name> to execute <command> instead. "
"The\n"
" <command> should be in the standard \"command argument "
"[nestedcommand\n"
" argument]\" arguments to the alias; they'll be filled with the "
"first,\n"
" second, etc. arguments. $1, $2, etc. can be used for required\n"
" arguments. @1, @2, etc. can be used for optional arguments. $* "
"simply\n"
" means \"all arguments that have not replaced $1, $2, etc.\", ie. it "
"will\n"
" also include optional arguments.\n"
" "
msgstr ""
"[--channel <#канал>] <название> <команда>\n"
"\n"
"Перезаписывает существующий псевдоним с <названием>, чтобы он запускал "
"вместо предыдущей данную <команду>. <команда> должна быть вида: \"<команда> "
"<аргумент> [<вложенная команда> <аргумент>] <аргументы к псевдониму>\". "
"Аргументы к псевдониму по порядку: $1, $2 и тд. используются для "
"обязательных аргументов; @1, @2 и т.д. используются для необязательных "
"аргументов; $* означает \"все аргументы, которые не были заменены с помощью "
"$1, $2 и т.д.\", это включает в себя и необязательные аргументы тоже."
#: plugin.py:819
msgid ""
"[--channel <#channel>] <name>\n"
"\n"
" Removes the given alias, if unlocked.\n"
" "
msgstr ""
"[--channel <#канал>] <название>\n"
"\n"
"Удаляет данный псевдоним, если тот не заблокирован."
#: plugin.py:841
msgid ""
"Check if the user has any of the required capabilities to manage\n"
" the regexp database."
msgstr ""
"Проверяет, есть ли у пользователя необходимые привилегии для управления "
"базой данных регулярных выражений."
#: plugin.py:851
msgid ""
"[--channel <#channel>] <alias>\n"
"\n"
" Locks an alias so that no one else can change it.\n"
" "
msgstr ""
"[--channel <#канал>] <псевдоним>\n"
"\n"
"Блокирует данный псевдоним, чтобы никто не мог его изменить."
#: plugin.py:874
msgid ""
"[--channel <#channel>] <alias>\n"
"\n"
" Unlocks an alias so that people can define new aliases over it.\n"
" "
msgstr ""
"[--channel <#канал>] <псевдоним>\n"
"\n"
"Разблокирует данный псевдоним, чтобы люди могли определять новые псевдонимы "
"поверх этого."
#: plugin.py:897
msgid ""
"[--channel <#channel>] <alias>\n"
"\n"
" This command shows the content of an Aka.\n"
" "
msgstr ""
"[--channel <#канал>] <псевдоним>\n"
"\n"
"Эта команда показывает содержание данного псевдонима."
#: plugin.py:917
msgid ""
"takes no arguments\n"
"\n"
" Imports the Alias database into Aka's, and clean the former."
msgstr ""
"не принимает аргументов\n"
"\n"
"Импортирует базу данных Alias в Aka, и очищает первую."
#: plugin.py:922
msgid "Alias plugin is not loaded."
msgstr "Плагин Alias не загружен."
#: plugin.py:933
msgid "Error occured when importing the %n: %L"
msgstr "Произошла ошибка при импорте %n: %L"
#: plugin.py:941
msgid ""
"[--channel <#channel>] [--keys] [--unlocked|--locked]\n"
"\n"
" Lists all Akas defined for <channel>. If <channel> is not "
"specified,\n"
" lists all global Akas. If --keys is given, lists only the Aka "
"names\n"
" and not their commands."
msgstr ""
"[--channel <#канал>] [--keys] [--unlocked|--locked]\n"
"\n"
"Показывает все псевдонимы, определённые для данного <канала>. Если <канал> "
"не дан в аргументах, то показывает все глобальные псевдонимы. Если дан --"
"keys, то показывает только названия псевдонимов без соответствующих им "
"команд."
#: plugin.py:960
msgid "--locked and --unlocked are incompatible options."
msgstr "--locked и --unlocked несовместимые параметры."
#: plugin.py:980
msgid "No Akas found."
msgstr "Не найдено ни одного псевдонима."
#: plugin.py:985
msgid ""
"[--channel <#channel>] <query>\n"
"\n"
" Searches Akas defined for <channel>. If <channel> is not "
"specified,\n"
" searches all global Akas."
msgstr ""
"[--channel <#канал>] <запрос>\n"
"\n"
"Производит поиск среди псевдонимов, определённых в данном <канале>, по "
"данному <запросу>. Если <канал> не дан в аргументах, то поиск производится "
"по всем глобальным псевдонимам."
#: plugin.py:1004
msgid "No matching Akas were found."
msgstr "Не найдено ни одного совпадающего псевдонима."

View File

@ -0,0 +1,249 @@
# Anonymous plugin for Limnoria
# Copyright (C) 2024 Limnoria
# ssdaniel24 <bo7oaonteg2m__at__mailDOTru>, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2022-02-06 00:12+0100\n"
"PO-Revision-Date: 2024-06-12 22:04+0300\n"
"Last-Translator: ssdaniel24 <bo7oaonteg2m__at__mailDOTru>\n"
"Language-Team: \n"
"Language: ru\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-Generator: Poedit 3.4.2\n"
#: config.py:50
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 ""
"Определяет, должен ли бот требовать, чтобы люди, использующие этот плагин, "
"находились в канале, куда они хотят написать анонимно."
#: config.py:54
msgid ""
"Determines whether the bot should require\n"
" people trying to use this plugin to be registered."
msgstr ""
"Определяет, должен ли бот требовать регистрации у людей, которые "
"используют этот плагин."
#: config.py:57
msgid ""
"Determines what capability (if any) the bot should\n"
" require people trying to use this plugin to have."
msgstr ""
"Определяет какие привилегии (если таковые имеются) должен проверять бот у "
"людей, которые используют этот плагин."
#: config.py:60
msgid ""
"Determines whether the bot will allow the\n"
" \"tell\" command to be used. If true, the bot will allow the \"tell\"\n"
" command to send private messages to other users."
msgstr ""
"Определяет разрешение на использование команды \"tell\". Если значение "
"установлено в true, то бот позволит использовать команду \"tell\" для "
"отправки личных сообщений другим пользователям."
#: plugin.py:45
msgid ""
"\n"
" 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"
"\n"
" Example: Proving that you are the owner\n"
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"
"\n"
" When you ask for cloak/vhost for your bot, the network operators will\n"
" often ask you to prove that you own the bot. You can do this for "
"example\n"
" with the following method::\n"
"\n"
" @load Anonymous\n"
" @config plugins.anonymous.requirecapability owner\n"
" @config plugins.anonymous.allowprivatetarget True\n"
" @anonymous say <operator nick> Hi, my owner is <your nick> :)\n"
"\n"
" This\n"
" * Loads the plugin.\n"
" * Makes the plugin require that you are the owner\n"
"\n"
" * If anyone could send private messages as the bot, they could also\n"
" access network services.\n"
"\n"
" * Allows sending private messages\n"
" * Sends message ``Hi, my owner is <your nick> :)`` to ``operator "
"nick``.\n"
"\n"
" * Note that you won't see the messages that are sent to the bot.\n"
"\n"
" "
msgstr ""
"Этот плагин позволяет пользователям анонимно взаимодействовать через бота. "
"Команда 'do' позволяет выполнить некоторое анонимное действие через бота в "
"данном канале, и команда 'say' позволяет другим пользователям общаться "
"через бота. Этим плагином можно легко злоупотреблять, поэтому возможно вы "
"захотите настройку supybot.plugins.Anonymous.requireCapability, чтобы "
"только пользователи с данной привилегией могли могли использовать этот "
"плагин. Для повышенной безопасности, вы можете требовать, чтобы "
"пользователь был в канале, где они хотят взаимодействовать через бота "
"анонимно, с помощью настроки supybot.plugins.Anonymous."
"requirePresenceInChannel. Или вы можете требовать, чтобы пользователь был "
"зарегистрирован с помощью настройки supybot.plugins.Anonymous."
"requireRegistration.\n"
"\n"
"Пример: доказательство того, что вы являетесь владельцем\n"
"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"
"\n"
"Когда вы просите cloak или vhost для своего бота, операторы сети часто "
"могут просить вас доказать, что являетесь владельцем бота. Для примера вы "
"можете сделать это так:\n"
"\n"
"@load Anonymous\n"
"@config plugins.anonymous.requirecapability owner\n"
"@config plugins.anonymous.allowprivatetarget True\n"
"@anonymous say <ник оператора>: Привет, мой хозяин это <ваш ник> :)\n"
"\n"
"Комбинация команд выше\n"
"* Загружает плагин.\n"
"* Выставляет в настройках плагина, чтобы бот требовал привилегии "
"владельца.\n"
"\n"
" * Если кто-нибудь может посылать сообщения от имени бота, то они в том "
"числе могут запрашивать сервисы сети.\n"
"\n"
"* Разрешает отправку личных сообщений.\n"
"* Отправляет сообщение ``Привет, мой хозяин это <ваш ник> :)`` в адрес "
"``<ника оператора>``.\n"
"\n"
" Примечание: вы не сможете получать сообщения, которые отправлены боту."
#: plugin.py:98
msgid "You must be in %s to %q in there."
msgstr "Вы должны быть в %s, чтобы %q там."
#: plugin.py:102
msgid "I'm lobotomized in %s."
msgstr "Мне сделали лоботомию в %s."
#: plugin.py:105
msgid ""
"That channel has set its capabilities so as to disallow the use of this "
"plugin."
msgstr "Этот канал настроен на запрет использования этого плагина."
#: plugin.py:108
msgid ""
"This command is disabled (supybot.plugins.Anonymous.allowPrivateTarget is "
"False)."
msgstr ""
"Эта команда отключена (настройка supybot.plugins.Anonymous."
"allowPrivateTarget установлена в False)."
#: plugin.py:112
msgid ""
"<channel> <text>\n"
"\n"
" Sends <text> to <channel>.\n"
" "
msgstr ""
"<канал> <текст>\n"
"\n"
"Отправляет <текст> в <канал>."
#: plugin.py:124
msgid ""
"<nick> <text>\n"
"\n"
" Sends <text> to <nick>. Can only be used if\n"
" supybot.plugins.Anonymous.allowPrivateTarget is True.\n"
" "
msgstr ""
"<ник> <текст>\n"
"\n"
"Отправляет <текст> в адрес <ника>. Команда может быть использована, только "
"если настройка supybot.plugins.Anonymous.allowPrivateTarget установлена в "
"True."
#: plugin.py:137
msgid ""
"<channel> <action>\n"
"\n"
" Performs <action> in <channel>.\n"
" "
msgstr ""
"<канал> <действие>\n"
"\n"
"Выполняет <действие> в <канале>."
#: plugin.py:148
msgid ""
"<channel> <reaction> <nick>\n"
"\n"
" Sends the <reaction> to <nick>'s last message.\n"
" <reaction> is typically a smiley or an emoji.\n"
"\n"
" This may not be supported on the current network, as this\n"
" command depends on IRCv3 features.\n"
" This is also not supported if\n"
" supybot.protocols.irc.experimentalExtensions disabled\n"
" (don't enable it unless you know what you are doing).\n"
" "
msgstr ""
"<канал> <реакция> <ник>\n"
"\n"
"Отправляет <реакцию> в ответ на последнее сообщение <ника>. <реакция> это "
"обычно смайлик или эмодзи.\n"
"\n"
"Текущая сеть может не поддерживать эту команду, так как команда зависит от "
"возможностей IRCv3. Она также не поддерживается, если в плагине отключена "
"настройка supybot.protocols.irc.experimentalExtensions (не переключайте, "
"если вы не знаете, что вы делаете)."
#: plugin.py:162
msgid ""
"Unable to react, supybot.protocols.irc.experimentalExtensions is disabled."
msgstr ""
"Не удаётся отправить реакцию, настройка supybot.protocols.irc."
"experimentalExtensions отключена."
#: plugin.py:167
msgid "Unable to react, the network does not support message-tags."
msgstr ""
"Не удаётся отправить реакцию, данная сеть не поддерживает message-tags."
#: plugin.py:172
msgid ""
"Unable to react, the network does not allow draft/reply and/or draft/react."
msgstr ""
"Не удаётся отправить реакцию, данная сеть не позволяет использовать"
"draft/reply или draft/react."
#: plugin.py:181
msgid "I couldn't find a message from %s in my history of %s messages."
msgstr "Не могу найти сообщение от %s в моей истории сообщений (%s)."
#: plugin.py:189
msgid "Unable to react, %s's last message does not have a message id."
msgstr ""
"Не удаётся отправить реакцию, последнее сообщение %s не имеет id сообщения."

View File

@ -0,0 +1,205 @@
# PluginDownloader plugin for Limnoria
# Copyright (C) 2024 Limnoria
# ssdaniel24 <bo7oaonteg2m__at__mailDOTru>, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2022-02-06 00:12+0100\n"
"PO-Revision-Date: 2024-06-12 22:10+0300\n"
"Last-Translator: ssdaniel24 <bo7oaonteg2m__at__mailDOTru>\n"
"Language-Team: \n"
"Language: ru\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-Generator: Poedit 3.4.2\n"
#: plugin.py:167
msgid ""
"Plugin is probably not compatible with your Python version (3.x) and could "
"not be converted because 2to3 is not installed."
msgstr ""
"Плагин возможно несовместим с вашей версией Python (3.x) и не может быть "
"конвертирован, так как 2to3 не установлен."
#: plugin.py:174
msgid ""
"Plugin was designed for Python 2, but an attempt to convert it to Python 3 "
"has been made. There is no guarantee it will work, though."
msgstr ""
"Плагин был разработан на Python 2, но была сделана попытка конвертировать "
"его на Python 3, однако не гарантируется, что плагин будет работать."
#: plugin.py:178
msgid "Plugin successfully installed."
msgstr "Плагин успешно установлен."
#: plugin.py:323
msgid ""
"\n"
" This plugin allows you to install unofficial plugins from\n"
" multiple repositories easily. Use the \"repolist\" command to see list "
"of\n"
" available repositories and \"repolist <repository>\" to list plugins,\n"
" which are available in that repository. When you want to install a "
"plugin,\n"
" just run command \"install <repository> <plugin>\".\n"
"\n"
" First start by using the `plugindownloader repolist` command to see the\n"
" available repositories.\n"
"\n"
" To see the plugins inside repository, use command\n"
" `plugindownloader repolist <repository>`\n"
"\n"
" When you see anything interesting, you can use\n"
" `plugindownloader info <repository> <plugin>` to see what the plugin is\n"
" for.\n"
"\n"
" And finally to install the plugin,\n"
" `plugindownloader install <repository> <plugin>`.\n"
"\n"
" Examples\n"
" ^^^^^^^^\n"
"\n"
" ::\n"
"\n"
" < Mikaela> @load PluginDownloader\n"
" < Limnoria> Ok.\n"
" < Mikaela> @plugindownloader repolist\n"
" < Limnoria> Antibody, jlu5, Hoaas, Iota, progval, SpiderDave, "
"boombot, code4lib, code4lib-edsu, code4lib-snapshot, doorbot, frumious, "
"jonimoose, mailed-notifier, mtughan-weather, nanotube-bitcoin, nyuszika7h, "
"nyuszika7h-old, pingdom, quantumlemur, resistivecorpse, scrum, skgsergio, "
"stepnem\n"
" < Mikaela> @plugindownloader repolist progval\n"
" < Limnoria> AttackProtector, AutoTrans, Biography, Brainfuck, "
"ChannelStatus, Cleverbot, Coffee, Coinpan, Debian, ERepublik, Eureka, "
"Fortune, GUI, GitHub, Glob2Chan, GoodFrench, I18nPlaceholder, IMDb, "
"IgnoreNonVoice, Iwant, Kickme, LimnoriaChan, LinkRelay, ListEmpty, Listener, "
"Markovgen, MegaHAL, MilleBornes, NoLatin1, NoisyKarma, OEIS, PPP, PingTime, "
"Pinglist, RateLimit, Rbls, Redmine, Scheme, Seeks, (1 more message)\n"
" < Mikaela> more\n"
" < Limnoria> SilencePlugin, StdoutCapture, Sudo, SupyML, SupySandbox, "
"TWSS, Trigger, Trivia, Twitter, TwitterStream, Untiny, Variables, WebDoc, "
"WebLogs, WebStats, Website, WikiTrans, Wikipedia, WunderWeather\n"
" < Mikaela> @plugindownloader info progval Wikipedia\n"
" < Limnoria> Grabs data from Wikipedia.\n"
" < Mikaela> @plugindownloader install progval Wikipedia\n"
" < Limnoria> Ok.\n"
" < Mikaela> @load Wikipedia\n"
" < Limnoria> Ok.\n"
" "
msgstr ""
"Этот плагин позволяет вам с легкостью устанавливать неофициальные плагины из "
"различных репозиториев. Используйте команду \"repolist\", чтобы увидеть "
"список доступных репозиториев, и команду \"repolist <репозиторий>\", чтобы "
"увидеть список плагинов, доступные в данном репозитории. Когда вы захотите "
"установить плагин, просто запустите команду \"install <репозиторий> "
"<плагин>\".\n"
"\n"
"Для начала используйте команду `plugindownloader repolist`, чтобы увидеть "
"доступные репозитории.\n"
"\n"
"Чтобы увидеть плагины в репозитории, используйте команду `plugindownloader "
"repolist <репозиторий>`\n"
"\n"
"Когда вы найдёте что-нибудь интересное, вы можете использовать команду "
"`plugindownloader info <репозиторий> <плагин>`, чтобы увидеть для чего этот "
"плагин нужен.\n"
"\n"
"И наконец, для установки плагина используйте `plugindownloader install "
"<репозиторий> <плагин>`.\n"
"\n"
"Примеры\n"
"^^^^^^^\n"
"\n"
"< Mikaela> @load PluginDownloader\n"
"< Limnoria> Ok.\n"
"< Mikaela> @plugindownloader repolist\n"
"< Limnoria> Antibody, jlu5, Hoaas, Iota, progval, SpiderDave, boombot, "
"code4lib, code4lib-edsu, code4lib-snapshot, doorbot, frumious, jonimoose, "
"mailed-notifier, mtughan-weather, nanotube-bitcoin, nyuszika7h, nyuszika7h-"
"old, pingdom, quantumlemur, resistivecorpse, scrum, skgsergio, stepnem\n"
"< Mikaela> @plugindownloader repolist progval\n"
"< Limnoria> AttackProtector, AutoTrans, Biography, Brainfuck, ChannelStatus, "
"Cleverbot, Coffee, Coinpan, Debian, ERepublik, Eureka, Fortune, GUI, GitHub, "
"Glob2Chan, GoodFrench, I18nPlaceholder, IMDb, IgnoreNonVoice, Iwant, Kickme, "
"LimnoriaChan, LinkRelay, ListEmpty, Listener, Markovgen, MegaHAL, "
"MilleBornes, NoLatin1, NoisyKarma, OEIS, PPP, PingTime, Pinglist, RateLimit, "
"Rbls, Redmine, Scheme, Seeks, (1 more message)\n"
"< Mikaela> more\n"
"< Limnoria> SilencePlugin, StdoutCapture, Sudo, SupyML, SupySandbox, TWSS, "
"Trigger, Trivia, Twitter, TwitterStream, Untiny, Variables, WebDoc, WebLogs, "
"WebStats, Website, WikiTrans, Wikipedia, WunderWeather\n"
"< Mikaela> @plugindownloader info progval Wikipedia\n"
"< Limnoria> Grabs data from Wikipedia.\n"
"< Mikaela> @plugindownloader install progval Wikipedia\n"
"< Limnoria> Ok.\n"
"< Mikaela> @load Wikipedia\n"
"< Limnoria> Ok."
#: plugin.py:368
msgid ""
"[<repository>]\n"
"\n"
" Displays the list of plugins in the <repository>.\n"
" If <repository> is not given, returns a list of available\n"
" repositories."
msgstr ""
"[<репозиторий>]\n"
"\n"
"Показывает список плагинов в данном <репозитории>. Если <репозиторий> не дан "
"аргументом, то показывает список доступных репозиториев."
#: plugin.py:376 plugin.py:387
msgid ", "
msgstr ""
#: plugin.py:378 plugin.py:400 plugin.py:425
msgid "This repository does not exist or is not known by this bot."
msgstr "Этот репозиторий не существует или неизвестен боту."
#: plugin.py:385
msgid "No plugin found in this repository."
msgstr "В этом репозитории не найдено ни одного плагина."
#: plugin.py:392
msgid ""
"<repository> <plugin>\n"
"\n"
" Downloads and installs the <plugin> from the <repository>."
msgstr ""
"<репозиторий> <плагин>\n"
"\n"
"Скачивает и устанавливает данный <плагин> из данного <репозитория>."
#: plugin.py:396
msgid ""
"This command is not available, because supybot.commands.allowShell is False."
msgstr ""
"Эта команда недоступна, так как настройка supybot.command.allowShell "
"установлена в False."
#: plugin.py:405 plugin.py:430
msgid "This plugin does not exist in this repository."
msgstr "Этого плагина нет в данном репозитории."
#: plugin.py:420
msgid ""
"<repository> <plugin>\n"
"\n"
" Displays informations on the <plugin> in the <repository>."
msgstr ""
"<репозиторий> <плагин>\n"
"\n"
"Показывает информацию о данном <плагине> в этом <репозитории>."
#: plugin.py:434
msgid "No README found for this plugin."
msgstr "В этом плагине не найдено файла README."
#: plugin.py:437
msgid "This plugin has no description."
msgstr "Этот плагин не предоставляет описание."

201
plugins/Seen/locales/ru.po Normal file
View File

@ -0,0 +1,201 @@
# Seen plugin for Limnoria
# Copyright (C) 2024 Limnoria
# ssdaniel24 <bo7oaonteg2m__at__mailDOTru>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2022-02-06 00:12+0100\n"
"PO-Revision-Date: 2024-06-12 15:01+0300\n"
"Last-Translator: ssdaniel24 <bo7oaonteg2m__at__mailDOTru>\n"
"Language-Team: \n"
"Language: ru\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-Generator: Poedit 3.4.2\n"
#: config.py:50
msgid ""
"The minimum non-wildcard characters\n"
" required to perform a 'seen' request. Of course, it only applies if "
"there\n"
" is a wildcard in the request."
msgstr ""
"Минимальное количество обыкновенных символов (не символов подстановки!), "
"необходимые для запроса 'seen'. Конечно же эта настройка действует только, "
"когда запрос содержит символы подстановки."
#: config.py:54
msgid ""
"Determines whether the last message will\n"
" be displayed with @seen. Useful for keeping messages from a channel\n"
" private."
msgstr ""
"Определяет будет ли последнее сообщение показываться в результатах команды "
"seen. Полезно для сохранения приватности сообщений в канале."
#: plugin.py:98
msgid ""
"This plugin allows you to see when and what someone last said and\n"
" what you missed since you left a channel."
msgstr ""
"Этот плагин позволяет вам видеть, когда и что кто-нибудь в последний раз "
"написал, и что вы упустили с тех пор как покинули канал."
#: plugin.py:190
msgid "Not enough non-wildcard characters."
msgstr "Недостаточно обыкновенных символов (НЕ символов подстановки)."
#: plugin.py:198 plugin.py:306
msgid "%s was last seen in %s %s ago"
msgstr "%s в последний раз видели в %s %s назад."
#: plugin.py:204 plugin.py:283 plugin.py:310
msgid "%s: %s"
msgstr "%s: %s"
#: plugin.py:210
msgid "%s (%s ago)"
msgstr "%s (%s назад)"
#: plugin.py:212
msgid "%s could be %L"
msgstr "%s мог(ла) быть %L"
#: plugin.py:212
msgid "or"
msgstr "или"
#: plugin.py:214
msgid "I haven't seen anyone matching %s."
msgstr "Я не видел никого, кто бы соответствовал %s."
#: plugin.py:216 plugin.py:313
msgid "I have not seen %s."
msgstr "Я не видел %s."
#: plugin.py:223
msgid "You must be in %s to use this command."
msgstr "Вы должны быть в %s для использования этой команды."
#: plugin.py:225
msgid "%s must be in %s to use this command."
msgstr "%s должен/должна быть в %s для использования этой команды."
#: plugin.py:231
msgid ""
"[<channel>] <nick>\n"
"\n"
" Returns the last time <nick> was seen and what <nick> was last "
"seen\n"
" saying. <channel> is only necessary if the message isn't sent on "
"the\n"
" channel itself. <nick> may contain * as a wildcard.\n"
" "
msgstr ""
"[<канал>] <ник>\n"
"\n"
"Возвращает последнее время, когда видели <ник> и его/её последнее "
"сообщение. Передавать <канал> требуется в случае, если команда запущена не "
"на этом канале. Данный <ник> может содержать * как символ подстановки."
#: plugin.py:238 plugin.py:256
msgid "You've found me!"
msgstr "О нет! Вы нашли меня."
#: plugin.py:246
msgid ""
"[<channel>] [--user <name>] [<nick>]\n"
"\n"
" Returns the last time <nick> was seen and what <nick> was last "
"seen\n"
" doing. This includes any form of activity, instead of just "
"PRIVMSGs.\n"
" If <nick> isn't specified, returns the last activity seen in\n"
" <channel>. If --user is specified, looks up name in the user "
"database\n"
" and returns the last time user was active in <channel>. <channel> "
"is\n"
" only necessary if the message isn't sent on the channel itself.\n"
" "
msgstr ""
"[<канал>] [--user <имя>] [<ник>]\n"
"\n"
"Возвращает последнее время, когда видели <ник> и его/её последние "
"действия. Это включает в себя любые формы активности, не ограничиваясь "
"только PRIVMSG. Если <ник> не задан, то возвращает последнюю активность в "
"данном <канале>. Если задан --user, то ищет данное <имя> в базе данных и "
"возвращает последнее время, когда этот пользователь был активен в данном "
"<канале>. Передавать <канал> требуется в случае, если команда запущена не "
"на этом канале."
#: plugin.py:280
msgid "Someone was last seen in %s %s ago"
msgstr "В последний раз кого-то видели в %s %s назад"
#: plugin.py:286
msgid "I have never seen anyone."
msgstr "Я не видел никого."
#: plugin.py:290
msgid ""
"[<channel>]\n"
"\n"
" Returns the last thing said in <channel>. <channel> is only "
"necessary\n"
" if the message isn't sent in the channel itself.\n"
" "
msgstr ""
"[<канал>]\n"
"\n"
"Возвращает последнее, что писали в <канале>. Передавать в аргумент <канал> "
"требуется в случае, если команда запущена не на этом канале."
#: plugin.py:317
msgid ""
"[<channel>] <name>\n"
"\n"
" Returns the last time <name> was seen and what <name> was last "
"seen\n"
" saying. This looks up <name> in the user seen database, which "
"means\n"
" that it could be any nick recognized as user <name> that was "
"seen.\n"
" <channel> is only necessary if the message isn't sent in the "
"channel\n"
" itself.\n"
" "
msgstr ""
"[<канал>] <имя>\n"
"\n"
"Возвращает время, когда в последний раз видели <имя> и его/её последнее "
"сообщение. Эта команда ищет <имя> в базе данных пользователей Seen, что "
"значит поиск будет производится среди всех ников, закреплённых за "
"пользователем с данным <именем>. Передавать в аргументы <канал> требуется "
"в случае, если команда запущена не на этом канале."
#: plugin.py:331
msgid ""
"[<channel>] [<nick>]\n"
"\n"
" Returns the messages since <nick> last left the channel.\n"
" If <nick> is not given, it defaults to the nickname of the person\n"
" calling the command.\n"
" "
msgstr ""
"[<канал>] [<ник>]\n"
"\n"
"Возвращает сообщения с тех пор как данный <ник> покинул канал. Если <ник> "
"не передан в аргументы, то используется ник пользователя, запустившего "
"команду."
#: plugin.py:363
msgid "I couldn't find in my history of %s messages where %r last left %s"
msgstr "Не могу найти в моей истории сообщений (%s), где %r покинул %s."
#: plugin.py:372
msgid "Either %s didn't leave, or no messages were sent while %s was gone."
msgstr ""
"Либо %s не покидал(а) канал, либо ни одного сообщения не было отправлено с "
"тех пор, как %s вышел/вышла."

176
plugins/Todo/locales/ru.po Normal file
View File

@ -0,0 +1,176 @@
# Todo plugin for Limnoria
# Copyright (C) 2024 Limnoria
# ssdaniel24 <bo7oaonteg2m__at__mailDOTru>, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2022-02-06 00:12+0100\n"
"PO-Revision-Date: 2024-06-12 15:01+0300\n"
"Last-Translator: ssdaniel24 <bo7oaonteg2m__at__mailDOTru>\n"
"Language-Team: \n"
"Language: ru\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-Generator: Poedit 3.4.2\n"
#: config.py:51
msgid ""
"Determines whether users can read the\n"
" todo-list of another user."
msgstr "Определяет, могут ли пользователи читать чужие списки дел."
#: plugin.py:123
msgid ""
"This plugin allows you to create your own personal to-do list on\n"
" the bot."
msgstr ""
"Этот плагин позволяет вам создавать ваши собственные списки дел в боте."
#: plugin.py:139
msgid ""
"[<username>] [<task id>]\n"
"\n"
" Retrieves a task for the given task id. If no task id is given, "
"it\n"
" will return a list of task ids that that user has added to their "
"todo\n"
" list.\n"
" "
msgstr ""
"[<имя пользователя>] [<id задачи>]\n"
"\n"
"Получает задачу по заданному id. Если id не передан в аргументы, то "
"возвращает список id задач, которые данный пользователь добавил в свой "
"список дел."
#: plugin.py:150
msgid "You are not allowed to see other users todo-list."
msgstr "Вам не разрешено видеть чужие списки дел."
#: plugin.py:157
msgid "#%i: %s"
msgstr "#%i: %s"
#: plugin.py:162
msgid "%s for %s: %L"
msgstr "%s для %s: %L"
#: plugin.py:166
msgid "That user has no tasks in their todo list."
msgstr "Этот пользователь не имеет задач в его/её списке дел."
#: plugin.py:168
msgid "You have no tasks in your todo list."
msgstr "У вас нет задач в вашем списке дел."
#: plugin.py:175
msgid "Active"
msgstr "Активная"
#: plugin.py:177
msgid "Inactive"
msgstr "Неактивная"
#: plugin.py:179
msgid ", priority: %i"
msgstr ", приоритет: %i"
#: plugin.py:182
msgid "%s todo for %s: %s (Added at %s)"
msgstr "%s задача для %s: %s (добавлено %s)"
#: plugin.py:186 plugin.py:270 plugin.py:284
msgid "task id"
msgstr "id задачи"
#: plugin.py:191
msgid ""
"[--priority=<num>] <text>\n"
"\n"
" Adds <text> as a task in your own personal todo list. The "
"optional\n"
" priority argument allows you to set a task as a high or low "
"priority.\n"
" Any integer is valid.\n"
" "
msgstr ""
"[--priority=<число>] <текст>\n"
"\n"
"Добавляет данный <текст> в ваш список дел. Необязательный аргумент с "
"приоритетом позволяет вам задавать высокий или низкий приоритет задачи. "
"Допустимо любое целое число."
#: plugin.py:202
msgid "(Todo #%i added)"
msgstr "(Задача #%i добавлена)"
#: plugin.py:208
msgid ""
"<task id> [<task id> ...]\n"
"\n"
" Removes <task id> from your personal todo list.\n"
" "
msgstr ""
"<id задачи> [<id задачи> ...]\n"
"\n"
"Удаляет задачу с данным <id> из вашего списка дела."
#: plugin.py:219
msgid ""
"Task %i could not be removed either because that id doesn't exist or it has "
"been removed already."
msgstr ""
"Задача %i не может быть удалена, так как либо задачи с таким id не "
"существует, либо она уже удалена."
#: plugin.py:223
msgid ""
"No tasks were removed because the following tasks could not be removed: %L."
msgstr ""
"Ни одна задача не была удалена, так как они не могут быть удалены: %L."
#: plugin.py:233
msgid ""
"[--{regexp} <value>] [<glob> <glob> ...]\n"
"\n"
" Searches your todos for tasks matching <glob>. If --regexp is "
"given,\n"
" its associated value is taken as a regexp and matched against the\n"
" tasks.\n"
" "
msgstr ""
"[-{regexp} <значение>] [<шаблон> <шаблон> ...]\n"
"\n"
"Производит поиск задач по вашим спискам дел, совпадающих с <шаблоном> "
"поиска. Если дан --regexp, то его <значение> принимается как регулярное "
"выражение и сопоставляется с задачами."
#: plugin.py:256
msgid "No tasks matched that query."
msgstr "Ни одна задача не совпадает с запросом."
#: plugin.py:262
msgid ""
"<id> <priority>\n"
"\n"
" Sets the priority of the todo with the given id to the specified "
"value.\n"
" "
msgstr ""
"<id> <приоритет>\n"
"\n"
"Выставляет приоритет задачи с данным <id> в данное значение."
#: plugin.py:276
msgid ""
"<task id> <regexp>\n"
"\n"
" Modify the task with the given id using the supplied regexp.\n"
" "
msgstr ""
"<id задачи> <regexp>\n"
"\n"
"Изменяет задачу с данным id, используя данное регулярное выражение."

View File

@ -50,7 +50,7 @@ MSGSTR = 'msgstr "'
FUZZY = '#, fuzzy'
currentLocale = 'en'
SUPPORTED_LANGUAGES = ['de', 'en', 'es', 'fi', 'fr', 'it']
SUPPORTED_LANGUAGES = ['de', 'en', 'es', 'fi', 'fr', 'it', 'ru']
class PluginNotFound(Exception):
pass